homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsapplibrarystate.cpp
changeset 90 3ac3aaebaee5
parent 86 e4f038c420f7
child 97 66b5fe3c07fd
equal deleted inserted replaced
86:e4f038c420f7 90:3ac3aaebaee5
   112  */
   112  */
   113 void HsAppLibraryState::construct()
   113 void HsAppLibraryState::construct()
   114 {
   114 {
   115     HSMENUTEST_FUNC_ENTRY("HsAppLibraryState::construct");
   115     HSMENUTEST_FUNC_ENTRY("HsAppLibraryState::construct");
   116     setObjectName("homescreen.nokia.com/state/applibrarystate");
   116     setObjectName("homescreen.nokia.com/state/applibrarystate");
   117 
   117     
   118     mAllAppsState = new HsAllAppsState(mMenuViewBuilder, mMenuMode, mMainWindow, this);
   118     mAllAppsState = new HsAllAppsState(
   119 
   119         mMenuViewBuilder, mMenuMode, mMainWindow, this);
   120     mAllCollectionsState = new HsAllCollectionsState(mMenuViewBuilder, mMenuMode,
   120 
   121             mMainWindow, this);
   121     mAllCollectionsState = new HsAllCollectionsState(mMenuViewBuilder,
       
   122         mMenuMode, mMainWindow, this);
   122 
   123 
   123     QState *initialState = new QState(this);
   124     QState *initialState = new QState(this);
   124     setInitialState(initialState);
   125     setInitialState(initialState);
   125 
   126 
   126     mHistoryTransaction =  new HsMenuModeTransition(
   127     mHistoryTransaction =  new HsMenuModeTransition(
   127         mMenuMode, Hs::NormalHsMenuMode, mAllAppsState);
   128         mMenuMode, Hs::NormalHsMenuMode, mAllAppsState);
   128 
   129 
   129     initialState->addTransition(mHistoryTransaction);
   130     initialState->addTransition(mHistoryTransaction);
   130     initialState->addTransition(new HsMenuModeTransition(
   131     initialState->addTransition(
   131                                     mMenuMode, Hs::AddHsMenuMode, mAllAppsState));
   132         new HsMenuModeTransition(
       
   133         mMenuMode, Hs::AddHsMenuMode, mAllAppsState));
   132 
   134 
   133     mCollectionState = new HsCollectionState(mMenuViewBuilder,
   135     mCollectionState = new HsCollectionState(mMenuViewBuilder,
   134             mMenuMode,
   136         mMenuMode, mMainWindow, this);
   135             mMainWindow,
       
   136             this);
       
   137 
   137 
   138     connect(mCollectionState, SIGNAL(entered()),SLOT(clearToolbarLatch()));
   138     connect(mCollectionState, SIGNAL(entered()),SLOT(clearToolbarLatch()));
   139 
   139 
   140     HsMenuEventTransition *openCollectionFromAppLibTransition =
   140     HsMenuEventTransition *openCollectionFromAppLibTransition =
   141         new HsMenuEventTransition(HsMenuEvent::OpenCollectionFromAppLibrary,
   141         new HsMenuEventTransition(HsMenuEvent::OpenCollectionFromAppLibrary,
   142                                   this, mCollectionState);
   142                                   this, mCollectionState);
   143     this->addTransition(openCollectionFromAppLibTransition);
   143     this->addTransition(openCollectionFromAppLibTransition);
   144 
   144 
   145     //It is called from: HsDefaultRuntime::activityRequested(const QString &name)
   145     // It is called from:
       
   146     // HsDefaultRuntime::activityRequested(const QString &name)
   146     HsMenuEventTransition *openCollectionAfterActivityRequest =
   147     HsMenuEventTransition *openCollectionAfterActivityRequest =
   147             new HsMenuEventTransition(HsMenuEvent::OpenCollection,
   148             new HsMenuEventTransition(HsMenuEvent::OpenCollection,
   148                                       this, mCollectionState);
   149                                       this, mCollectionState);
   149     this->addTransition(openCollectionAfterActivityRequest);
   150     this->addTransition(openCollectionAfterActivityRequest);
   150 
   151 
   154     mCollectionState->addTransition(collectionDeletedTransition);
   155     mCollectionState->addTransition(collectionDeletedTransition);
   155 
   156 
   156     //transition for returning from collection
   157     //transition for returning from collection
   157     HsMenuEventTransition *collectionToAppLibTransition =
   158     HsMenuEventTransition *collectionToAppLibTransition =
   158         new HsMenuEventTransition(HsMenuEvent::OpenApplicationLibrary,
   159         new HsMenuEventTransition(HsMenuEvent::OpenApplicationLibrary,
   159                                   mCollectionState, mAllCollectionsState);
   160             mCollectionState, mAllCollectionsState);
   160     mCollectionState->addTransition(collectionToAppLibTransition);
   161     mCollectionState->addTransition(collectionToAppLibTransition);
   161 
   162 
   162     mInstalledAppsState = new HsInstalledAppsState(
   163     mInstalledAppsState = new HsInstalledAppsState(
   163         mMenuViewBuilder, mMainWindow, this);
   164         mMenuViewBuilder, mMainWindow, this);
   164 
   165 
   165     HsMenuEventTransition *installedToAppLibTransition =
       
   166         new HsMenuEventTransition(HsMenuEvent::OpenApplicationLibrary,
       
   167                                   mInstalledAppsState, mAllAppsState);
       
   168     mInstalledAppsState->addTransition(installedToAppLibTransition);
       
   169 
       
   170     HsMenuEventTransition *allViewToInstalledTransition =
   166     HsMenuEventTransition *allViewToInstalledTransition =
   171         new HsMenuEventTransition(HsMenuEvent::OpenInstalledView,
   167         new HsMenuEventTransition(HsMenuEvent::OpenInstalledView,
   172                                   mAllAppsState, mInstalledAppsState);
   168             mAllAppsState, mInstalledAppsState);
   173     mAllAppsState->addTransition(allViewToInstalledTransition);
   169     mAllAppsState->addTransition(allViewToInstalledTransition);
       
   170     
       
   171     HsMenuEventTransition *allCollectionsToInstalledTransition =
       
   172         new HsMenuEventTransition(HsMenuEvent::OpenInstalledView,
       
   173             mAllCollectionsState, mInstalledAppsState);
       
   174     mAllCollectionsState->addTransition(allCollectionsToInstalledTransition);
       
   175 
       
   176     HsMenuEventTransition *collectionToInstalledTransition =
       
   177         new HsMenuEventTransition(HsMenuEvent::OpenInstalledView,
       
   178             mCollectionState, mInstalledAppsState);
       
   179     mCollectionState->addTransition(collectionToInstalledTransition);
   174 
   180 
   175     constructToolbar();
   181     constructToolbar();
   176 
   182 
   177     connect(mAllAppsState, SIGNAL(entered()),
   183     connect(mAllAppsState, SIGNAL(entered()),
   178             this, SLOT(allAppsStateEntered()));
   184             this, SLOT(allAppsStateEntered()));
   182     connect(mAllCollectionsState, SIGNAL(toAppLibraryState()),
   188     connect(mAllCollectionsState, SIGNAL(toAppLibraryState()),
   183             this, SIGNAL(toHomescreenState()));
   189             this, SIGNAL(toHomescreenState()));
   184 
   190 
   185     connect(mAllCollectionsState, SIGNAL(entered()),
   191     connect(mAllCollectionsState, SIGNAL(entered()),
   186             this, SLOT(allCollectionsStateEntered()));
   192             this, SLOT(allCollectionsStateEntered()));
       
   193 
       
   194     connect(mCollectionState, SIGNAL(entered()),
       
   195             this, SLOT(collectionStateEntered()));
   187 
   196 
   188     HSMENUTEST_FUNC_EXIT("HsAppLibraryState::construct");
   197     HSMENUTEST_FUNC_EXIT("HsAppLibraryState::construct");
   189 }
   198 }
   190 
   199 
   191 /*!
   200 /*!
   214         // we are back from HS, scroll those views to top
   223         // we are back from HS, scroll those views to top
   215         mAllAppsState->setModel(mMenuMode.getHsMenuMode());
   224         mAllAppsState->setModel(mMenuMode.getHsMenuMode());
   216         mAllAppsState->scrollToBeginning();
   225         mAllAppsState->scrollToBeginning();
   217         mAllCollectionsState->scrollToBeginning();
   226         mAllCollectionsState->scrollToBeginning();
   218     }
   227     }
   219 
   228     
   220     HSMENUTEST_FUNC_EXIT("HsAppLibraryState::onEntry");
   229     HSMENUTEST_FUNC_EXIT("HsAppLibraryState::onEntry");
   221 }
   230 }
   222 
   231 
   223 /*!
   232 /*!
   224  Sets up Toolbar.
   233  Sets up Toolbar.
   247             mMenuViewBuilder.toolBar()->addExtension(extension));
   256             mMenuViewBuilder.toolBar()->addExtension(extension));
   248 
   257 
   249         extensionAction->setIcon(HbIcon("qtg_mono_store"));
   258         extensionAction->setIcon(HbIcon("qtg_mono_store"));
   250 
   259 
   251         HbAction *const operatorAction(
   260         HbAction *const operatorAction(
   252                 operatorHandler->prepareOperatorStoreAction(
   261             operatorHandler->prepareOperatorStoreAction(
   253                         mMenuViewBuilder.operatorAction()));
   262             mMenuViewBuilder.operatorAction()));
   254         operatorAction->setText(hbTrId(operatorHandler->text().toLatin1()));
   263         operatorAction->setText(hbTrId(operatorHandler->text().toLatin1()));
   255 
   264 
   256         mMenuViewBuilder.oviStoreAction()->setText(hbTrId("txt_applib_grid_ovi_store"));
   265         mMenuViewBuilder.oviStoreAction()->setText(hbTrId("txt_applib_grid_ovi_store"));
   257         if (operatorHandler->operatorStoreFirst()) {
   266         if (operatorHandler->operatorStoreFirst()) {
   258             extension->addAction(operatorAction);
   267             extension->addAction(operatorAction);
   264     } else if (operatorHandler->oviStorePresent()) {
   273     } else if (operatorHandler->oviStorePresent()) {
   265         mMenuViewBuilder.toolBar()->addAction(
   274         mMenuViewBuilder.toolBar()->addAction(
   266             mMenuViewBuilder.oviStoreAction());
   275             mMenuViewBuilder.oviStoreAction());
   267     } else if (operatorHandler->operatorStorePresent()) {
   276     } else if (operatorHandler->operatorStorePresent()) {
   268         mMenuViewBuilder.toolBar()->addAction(
   277         mMenuViewBuilder.toolBar()->addAction(
   269             operatorHandler->prepareOperatorStoreAction(
   278         operatorHandler->prepareOperatorStoreAction(
   270                     mMenuViewBuilder.operatorAction()));
   279         mMenuViewBuilder.operatorAction()));
   271     }
   280     }
   272 
   281 
   273     HbAction *const allCollectionsAction(
   282     HbAction *const allCollectionsAction(
   274             mMenuViewBuilder.allCollectionsAction());
   283         mMenuViewBuilder.allCollectionsAction());
   275 
   284 
   276     mAllAppsState->addTransition(
   285     mAllAppsState->addTransition(
   277         allCollectionsAction, SIGNAL(triggered()), mAllCollectionsState);
   286         allCollectionsAction, SIGNAL(triggered()), mAllCollectionsState);
   278     mCollectionState->addTransition(
   287     mCollectionState->addTransition(
   279         allCollectionsAction, SIGNAL(triggered()), mAllCollectionsState);
   288         allCollectionsAction, SIGNAL(triggered()), mAllCollectionsState);
   330     HSMENUTEST_FUNC_EXIT("HsAppLibraryState::oviStoreAction");
   339     HSMENUTEST_FUNC_EXIT("HsAppLibraryState::oviStoreAction");
   331     return result;
   340     return result;
   332 }
   341 }
   333 
   342 
   334 /*!
   343 /*!
   335  All apps stete entered.
   344  All apps state entered.
   336  */
   345  */
   337 void HsAppLibraryState::allAppsStateEntered()
   346 void HsAppLibraryState::allAppsStateEntered()
   338 {
   347 {
   339     if (mMenuMode.getHsMenuMode() == Hs::NormalHsMenuMode) {
   348     if (mMenuMode.getHsMenuMode() == Hs::NormalHsMenuMode) {
   340         mHistoryTransaction->setTargetState(mAllAppsState);
   349         mHistoryTransaction->setTargetState(mAllAppsState);
   341     }
   350     }
       
   351     while (!mInstalledAppsState->transitions().isEmpty()) {
       
   352         mInstalledAppsState->removeTransition(
       
   353             mInstalledAppsState->transitions()[0]);
       
   354     }
       
   355     HsMenuEventTransition *fromInstalledAppsTransition =
       
   356         new HsMenuEventTransition(HsMenuEvent::BackFromInstalledView,
       
   357         mInstalledAppsState, mAllAppsState);
       
   358     mInstalledAppsState->addTransition(fromInstalledAppsTransition);
   342 }
   359 }
   343 
   360 
   344 /*!
   361 /*!
   345  All collections state entered.
   362  All collections state entered.
   346  */
   363  */
   347 void HsAppLibraryState::allCollectionsStateEntered()
   364 void HsAppLibraryState::allCollectionsStateEntered()
   348 {
   365 {
   349     if (mMenuMode.getHsMenuMode() == Hs::NormalHsMenuMode) {
   366     if (mMenuMode.getHsMenuMode() == Hs::NormalHsMenuMode) {
   350         mHistoryTransaction->setTargetState(mAllCollectionsState);
   367         mHistoryTransaction->setTargetState(mAllCollectionsState);
   351     }
   368     }
   352 }
   369     while (!mInstalledAppsState->transitions().isEmpty()) {
   353 
   370         mInstalledAppsState->removeTransition(
   354 
   371             mInstalledAppsState->transitions()[0]);
       
   372     }
       
   373     HsMenuEventTransition *fromInstalledAppsTransition =
       
   374         new HsMenuEventTransition(HsMenuEvent::BackFromInstalledView,
       
   375         mInstalledAppsState, mAllCollectionsState);
       
   376     mInstalledAppsState->addTransition(fromInstalledAppsTransition);
       
   377 }
       
   378 
       
   379 /*!
       
   380  Collection state entered.
       
   381  */
       
   382 void HsAppLibraryState::collectionStateEntered()
       
   383 {
       
   384     while (!mInstalledAppsState->transitions().isEmpty()) {
       
   385         mInstalledAppsState->removeTransition(
       
   386             mInstalledAppsState->transitions()[0]);
       
   387     }
       
   388     HsMenuEventTransition *fromInstalledAppsTransition =
       
   389         new HsMenuEventTransition(HsMenuEvent::BackFromInstalledView,
       
   390         mInstalledAppsState, mCollectionState);
       
   391     mInstalledAppsState->addTransition(fromInstalledAppsTransition);
       
   392 }