qtinternetradio/ui/src/irmainview.cpp
changeset 15 065198191975
parent 14 896e9dbc5f19
equal deleted inserted replaced
14:896e9dbc5f19 15:065198191975
    37                                                       iMainModel(NULL)
    37                                                       iMainModel(NULL)
    38 {
    38 {
    39     setFlag(EViewFlag_ClearStackWhenActivate|EViewFlag_StickyViewEnabled);
    39     setFlag(EViewFlag_ClearStackWhenActivate|EViewFlag_StickyViewEnabled);
    40 	iLoader.load(ABSTRACT_LIST_VIEW_BASE_LAYOUT_FILENAME, ABSTRACT_LIST_VIEW_BASE_WITH_TOOLBAR_SECTION);
    40 	iLoader.load(ABSTRACT_LIST_VIEW_BASE_LAYOUT_FILENAME, ABSTRACT_LIST_VIEW_BASE_WITH_TOOLBAR_SECTION);
    41 	
    41 	
    42 	//if this view is not starting view, finish all initialization in constructor
    42     setCheckedAction();
    43 	if (getViewManager()->views().count() > 0)
    43     
    44 	{
    44     connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
    45 	    normalInit();
    45             this, SLOT(networkRequestNotified(IRQNetworkEvent)));
    46 	}
    46     
       
    47     iMainModel = new IRMainModel(iApplication->getPlayList(), this);
       
    48     iMainModel->checkUpdate();
       
    49     iListView->setModel(iMainModel);
       
    50 
    47 }
    51 }
    48 
    52 
    49 /*
    53 /*
    50  * Description : destructor
    54  * Description : destructor
    51  */
    55  */
   172 }
   176 }
   173 
   177 
   174 //from base class IRBaseView
   178 //from base class IRBaseView
   175 TIRHandleResult IRMainView::handleCommand(TIRViewCommand aCommand, TIRViewCommandReason aReason)
   179 TIRHandleResult IRMainView::handleCommand(TIRViewCommand aCommand, TIRViewCommandReason aReason)
   176 {
   180 {
   177     if (!initCompleted())
       
   178     {
       
   179         return EIR_DoDefault;
       
   180     }
       
   181     
       
   182     Q_UNUSED(aReason);
   181     Q_UNUSED(aReason);
   183     TIRHandleResult ret = IrAbstractListViewBase::handleCommand(aCommand, aReason);
   182     TIRHandleResult ret = IrAbstractListViewBase::handleCommand(aCommand, aReason);
   184     
   183     
   185     switch (aCommand)
   184     switch (aCommand)
   186     {
   185     {
   193     }
   192     }
   194     
   193     
   195     return ret;
   194     return ret;
   196 }
   195 }
   197 
   196 
   198 void IRMainView::lazyInit()
       
   199 {
       
   200     if (!initCompleted())
       
   201     {
       
   202         normalInit();
       
   203         
       
   204         //initialization from handleCommand()
       
   205         handleCommand(EIR_ViewCommand_ACTIVATED, EIR_ViewCommandReason_Show);
       
   206         emit applicationReady();
       
   207     }
       
   208 }
       
   209 
       
   210 void IRMainView::normalInit()
       
   211 {
       
   212     if (!initCompleted())
       
   213     {
       
   214         IrAbstractListViewBase::lazyInit();
       
   215         
       
   216         setCheckedAction();
       
   217         
       
   218         connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
       
   219                 this, SLOT(networkRequestNotified(IRQNetworkEvent)));
       
   220         
       
   221         iMainModel = new IRMainModel(iApplication->getPlayList(), this);
       
   222         iMainModel->checkUpdate();
       
   223         iListView->setModel(iMainModel);
       
   224         
       
   225         setInitCompleted(true);
       
   226     }
       
   227 }