mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h
changeset 47 4cc1412daed0
parent 37 eb79a7c355bf
child 51 560ce2306a17
equal deleted inserted replaced
45:612c4815aebe 47:4cc1412daed0
    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