on xenial help sign in
Added tracks model to music preview.
2be4be1Pawel Stolowski
plugins/Unity/applicationpreview.cpp+38−6
@@ -20,6 +20,8 @@
20// local
20// local
21#include "applicationpreview.h"
21#include "applicationpreview.h"
22
22
23+#include <QDebug>
24+
23ApplicationPreview::ApplicationPreview(QObject *parent):
25ApplicationPreview::ApplicationPreview(QObject *parent):
24 Preview(parent)
26 Preview(parent)
25{
27{
@@ -27,32 +29,62 @@ ApplicationPreview::ApplicationPreview(QObject *parent):
27
29
28QString ApplicationPreview::lastUpdate() const
30QString ApplicationPreview::lastUpdate() const
29{
31{
32+ if (m_unityAppPreview) {
30− return QString::fromStdString(m_unityAppPreview->last_update());
33+ return QString::fromStdString(m_unityAppPreview->last_update());
34+ } else {
35+ qWarning() << "Preview not set";
36+ }
37+ return "";
31}
38}
32
39
33QString ApplicationPreview::copyright() const
40QString ApplicationPreview::copyright() const
34{
41{
42+ if (m_unityAppPreview) {
35− return QString::fromStdString(m_unityAppPreview->copyright());
43+ return QString::fromStdString(m_unityAppPreview->copyright());
44+ } else {
45+ qWarning() << "Preview not set";
46+ }
47+return "";
36}
48}
37
49
38QString ApplicationPreview::license() const
50QString ApplicationPreview::license() const
39{
51{
52+ if (m_unityAppPreview) {
40− return QString::fromStdString(m_unityAppPreview->license());
53+ return QString::fromStdString(m_unityAppPreview->license());
54+ } else {
55+ qWarning() << "Preview not set";
56+ }
57+ return "";
41}
58}
42
59
43QString ApplicationPreview::appIcon() const
60QString ApplicationPreview::appIcon() const
44{
61{
62+ if (m_unityAppPreview) {
45− return QString::fromUtf8(g_icon_to_string(m_unityAppPreview->app_icon()));
63+ return QString::fromUtf8(g_icon_to_string(m_unityAppPreview->app_icon()));
64+ } else {
65+ qWarning() << "Preview not set";
66+ }
67+ return "";
46}
68}
47
69
48float ApplicationPreview::rating() const
70float ApplicationPreview::rating() const
49{
71{
72+ if (m_unityAppPreview) {
50− return m_unityAppPreview->rating();
73+ return m_unityAppPreview->rating();
74+ } else {
75+ qWarning() << "Preview not set";
76+ }
77+ return 0.0f;
51}
78}
52
79
53unsigned int ApplicationPreview::numRatings() const
80unsigned int ApplicationPreview::numRatings() const
54{
81{
82+ if (m_unityAppPreview) {
55− return m_unityAppPreview->num_ratings();
83+ return m_unityAppPreview->num_ratings();
84+ } else {
85+ qWarning() << "Preview not set";
86+ }
87+ return 0;
56}
88}
57
89
58void ApplicationPreview::setUnityPreview(unity::dash::Preview::Ptr unityPreview)
90void ApplicationPreview::setUnityPreview(unity::dash::Preview::Ptr unityPreview)
plugins/Unity/musicpreview.cpp+11
@@ -18,13 +18,24 @@
18 */
18 */
19
19
20#include "musicpreview.h"
20#include "musicpreview.h"
21+#include <QDebug>
21
22
22MusicPreview::MusicPreview(QObject *parent):
23MusicPreview::MusicPreview(QObject *parent):
23 Preview(parent)
24 Preview(parent)
24{
25{
26+ m_tracks = new DeeListModel(this);
25}
27}
26
28
27void MusicPreview::setUnityPreview(unity::dash::Preview::Ptr unityPreview)
29void MusicPreview::setUnityPreview(unity::dash::Preview::Ptr unityPreview)
28{
30{
29 m_unityMusicPreview = std::dynamic_pointer_cast<unity::dash::MusicPreview>(unityPreview);
31 m_unityMusicPreview = std::dynamic_pointer_cast<unity::dash::MusicPreview>(unityPreview);
32+ m_tracks->setModel(m_unityMusicPreview->GetTracksModel()->model());
33+}
34+
35+DeeListModel* MusicPreview::tracks() const
36+{
37+ if (m_unityMusicPreview == nullptr) {
38+ qWarning() << "Preview not set";
39+ }
40+ return m_tracks;
30}
41}
plugins/Unity/musicpreview.h+12
@@ -30,18 +30,30 @@
30// libunity-core
30// libunity-core
31#include <UnityCore/MusicPreview.h>
31#include <UnityCore/MusicPreview.h>
32
32
33+
34+// dee-qt
35+#include "deelistmodel.h"
36+
33class MusicPreview: public Preview
37class MusicPreview: public Preview
34{
38{
35 Q_OBJECT
39 Q_OBJECT
36
40
41+ Q_PROPERTY(DeeListModel* tracks READ tracks NOTIFY tracksChanged)
42+
37public:
43public:
38 explicit MusicPreview(QObject *parent = 0);
44 explicit MusicPreview(QObject *parent = 0);
39
45
46+ DeeListModel* tracks() const;
47+
48+Q_SIGNALS:
49+ void tracksChanged();
50+
40protected:
51protected:
41 void setUnityPreview(unity::dash::Preview::Ptr unityPreview) override;
52 void setUnityPreview(unity::dash::Preview::Ptr unityPreview) override;
42
53
43private:
54private:
44 unity::dash::MusicPreview::Ptr m_unityMusicPreview;
55 unity::dash::MusicPreview::Ptr m_unityMusicPreview;
56+ DeeListModel *m_tracks;
45};
57};
46
58
47Q_DECLARE_METATYPE(MusicPreview *)
59Q_DECLARE_METATYPE(MusicPreview *)