34 class HbWidget; |
34 class HbWidget; |
35 class HbGroupBox; |
35 class HbGroupBox; |
36 class HbPushButton; |
36 class HbPushButton; |
37 class HbDocumentLoader; |
37 class HbDocumentLoader; |
38 class HbListWidget; |
38 class HbListWidget; |
|
39 class HbListWidgetItem; |
39 |
40 |
40 class QGraphicsLinearLayout; |
41 class QGraphicsLinearLayout; |
41 class HbProgressBar; |
42 class HbProgressBar; |
42 |
43 |
43 class MpEngine; |
44 class MpEngine; |
44 class MpSongData; |
45 class MpSongData; |
45 class MpQueryManager; |
46 class MpQueryManager; |
46 |
47 |
47 #ifdef SHARE_FUNC_ENABLED |
|
48 #include <qnetworkconfigmanager.h> |
|
49 QTM_USE_NAMESPACE |
|
50 class MpDetailsShareDialog; |
|
51 #endif |
|
52 |
|
53 //class declaration |
48 //class declaration |
54 /*! |
49 /*! |
55 Details view is the "flipside view" of Music Player. |
50 Details view is the "flipside view" of Music Player. |
56 In addition to displaying song details, details view |
51 In addition to displaying song details, details view |
57 also provides user the possibility to comment a |
52 also provides user the possibility to get |
58 track (by initiating sharedialog), and to get |
|
59 recommendations based on his playlist (by displaying |
53 recommendations based on his playlist (by displaying |
60 a list of favourites, fetched from OVI music server). |
54 a list of favourites, fetched from OVI music server). |
61 |
55 |
62 DetailsView's song information will not be updated |
56 DetailsView's song information will not be updated |
63 if the track changes while detailsview is active. |
57 if the track changes while detailsview is active. |
81 public slots: |
75 public slots: |
82 void back(); |
76 void back(); |
83 void albumArtChanged(); |
77 void albumArtChanged(); |
84 |
78 |
85 private slots: |
79 private slots: |
|
80 void queryInspireMe(bool storeUpdated = true); |
|
81 void queryLocalMusicStore(); |
86 void handlePlaybackInfoChanged(); |
82 void handlePlaybackInfoChanged(); |
87 void songDetailInfoChanged(); |
83 void songDetailInfoChanged(); |
88 |
84 |
|
85 void handleListItemSelected( HbListWidgetItem *item); |
89 void handleDetailsGroupBoxToggled( bool state ); |
86 void handleDetailsGroupBoxToggled( bool state ); |
90 void handleInspireMeGroupBoxToggled( bool state ); |
87 void handleInspireMeGroupBoxToggled( bool state ); |
91 void RenderInspireMeGroupBox(); |
88 void renderInspireMeMetadata(); |
92 void handleNetworkError(); |
89 void renderInspireMeAlbumArts(); |
93 void updateSharedData(const QString& url); |
90 void abortInspireMeProcess(); |
94 |
|
95 #ifdef SHARE_FUNC_ENABLED |
|
96 void share(); |
|
97 void closeShareDialog(); |
|
98 #endif |
|
99 |
91 |
100 private: |
92 private: |
101 bool canQueryRecommendations() const; |
93 void startInspireMe(); |
102 bool canQuerySharePlayerLink() const; |
94 bool isMetadata() const; |
103 void setupMenu(); |
95 void setupMenu(); |
104 void clearInspireMe(); |
96 void saveGroupBoxStates(); |
105 |
|
106 #ifdef SHARE_FUNC_ENABLED |
|
107 void createShareDialog(); |
|
108 void preloadShareDialog(); |
|
109 #endif |
|
110 |
97 |
111 private: |
98 private: |
112 MpEngine *mMpEngine; // Own |
99 MpEngine *mMpEngine; // Owned by the factory |
113 |
100 |
114 MpSongData *mSongData; |
101 MpSongData *mSongData; |
115 |
102 |
116 bool mActivated; |
103 bool mActivated; |
117 HbAction *mSoftKeyBack; |
104 HbAction *mSoftKeyBack; |
120 HbLabel *mAlbumText; //owned |
107 HbLabel *mAlbumText; //owned |
121 HbLabel *mArtistText; //owned |
108 HbLabel *mArtistText; //owned |
122 HbLabel *mAlbumArt; //owned |
109 HbLabel *mAlbumArt; //owned |
123 HbGroupBox *mSongDetailsGroupBox; //owned |
110 HbGroupBox *mSongDetailsGroupBox; //owned |
124 HbGroupBox *mInspireMeGroupBox; //owned |
111 HbGroupBox *mInspireMeGroupBox; //owned |
125 HbPushButton *mShareButton; //owned |
|
126 HbDocumentLoader *mDocumentLoader;//owned |
112 HbDocumentLoader *mDocumentLoader;//owned |
127 HbListWidget *mDetailList; // owned by mSongDetailsGroupBox |
113 HbListWidget *mDetailList; // owned by mSongDetailsGroupBox |
128 HbListWidget *mInspireList; // owned by mInspireMeGroupBox |
114 HbListWidget *mInspireList; // owned by mInspireMeGroupBox |
129 HbPushButton *mButton; |
115 HbPushButton *mButton; |
130 HbProgressBar *mInspireMeProgressBar; |
116 HbProgressBar *mInspireMeProgressBar; |
131 |
117 |
132 MpQueryManager* mMpQueryManager; // Own |
118 MpQueryManager* mMpQueryManager; // Own |
133 |
119 |
134 bool mInspireMeQueryOngoing; |
120 bool mInspireMeQueryOngoing; |
135 bool mInspireMeQueryRendered; |
121 bool mInspireMeQueryRendered; |
136 bool mInspireMeOpen; |
|
137 bool mSongDetailsGbOpen; |
|
138 |
122 |
139 #ifdef SHARE_FUNC_ENABLED |
|
140 MpDetailsShareDialog* mSharePopup; // Own |
|
141 #endif |
|
142 |
|
143 Q_DISABLE_COPY(MpDetailsView) |
123 Q_DISABLE_COPY(MpDetailsView) |
144 }; |
124 }; |
145 |
125 |
146 |
126 |
147 #endif //MPDETAILSVIEW_H |
127 #endif //MPDETAILSVIEW_H |