qtinternetradio/ui/src/irabstractlistviewbase.cpp
changeset 14 896e9dbc5f19
parent 12 608f67c22514
child 15 065198191975
equal deleted inserted replaced
12:608f67c22514 14:896e9dbc5f19
    24 #include <HbGroupBox>
    24 #include <HbGroupBox>
    25 #include <HbMarqueeItem>
    25 #include <HbMarqueeItem>
    26 #include <HbLabel>
    26 #include <HbLabel>
    27 #include <hbframedrawer.h>
    27 #include <hbframedrawer.h>
    28 #include <hbframeitem.h>
    28 #include <hbframeitem.h>
       
    29 #include <HbColorScheme>
    29 
    30 
    30 #include "irviewmanager.h"
    31 #include "irviewmanager.h"
    31 #include "irabstractlistviewbase.h"
    32 #include "irabstractlistviewbase.h"
    32 #include "irplaycontroller.h"
    33 #include "irplaycontroller.h"
    33 #include "irapplication.h"
    34 #include "irapplication.h"
    34 #include "irqmetadata.h"
    35 #include "irqmetadata.h"
    35 #include "irqisdsdatastructure.h"
    36 #include "irqisdsdatastructure.h"
    36 #include "irqisdsclient.h"
    37 #include "irqisdsclient.h"
    37 #include "irqenums.h"
    38 #include "irqenums.h"
    38 #include "iruidefines.h"
    39 #include "iruidefines.h"
       
    40 #include "irplayingbanner.h"
    39  
    41  
    40 const int KAnimationLoopTimes = 2; // Animation loop times
    42 const int KAnimationLoopTimes = 2; // Animation loop times
    41 #define NOW_PLAYING_BANNER_FRAME "qtg_fr_multimedia_trans"
    43 #define NOW_PLAYING_BANNER_FRAME "qtg_fr_multimedia_trans"
    42 
    44 
    43 IrAbstractListViewBase::IrAbstractListViewBase(IRApplication *aApplication, TIRViewId aViewId)
    45 IrAbstractListViewBase::IrAbstractListViewBase(IRApplication *aApplication, TIRViewId aViewId)
    44     : IRBaseView(aApplication, aViewId),
    46     : IRBaseView(aApplication, aViewId),
    45 	  iListView(NULL),
    47       iListView(NULL),
    46       iPlayingBanner(NULL),
       
    47       iStationName(NULL),
    48       iStationName(NULL),
    48       iArtistSongName(NULL),
    49       iArtistSongName(NULL),
    49       iHeadingLabel(NULL),
    50       iHeadingLabel(NULL),
    50       iCollectionsAction(NULL), iFavoritesAction(NULL),
    51       iCollectionsAction(NULL), iFavoritesAction(NULL),
    51       iGenresAction(NULL), iSearchAction(NULL),iConvertTimer(NULL),
    52       iGenresAction(NULL), iSearchAction(NULL),iConvertTimer(NULL),
    62     
    63     
    63     // Load the XML file
    64     // Load the XML file
    64     iLoader.load(ABSTRACT_LIST_VIEW_BASE_LAYOUT_FILENAME);
    65     iLoader.load(ABSTRACT_LIST_VIEW_BASE_LAYOUT_FILENAME);
    65         
    66         
    66     iLoader.load(ABSTRACT_LIST_VIEW_BASE_LAYOUT_FILENAME, ABSTRACT_LIST_VIEW_BASE_NO_PLAYINGBANNER_SECTION);
    67     iLoader.load(ABSTRACT_LIST_VIEW_BASE_LAYOUT_FILENAME, ABSTRACT_LIST_VIEW_BASE_NO_PLAYINGBANNER_SECTION);
       
    68     
       
    69 #ifdef SUBTITLE_STR_BY_LOCID
       
    70     setTitle(hbTrId("txt_irad_title_internet_radio"));
       
    71          
       
    72 #else
       
    73     setTitle("Internet radio");      
       
    74 #endif
       
    75    
    67 }
    76 }
    68 
    77 
    69 IrAbstractListViewBase::~IrAbstractListViewBase()
    78 IrAbstractListViewBase::~IrAbstractListViewBase()
    70 {
    79 {
    71 }
    80 }
   110     iHeadingLabel = qobject_cast<HbGroupBox *>(iLoader.findWidget(ABSTRACT_LIST_VIEW_BASE_OBJECT_HEADINGTEXTLABEL));
   119     iHeadingLabel = qobject_cast<HbGroupBox *>(iLoader.findWidget(ABSTRACT_LIST_VIEW_BASE_OBJECT_HEADINGTEXTLABEL));
   111     QFont font;
   120     QFont font;
   112     font.setBold(true);
   121     font.setBold(true);
   113     iHeadingLabel->setFont(font);
   122     iHeadingLabel->setFont(font);
   114     
   123     
   115     iPlayingBanner = qobject_cast<HbWidget *>(iLoader.findWidget(ABSTRACT_LIST_VIEW_BASE_OBJECT_PLAYINGBANNER)); 
   124     IRPlayingBanner *playingBanner = qobject_cast<IRPlayingBanner *>(iLoader.findWidget(ABSTRACT_LIST_VIEW_BASE_OBJECT_PLAYINGBANNER)); 
   116     iPlayingBanner->installEventFilter(iApplication);
       
   117     iStationName = qobject_cast<HbLabel *>(iLoader.findWidget(ABSTRACT_LIST_VIEW_BASE_OBJECT_STATIONNAME));
   125     iStationName = qobject_cast<HbLabel *>(iLoader.findWidget(ABSTRACT_LIST_VIEW_BASE_OBJECT_STATIONNAME));
   118     iStationName->setFont(font);
   126     iStationName->setFont(font);
   119     iArtistSongName = qobject_cast<HbMarqueeItem *>(iLoader.findWidget(ABSTRACT_LIST_VIEW_BASE_OBJECT_ARTISTSONGNAME));
   127     iArtistSongName = qobject_cast<HbMarqueeItem *>(iLoader.findWidget(ABSTRACT_LIST_VIEW_BASE_OBJECT_ARTISTSONGNAME));
   120     iArtistSongName->setLoopCount(KAnimationLoopTimes);
   128     iArtistSongName->setLoopCount(KAnimationLoopTimes);
       
   129     QColor color = HbColorScheme::color(KNowPlayingBannerColorNormal);
       
   130     iStationName->setTextColor(color);
       
   131     iArtistSongName->setTextColor(color);
       
   132 
       
   133     connect(playingBanner, SIGNAL(playingBannerTapFinished()), this, SLOT(playingBannerTapFinished()));
   121 
   134 
   122     iListView = qobject_cast<HbListView *>(iLoader.findObject(ABSTRACT_LIST_VIEW_BASE_OBJECT_LISTVIEW));
   135     iListView = qobject_cast<HbListView *>(iLoader.findObject(ABSTRACT_LIST_VIEW_BASE_OBJECT_LISTVIEW));
   123     iListView->listItemPrototype()->setGraphicsSize(HbListViewItem::LargeIcon);
   136     iListView->listItemPrototype()->setGraphicsSize(HbListViewItem::LargeIcon);
   124     
   137     
   125     // draw background for now playing banner
   138     // draw background for now playing banner
   126     HbFrameDrawer* drawer = new HbFrameDrawer(NOW_PLAYING_BANNER_FRAME, HbFrameDrawer::NinePieces);
   139     HbFrameDrawer* drawer = new HbFrameDrawer(NOW_PLAYING_BANNER_FRAME, HbFrameDrawer::NinePieces);
   127     HbFrameItem* backgroundItem = new HbFrameItem(drawer, iPlayingBanner);
   140     HbFrameItem* backgroundItem = new HbFrameItem(drawer, playingBanner);
   128     if (backgroundItem)
   141     if (backgroundItem)
   129     {
   142     {
   130         // set item to fill the whole widget
   143         // set item to fill the whole widget
   131         backgroundItem->setGeometry(QRectF(QPointF(0, 0), iPlayingBanner->size()));
   144         backgroundItem->setGeometry(QRectF(QPointF(0, 0), playingBanner->size()));
   132         backgroundItem->setZValue(0);
   145         backgroundItem->setZValue(0);
   133         iPlayingBanner->setBackgroundItem(backgroundItem);
   146         playingBanner->setBackgroundItem(backgroundItem);
   134     }
   147     }
   135 }
   148 }
   136 
   149 
   137 void IrAbstractListViewBase::initScrollBar()
   150 void IrAbstractListViewBase::initScrollBar()
   138 {
   151 {
   149 }
   162 }
   150 
   163 
   151 TIRViewParameter IrAbstractListViewBase::getViewParameter() const
   164 TIRViewParameter IrAbstractListViewBase::getViewParameter() const
   152 {
   165 {
   153     return iViewParameter;
   166     return iViewParameter;
   154 }
       
   155 
       
   156 void IrAbstractListViewBase::setPlayingBannerTextColor(const QString &aColor)
       
   157 {
       
   158     QColor color(aColor);
       
   159     iStationName->setTextColor(color);
       
   160     iArtistSongName->setTextColor(color);
       
   161 }
   167 }
   162 
   168 
   163 void IrAbstractListViewBase::setCheckedAction()
   169 void IrAbstractListViewBase::setCheckedAction()
   164 {       
   170 {       
   165     //default implementation
   171     //default implementation
   372 {    
   378 {    
   373     Q_UNUSED(aItem);
   379     Q_UNUSED(aItem);
   374     Q_UNUSED(aCoords);
   380     Q_UNUSED(aCoords);
   375 }
   381 }
   376 
   382 
       
   383 void IrAbstractListViewBase::playingBannerTapFinished()
       
   384 {
       
   385     getViewManager()->activateView(EIRView_PlayingView);
       
   386 }
       
   387 
   377 void IrAbstractListViewBase::clickItem(const QModelIndex &aIndex)
   388 void IrAbstractListViewBase::clickItem(const QModelIndex &aIndex)
   378 {   
   389 {   
   379     Q_UNUSED(aIndex);
   390     Q_UNUSED(aIndex);
   380     bool needNetwork;
   391     bool needNetwork;
   381     itemAboutToBeSelected(needNetwork);     
   392     itemAboutToBeSelected(needNetwork);