diff -r f683e24efca3 -r 608f67c22514 qtinternetradio/ui/src/irmainview.cpp --- a/qtinternetradio/ui/src/irmainview.cpp Wed Jun 23 18:04:00 2010 +0300 +++ b/qtinternetradio/ui/src/irmainview.cpp Tue Jul 06 14:07:20 2010 +0300 @@ -43,7 +43,7 @@ //if this view is not starting view, finish all initialization in constructor if (getViewManager()->views().count() > 0) { - lazyInit(); + normalInit(); } } @@ -172,10 +172,45 @@ iMainModel->checkUpdate(); } +//from base class IRBaseView +TIRHandleResult IRMainView::handleCommand(TIRViewCommand aCommand, TIRViewCommandReason aReason) +{ + if (!initCompleted()) + { + return EIR_DoDefault; + } + + Q_UNUSED(aReason); + TIRHandleResult ret = IrAbstractListViewBase::handleCommand(aCommand, aReason); + + switch (aCommand) + { + case EIR_ViewCommand_ACTIVATED: + getViewManager()->saveScreenShot(); + break; + + default: + break; + } + + return ret; +} + void IRMainView::lazyInit() { if (!initCompleted()) { + normalInit(); + + //initialization from handleCommand() + handleCommand(EIR_ViewCommand_ACTIVATED, EIR_ViewCommandReason_Show); + } +} + +void IRMainView::normalInit() +{ + if (!initCompleted()) + { IrAbstractListViewBase::lazyInit(); initToolBar(); setCheckedAction();