17 |
17 |
18 #ifndef MPCOLLECTIONPOPUPHANDLER_H |
18 #ifndef MPCOLLECTIONPOPUPHANDLER_H |
19 #define MPCOLLECTIONPOPUPHANDLER_H |
19 #define MPCOLLECTIONPOPUPHANDLER_H |
20 |
20 |
21 #include <QObject> |
21 #include <QObject> |
|
22 #include "mpmpxcollectionviewdefs.h" |
22 |
23 |
23 class MpCollectionView; |
24 class MpCollectionView; |
24 class HbPopup; |
25 class HbPopup; |
25 class HbAction; |
26 class HbAction; |
26 class MpEngine; |
27 class MpEngine; |
27 class QAbstractItemModel; |
28 class QAbstractItemModel; |
28 class MpMpxCollectionData; |
29 class MpMpxCollectionData; |
29 class QPointF; |
30 class QPointF; |
|
31 class MpPopupHandlerPermanentData; |
30 |
32 |
31 class MpCollectionPopupHandler : public QObject |
33 class MpCollectionPopupHandler : public QObject |
32 { |
34 { |
33 Q_OBJECT |
35 Q_OBJECT |
34 |
36 |
44 void openAddSongsToPlaylistFromTBone(); |
46 void openAddSongsToPlaylistFromTBone(); |
45 void openDeleteSongs( QAbstractItemModel* model ); |
47 void openDeleteSongs( QAbstractItemModel* model ); |
46 void openAddToCurrentPlaylist( MpMpxCollectionData* collectionData ); |
48 void openAddToCurrentPlaylist( MpMpxCollectionData* collectionData ); |
47 void openCreateNewPlaylist( MpMpxCollectionData* collectionData ); |
49 void openCreateNewPlaylist( MpMpxCollectionData* collectionData ); |
48 void openArrangeSongs(); |
50 void openArrangeSongs(); |
49 void cancelOngoingPopup(); |
51 void cancelOngoingPopup( bool onlyContextMenu ); |
50 |
|
51 bool showingPopup(); |
|
52 |
52 |
53 public slots: |
53 public slots: |
54 //Context Menus |
54 //Context Menus |
55 void defaultContextMenuOptionSelected( HbAction *selectedAction ); |
55 void defaultContextMenuOptionSelected( HbAction *selectedAction ); |
56 void fetcherContextMenuOptionSelected( HbAction *selectedAction ); |
56 void fetcherContextMenuOptionSelected( HbAction *selectedAction ); |
66 void handleCreateNewPlaylistGetTextFinished( HbAction *selectedAction ); |
66 void handleCreateNewPlaylistGetTextFinished( HbAction *selectedAction ); |
67 void handleCreateNewPlaylistGetModelIndexesFinished( HbAction *selectedAction ); |
67 void handleCreateNewPlaylistGetModelIndexesFinished( HbAction *selectedAction ); |
68 void handleArrangeSongs( HbAction *selectedAction ); |
68 void handleArrangeSongs( HbAction *selectedAction ); |
69 void handleRequestDelete( HbAction *selectedAction ); |
69 void handleRequestDelete( HbAction *selectedAction ); |
70 |
70 |
|
71 //External Events |
|
72 void handleDeleteStarted( TCollectionContext context, int count ); |
|
73 void handleAddingSongs( int count ); |
|
74 void handleOperationEnded( bool success ); |
|
75 |
71 void outstandingPopupClosing(); |
76 void outstandingPopupClosing(); |
72 |
77 |
73 private: |
78 private: |
74 void setOutstandingPopup( HbPopup *popup ); |
79 void setOutstandingPopup( HbPopup *popup ); |
75 void clearOutstandingPopup( HbPopup *popup ); |
80 void clearOutstandingPopup( HbPopup *popup ); |
77 void queryNewPlaylistName(const QStringList &playlists, const char *handler ); |
82 void queryNewPlaylistName(const QStringList &playlists, const char *handler ); |
78 void getText(const QString &label, const QString &text, const char *handler ); |
83 void getText(const QString &label, const QString &text, const char *handler ); |
79 void getModelIndexes( const QString &label, QAbstractItemModel* model, const char *handler ); |
84 void getModelIndexes( const QString &label, QAbstractItemModel* model, const char *handler ); |
80 void launchArrangeSongsDialog(); |
85 void launchArrangeSongsDialog(); |
81 void requestDelete( QList<int> &selection ); |
86 void requestDelete( QList<int> &selection ); |
|
87 void launchProgressDialog( const char *id ); |
|
88 void connectExternalEvents(); |
82 |
89 |
83 private: |
90 private: |
84 MpCollectionView *mView; // Not own |
91 MpCollectionView *mView; // Not own |
85 HbPopup *mOutstandingPopup; // Own |
92 HbPopup *mOutstandingPopup; // Own |
86 MpEngine *mMpEngine; // Not own |
93 MpEngine *mMpEngine; // Not own |
87 |
|
88 class MpPopupHandlerPermanentData : public QObject |
|
89 { |
|
90 public: |
|
91 MpPopupHandlerPermanentData( QObject *parent=0 ); |
|
92 virtual ~MpPopupHandlerPermanentData(); |
|
93 void clear(); |
|
94 public: |
|
95 MpMpxCollectionData *mIsolatedCollectionData; // Not own |
|
96 QAbstractItemModel *mAbstractItemModel; // Own |
|
97 QList<int> mSelectedItems; |
|
98 QString mOriginalName; |
|
99 int mContextMenuIndex; |
|
100 }; |
|
101 |
|
102 MpPopupHandlerPermanentData *mPermanentData; // Own |
94 MpPopupHandlerPermanentData *mPermanentData; // Own |
|
95 bool mExternalEventsConnected; |
103 }; |
96 }; |
104 |
97 |
105 #endif // MPCOLLECTIONPOPUPHANDLER_H |
98 #endif // MPCOLLECTIONPOPUPHANDLER_H |
106 |
99 |