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 /*! |
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 } |