musicwidgetplugin/src/musicwidget.cpp
changeset 43 0f32e550d9d8
parent 36 a0afa279b8fe
child 45 612c4815aebe
equal deleted inserted replaced
38:b93f525c9244 43:0f32e550d9d8
    20 #include <QtGui>
    20 #include <QtGui>
    21 #include <hbpushbutton.h>
    21 #include <hbpushbutton.h>
    22 #include <hblabel.h>
    22 #include <hblabel.h>
    23 #include <hbicon.h>
    23 #include <hbicon.h>
    24 #include <hbmarqueeitem.h>
    24 #include <hbmarqueeitem.h>
    25 #include <hbdocumentloader.h>
       
    26 #include <hbanchorlayout.h>
    25 #include <hbanchorlayout.h>
    27 #include <hbwidget.h>
    26 #include <hbwidget.h>
    28 #include <hbframeitem.h>
    27 #include <hbframeitem.h>
    29 #include <hbframedrawer.h>
    28 #include <hbframedrawer.h>
    30 #include <hbstyleloader.h>
       
    31 #include <hbcolorscheme.h>
    29 #include <hbcolorscheme.h>
    32 
    30 
       
    31 #include "musicwidgetdocumentloader.h"
    33 #include "mptrace.h"
    32 #include "mptrace.h"
    34 #include "mpenginefactory.h"
    33 #include "mpenginefactory.h"
       
    34 #include "mpalbumcoverwidget.h"
    35 
    35 
    36 // Constants
    36 // Constants
    37 /** Docml */
    37 /** Docml */
    38 const QString MUSIC_WIDGET_DOCML = ":/gfx/music_widget.docml";
    38 const QString MUSIC_WIDGET_DOCML = ":/gfx/music_widget.docml";
    39 
    39 
    57 const QLatin1String ICON_PAUSE ("qtg_mono_pause");
    57 const QLatin1String ICON_PAUSE ("qtg_mono_pause");
    58 /**  Music Player shortcut icon */
    58 /**  Music Player shortcut icon */
    59 const QLatin1String ICON_LARGE_MUSIC_PLAYER ("qtg_large_music_player");
    59 const QLatin1String ICON_LARGE_MUSIC_PLAYER ("qtg_large_music_player");
    60 /**  Music Player shortcut icon */
    60 /**  Music Player shortcut icon */
    61 const QLatin1String ICON_FIRST_TIME_USE ("qtg_large_music_empty");
    61 const QLatin1String ICON_FIRST_TIME_USE ("qtg_large_music_empty");
       
    62 const QLatin1String ICON_DEFAULT_ART ("qtg_large_music_album");
    62 
    63 
    63 /**  HsWidget normal background */
    64 /**  HsWidget normal background */
    64 const QLatin1String WIDGET_BG_NORMAL ("qtg_fr_hswidget_normal");
    65 const QLatin1String WIDGET_BG_NORMAL ("qtg_fr_hswidget_normal");
    65 /**  Text background */
    66 /**  Text background */
    66 const QLatin1String TEXT_BG_NORMAL ("qtg_fr_multimedia_trans");
    67 const QLatin1String TEXT_BG_NORMAL ("qtg_fr_multimedia_trans");
   117     mPlayPushButton(0),    
   118     mPlayPushButton(0),    
   118     mNextPushButton(0),
   119     mNextPushButton(0),
   119     mMusicPlayerNoSongData(1),
   120     mMusicPlayerNoSongData(1),
   120     mMusicPlayerUpdating(0),
   121     mMusicPlayerUpdating(0),
   121     mMusicPlayerBlocked(0),
   122     mMusicPlayerBlocked(0),
   122     mAlbumArtLabel(0),
   123     mAlbumArt(0),
   123     mAlbumArtWidth(0),
       
   124     mAlbumArtHeight(0),
       
   125     mArtist(0),
   124     mArtist(0),
   126     mTitle(0),    
   125     mTitle(0),    
   127     mMpEngine(0),
   126     mMpEngine(0),
   128     mMpPlaybackData(0)
   127     mMpPlaybackData(0)
   129 {
   128 {
   203 void MusicWidget::setupUi()
   202 void MusicWidget::setupUi()
   204 {
   203 {
   205     TX_ENTRY
   204     TX_ENTRY
   206     
   205     
   207     // Use document loader to load the contents
   206     // Use document loader to load the contents
   208     HbDocumentLoader loader;
   207     MusicWidgetDocumentLoader loader;
   209     bool ok = false;
   208     bool ok = false;
   210     loader.load( MUSIC_WIDGET_DOCML, &ok);
   209     loader.load( MUSIC_WIDGET_DOCML, &ok);
   211     Q_ASSERT_X(ok, "music_widget", "invalid title docml file");
   210     Q_ASSERT_X(ok, "music_widget", "invalid title docml file");
   212 
   211 
   213     TX_LOG_ARGS("loaded docml")
   212     TX_LOG_ARGS("loaded docml")
   231         }
   230         }
   232 
   231 
   233     // Setup album art area
   232     // Setup album art area
   234     QGraphicsWidget *tmpWidgetPtr;
   233     QGraphicsWidget *tmpWidgetPtr;
   235     tmpWidgetPtr = loader.findWidget(DOCML_ALBUM_ART);
   234     tmpWidgetPtr = loader.findWidget(DOCML_ALBUM_ART);
   236     mAlbumArtLabel = qobject_cast<HbLabel*>(tmpWidgetPtr);
   235     mAlbumArt = qobject_cast<MpAlbumCoverWidget*>(tmpWidgetPtr);
   237     HbWidget *albumArtLayout = mAlbumArtLabel;
   236     mAlbumArt->setEnabled( false );
   238     albumArtLayout->setZValue(2);
   237     mAlbumArt->setDefaultIcon( HbIcon( ICON_DEFAULT_ART ) );
   239     
       
   240     // Store album art area size
       
   241     mAlbumArtWidth = albumArtLayout->preferredWidth();
       
   242     mAlbumArtHeight = albumArtLayout->preferredHeight();    
       
   243         
   238         
   244     // Load shortcut background
   239     // Load shortcut background
   245     HbWidget *shortcutAreaLayout = qobject_cast<HbWidget*> (loader.findWidget(DOCML_SHORTCUT_ICON_BG));
   240     HbWidget *shortcutAreaLayout = qobject_cast<HbWidget*> (loader.findWidget(DOCML_SHORTCUT_ICON_BG));
   246     HbFrameItem *shortcutFrameItem;
   241     HbFrameItem *shortcutFrameItem;
   247     if (shortcutAreaLayout) {
   242     if (shortcutAreaLayout) {
   678         {
   673         {
   679         TX_LOG_ARGS("playback data album art")
   674         TX_LOG_ARGS("playback data album art")
   680         mMpPlaybackData->albumArt( icon );
   675         mMpPlaybackData->albumArt( icon );
   681         }
   676         }
   682     
   677     
   683     // Resize here manually to avoid resizing when showing album art
   678     mAlbumArt->setIcon( icon );
   684     icon.setHeight(mAlbumArtHeight);
   679     mAlbumArt->setEnabled( true );
   685     icon.setWidth(mAlbumArtWidth);
       
   686     mAlbumArtLabel->setIcon( icon );
       
   687     
   680     
   688     TX_EXIT
   681     TX_EXIT
   689 }
   682 }
   690 
   683 
   691 void MusicWidget::playbackStateChanged()
   684 void MusicWidget::playbackStateChanged()