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 |
39 void openDefaultViewContextMenu( int index, const QPointF &coords ); |
41 void openDefaultViewContextMenu( int index, const QPointF &coords ); |
40 void openFetchViewContextMenu( int index, const QPointF &coords ); |
42 void openFetchViewContextMenu( int index, const QPointF &coords ); |
41 void openRenamePlaylistContainerDialog( const QString ¤tName ); |
43 void openRenamePlaylistContainerDialog( const QString ¤tName ); |
42 void openRenamePlaylistItemDialog( const QString ¤tName ); |
44 void openRenamePlaylistItemDialog( const QString ¤tName ); |
43 void openAddSongsToPlaylist( QAbstractItemModel* model ); |
45 void openAddSongsToPlaylist( QAbstractItemModel* model ); |
|
46 void openAddSongsToPlaylistFromTBone(); |
44 void openDeleteSongs( QAbstractItemModel* model ); |
47 void openDeleteSongs( QAbstractItemModel* model ); |
45 void openAddToCurrentPlaylist( MpMpxCollectionData* collectionData ); |
48 void openAddToCurrentPlaylist( MpMpxCollectionData* collectionData ); |
46 void openCreateNewPlaylist( MpMpxCollectionData* collectionData ); |
49 void openCreateNewPlaylist( MpMpxCollectionData* collectionData ); |
47 void openArrangeSongs( MpMpxCollectionData* collectionData ); |
50 void openArrangeSongs(); |
48 void cancelOngoingPopup(); |
51 void cancelOngoingPopup( bool onlyContextMenu ); |
49 |
|
50 bool showingPopup(); |
|
51 |
52 |
52 public slots: |
53 public slots: |
53 //Context Menus |
54 //Context Menus |
54 void defaultContextMenuOptionSelected( HbAction *selectedAction ); |
55 void defaultContextMenuOptionSelected( HbAction *selectedAction ); |
55 void fetcherContextMenuOptionSelected( HbAction *selectedAction ); |
56 void fetcherContextMenuOptionSelected( HbAction *selectedAction ); |
65 void handleCreateNewPlaylistGetTextFinished( HbAction *selectedAction ); |
66 void handleCreateNewPlaylistGetTextFinished( HbAction *selectedAction ); |
66 void handleCreateNewPlaylistGetModelIndexesFinished( HbAction *selectedAction ); |
67 void handleCreateNewPlaylistGetModelIndexesFinished( HbAction *selectedAction ); |
67 void handleArrangeSongs( HbAction *selectedAction ); |
68 void handleArrangeSongs( HbAction *selectedAction ); |
68 void handleRequestDelete( HbAction *selectedAction ); |
69 void handleRequestDelete( HbAction *selectedAction ); |
69 |
70 |
|
71 //External Events |
|
72 void handleDeleteStarted( TCollectionContext context, int count ); |
|
73 void handleAddingSongs( int count ); |
|
74 void handleOperationEnded( bool success ); |
|
75 |
70 void outstandingPopupClosing(); |
76 void outstandingPopupClosing(); |
71 |
77 |
72 private: |
78 private: |
73 void setOutstandingPopup( HbPopup *popup ); |
79 void setOutstandingPopup( HbPopup *popup ); |
74 void clearOutstandingPopup( HbPopup *popup ); |
80 void clearOutstandingPopup( HbPopup *popup ); |
75 void launchAddToPlaylistDialog( QList<int> &selection ); |
81 void launchAddToPlaylistDialog( QList<int> &selection ); |
76 void queryNewPlaylistName(const QStringList &playlists, const char *handler ); |
82 void queryNewPlaylistName(const QStringList &playlists, const char *handler ); |
77 void getText(const QString &label, const QString &text, const char *handler ); |
83 void getText(const QString &label, const QString &text, const char *handler ); |
78 void getModelIndexes( const QString &label, QAbstractItemModel* model, const char *handler ); |
84 void getModelIndexes( const QString &label, QAbstractItemModel* model, const char *handler ); |
79 void launchArrangeSongsDialog( MpMpxCollectionData* collectionData ); |
85 void launchArrangeSongsDialog(); |
80 void requestDelete( QList<int> &selection ); |
86 void requestDelete( QList<int> &selection ); |
|
87 void launchProgressDialog( const char *id ); |
|
88 void connectExternalEvents(); |
81 |
89 |
82 private: |
90 private: |
83 MpCollectionView *mView; // Not own |
91 MpCollectionView *mView; // Not own |
84 HbPopup *mOutstandingPopup; // Own |
92 HbPopup *mOutstandingPopup; // Own |
85 MpEngine *mMpEngine; // Not own |
93 MpEngine *mMpEngine; // Not own |
86 |
|
87 class MpPopupHandlerPermanentData : public QObject |
|
88 { |
|
89 public: |
|
90 MpPopupHandlerPermanentData( QObject *parent=0 ); |
|
91 virtual ~MpPopupHandlerPermanentData(); |
|
92 void clear(); |
|
93 public: |
|
94 MpMpxCollectionData *mIsolatedCollectionData; // Not own |
|
95 QAbstractItemModel *mAbstractItemModel; // Own |
|
96 QList<int> mSelectedItems; |
|
97 QString mOriginalName; |
|
98 int mContextMenuIndex; |
|
99 }; |
|
100 |
|
101 MpPopupHandlerPermanentData *mPermanentData; // Own |
94 MpPopupHandlerPermanentData *mPermanentData; // Own |
|
95 bool mExternalEventsConnected; |
102 }; |
96 }; |
103 |
97 |
104 #endif // MPCOLLECTIONPOPUPHANDLER_H |
98 #endif // MPCOLLECTIONPOPUPHANDLER_H |
105 |
99 |