qtinternetradio/ui/src/irmainview.cpp
changeset 3 ee64f059b8e1
parent 0 09774dfdd46b
child 5 0930554dc389
equal deleted inserted replaced
2:2e1adbfc62af 3:ee64f059b8e1
    16 */
    16 */
    17 #include <hbaction.h>
    17 #include <hbaction.h>
    18 #include <hblistview.h>
    18 #include <hblistview.h>
    19 
    19 
    20 #include "irapplication.h"
    20 #include "irapplication.h"
    21 #include "irabstractviewmanager.h"
    21 #include "irviewmanager.h"
    22 #include "irmainview.h"
    22 #include "irmainview.h"
    23 #include "ircategoryview.h"
    23 #include "ircategoryview.h"
    24 #include "irstationsview.h"
    24 #include "irstationsview.h"
    25 #include "irqnetworkcontroller.h"
    25 #include "irqnetworkcontroller.h"
    26 #include "irmainmodel.h"
    26 #include "irmainmodel.h"
    27 #include "irqenums.h"
    27 #include "irqenums.h"
       
    28 #include "iruidefines.h"
    28 
    29 
    29 //                                          public functions
    30 //                                          public functions
    30 
    31 
    31 /*
    32 /*
    32  * Description : constructor
    33  * Description : constructor
    34 IRMainView::IRMainView(IRApplication* aApplication, TIRViewId aViewId) : 
    35 IRMainView::IRMainView(IRApplication* aApplication, TIRViewId aViewId) : 
    35                                                       IrAbstractListViewBase(aApplication, aViewId),
    36                                                       IrAbstractListViewBase(aApplication, aViewId),
    36                                                       iMainModel(NULL)
    37                                                       iMainModel(NULL)
    37 {
    38 {
    38     setFlag(EViewFlag_ClearStackWhenActivate);
    39     setFlag(EViewFlag_ClearStackWhenActivate);
    39     
    40 	iLoader.load(ABSTRACT_LIST_VIEW_BASE_LAYOUT_FILENAME, ABSTRACT_LIST_VIEW_BASE_WITH_TOOLBAR_SECTION);
    40 	connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
       
    41 	        this, SLOT(networkRequestNotified(IRQNetworkEvent)));
       
    42 	setHeadingText(tr("Collections"));
       
    43 	
    41 	
    44 	iMainModel = new IRMainModel(this);
    42 	//if this view is not starting view, finish all initialization in constructor
    45 	iListView->setModel(iMainModel);
    43 	if (getViewManager()->views().count() > 0)
       
    44 	{
       
    45 	    lazyInit();
       
    46 	}
    46 }
    47 }
    47 
    48 
    48 /*
    49 /*
    49  * Description : destructor
    50  * Description : destructor
    50  */
    51  */
    51 IRMainView::~IRMainView()
    52 IRMainView::~IRMainView()
    52 {
    53 {
    53 }
       
    54 
       
    55 /*
       
    56  * Description : virtual function from base class IRBaseView.
       
    57  *               handle view commands.
       
    58  * Parameters  : aCommand : see the definition of TIRViewCommand
       
    59  * Return      : EIR_DoDefault : caller does default handling
       
    60  *               EIR_NoDefault : caller doesn't do default handling
       
    61  */
       
    62 TIRHandleResult IRMainView::handleCommand(TIRViewCommand aCommand, TIRViewCommandReason aReason)
       
    63 {
       
    64     TIRHandleResult ret = IrAbstractListViewBase::handleCommand(aCommand, aReason);
       
    65     switch (aCommand)
       
    66     {
       
    67     case EIR_ViewCommand_ACTIVATED:
       
    68         updateView();
       
    69         ret = EIR_NoDefault;
       
    70         break;
       
    71         
       
    72     default:
       
    73         break;
       
    74     }
       
    75     
       
    76     return ret;
       
    77 }
    54 }
    78 
    55 
    79 //                                       slots functions
    56 //                                       slots functions
    80 
    57 
    81 /*
    58 /*
   193 void IRMainView::updateView()
   170 void IRMainView::updateView()
   194 {
   171 {
   195     IrAbstractListViewBase::updateView();
   172     IrAbstractListViewBase::updateView();
   196     iMainModel->checkUpdate();
   173     iMainModel->checkUpdate();
   197 }
   174 }
       
   175 
       
   176 void IRMainView::lazyInit()
       
   177 {
       
   178     if (!initCompleted())
       
   179     {
       
   180         IrAbstractListViewBase::lazyInit();
       
   181         
       
   182         setCheckedAction();
       
   183         
       
   184         connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
       
   185                 this, SLOT(networkRequestNotified(IRQNetworkEvent)));
       
   186         
       
   187         iMainModel = new IRMainModel(iApplication->getPlayList(), this);
       
   188         iMainModel->checkUpdate();
       
   189         iListView->setModel(iMainModel);
       
   190         
       
   191         setInitCompleted(true);
       
   192     }
       
   193 }