mpviewplugins/mpcollectionviewplugin/inc/mpcollectionpopuphandler.h
changeset 37 eb79a7c355bf
parent 35 fdb31ab341af
child 55 f3930dda3342
equal deleted inserted replaced
36:a0afa279b8fe 37:eb79a7c355bf
    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