on xenial help sign in
Added tracks model to music preview.
commit2be4be1937fb09960ab75a1526527b4b3bd69206 authorPawel Stolowski <pawel.stolowski@canonical.com> dateTue 25 Jun 2013, 17:42 (13 years ago) parenta17fe53
3 files changed+61−6
plugins/Unity/applicationpreview.cpp+38−6 plugins/Unity/musicpreview.cpp+11 plugins/Unity/musicpreview.h+12
plugins/Unity/applicationpreview.cpp+38−6
@@ -20,6 +20,8 @@
2020// local
2121#include "applicationpreview.h"
2222
23+#include <QDebug>
24+
2325ApplicationPreview::ApplicationPreview(QObject *parent):
2426 Preview(parent)
2527{
@@ -27,32 +29,62 @@ ApplicationPreview::ApplicationPreview(QObject *parent):
2729
2830QString ApplicationPreview::lastUpdate() const
2931{
30− return QString::fromStdString(m_unityAppPreview->last_update());
32+ if (m_unityAppPreview) {
33+ return QString::fromStdString(m_unityAppPreview->last_update());
34+ } else {
35+ qWarning() << "Preview not set";
36+ }
37+ return "";
3138}
3239
3340QString ApplicationPreview::copyright() const
3441{
35− return QString::fromStdString(m_unityAppPreview->copyright());
42+ if (m_unityAppPreview) {
43+ return QString::fromStdString(m_unityAppPreview->copyright());
44+ } else {
45+ qWarning() << "Preview not set";
46+ }
47+return "";
3648}
3749
3850QString ApplicationPreview::license() const
3951{
40− return QString::fromStdString(m_unityAppPreview->license());
52+ if (m_unityAppPreview) {
53+ return QString::fromStdString(m_unityAppPreview->license());
54+ } else {
55+ qWarning() << "Preview not set";
56+ }
57+ return "";
4158}
4259
4360QString ApplicationPreview::appIcon() const
4461{
45− return QString::fromUtf8(g_icon_to_string(m_unityAppPreview->app_icon()));
62+ if (m_unityAppPreview) {
63+ return QString::fromUtf8(g_icon_to_string(m_unityAppPreview->app_icon()));
64+ } else {
65+ qWarning() << "Preview not set";
66+ }
67+ return "";
4668}
4769
4870float ApplicationPreview::rating() const
4971{
50− return m_unityAppPreview->rating();
72+ if (m_unityAppPreview) {
73+ return m_unityAppPreview->rating();
74+ } else {
75+ qWarning() << "Preview not set";
76+ }
77+ return 0.0f;
5178}
5279
5380unsigned int ApplicationPreview::numRatings() const
5481{
55− return m_unityAppPreview->num_ratings();
82+ if (m_unityAppPreview) {
83+ return m_unityAppPreview->num_ratings();
84+ } else {
85+ qWarning() << "Preview not set";
86+ }
87+ return 0;
5688}
5789
5890void ApplicationPreview::setUnityPreview(unity::dash::Preview::Ptr unityPreview)
plugins/Unity/musicpreview.cpp+11
@@ -18,13 +18,24 @@
1818 */
1919
2020#include "musicpreview.h"
21+#include <QDebug>
2122
2223MusicPreview::MusicPreview(QObject *parent):
2324 Preview(parent)
2425{
26+ m_tracks = new DeeListModel(this);
2527}
2628
2729void MusicPreview::setUnityPreview(unity::dash::Preview::Ptr unityPreview)
2830{
2931 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;
3041}
plugins/Unity/musicpreview.h+12
@@ -30,18 +30,30 @@
3030// libunity-core
3131#include <UnityCore/MusicPreview.h>
3232
33+
34+// dee-qt
35+#include "deelistmodel.h"
36+
3337class MusicPreview: public Preview
3438{
3539 Q_OBJECT
3640
41+ Q_PROPERTY(DeeListModel* tracks READ tracks NOTIFY tracksChanged)
42+
3743public:
3844 explicit MusicPreview(QObject *parent = 0);
3945
46+ DeeListModel* tracks() const;
47+
48+Q_SIGNALS:
49+ void tracksChanged();
50+
4051protected:
4152 void setUnityPreview(unity::dash::Preview::Ptr unityPreview) override;
4253
4354private:
4455 unity::dash::MusicPreview::Ptr m_unityMusicPreview;
56+ DeeListModel *m_tracks;
4557};
4658
4759Q_DECLARE_METATYPE(MusicPreview *)