mpviewplugins/mpcollectionviewplugin/inc/mpcollectionpopuphandler.h
branchGCC_SURGE
changeset 44 eff9df3d9c98
parent 41 ea59c434026a
child 55 f3930dda3342
equal deleted inserted replaced
30:b95ddb5a0d10 44:eff9df3d9c98
    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 &currentName );
    43     void openRenamePlaylistContainerDialog( const QString &currentName );
    42     void openRenamePlaylistItemDialog( const QString &currentName );
    44     void openRenamePlaylistItemDialog( const QString &currentName );
    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