diff -r 6727c5d0afc7 -r 458d8c8d9580 homescreenapp/hsapplication/src/hsstatemachine.cpp --- a/homescreenapp/hsapplication/src/hsstatemachine.cpp Fri Sep 17 08:27:54 2010 +0300 +++ b/homescreenapp/hsapplication/src/hsstatemachine.cpp Mon Oct 04 00:07:25 2010 +0300 @@ -46,13 +46,6 @@ #include "hstest_global.h" #include "hswidgetpositioningonwidgetmove.h" -#ifdef Q_OS_SYMBIAN -#include -#include -#include -#include -#endif // Q_OS_SYMBIAN - QTM_USE_NAMESPACE #define hbApp qobject_cast(qApp) @@ -87,7 +80,6 @@ mHomeScreenActive(false), mIdleStateActive(false), mEndKeyCaptured(false), - mSendKeyCaptured(false), mPublisher(NULL) #ifdef Q_OS_SYMBIAN ,keyCapture() @@ -110,14 +102,13 @@ HsWidgetPositioningOnOrientationChange::setInstance( new HsAdvancedWidgetPositioningOnOrientationChange); -#ifdef HSWIDGETORGANIZER_ALGORITHM - HsWidgetPositioningOnWidgetAdd::setInstance( - new HsWidgetOrganizer); -#else - HsWidgetPositioningOnWidgetAdd::setInstance( - new HsAnchorPointInBottomRight); -#endif - + + HsWidgetPositioningOnWidgetAdd *widgetOrganizer = + new HsWidgetOrganizer(HSCONFIGURATION_GET(snapGap), + HSCONFIGURATION_GET(widgetOrganizerSearchSequence)); + + HsWidgetPositioningOnWidgetAdd::setInstance(widgetOrganizer); + HsWidgetPositioningOnWidgetMove::setInstance( new HsSnapToLines); @@ -178,83 +169,14 @@ } bool result = QStateMachine::eventFilter(watched, event); - + if (event->type() == QEvent::KeyPress ) { - QKeyEvent* ke = static_cast(event); - int key = ke->key(); - - if (key == Qt::Key_Home ) { - result = true; - } - else if (key == Qt::Key_Yes ) { - result = true; - if (mSendKeyCaptured == false && mHomeScreenActive == true) { - mSendKeyCaptured = true; - startDialer(); - } - } + QKeyEvent* ke = static_cast(event); + result = (ke->key() == Qt::Key_Home); } return result; } -#ifdef COVERAGE_MEASUREMENT -#pragma CTC SKIP -#endif //COVERAGE_MEASUREMENT -/*! - \fn void HsStateMachine::startDialer() - Starts Dialer application -*/ -void HsStateMachine::startDialer() - { - // copy-paste code from dialer widget -#ifdef Q_OS_SYMBIAN - qDebug("HsStateMachine::startDialer()"); - - QList calls; - QScopedPointer callInfo(XQCallInfo::create()); - callInfo->getCalls(calls); - QList args; - QString service; - QString interface; - QString operation; - - if (0 < calls.count()) { - qDebug("HS: call ongoing, bring Telephone to foreground"); - service = "phoneui"; - interface = "com.nokia.symbian.IStart"; - operation = "start(int)"; - int openDialer(0); - args << openDialer; - } else { - qDebug("HS: no calls, open Dialer"); - service = "logs"; - interface = "com.nokia.symbian.ILogsView"; - operation = "show(QVariantMap)"; - QVariantMap map; - map.insert("view_index", QVariant(int(LogsServices::ViewAll))); - map.insert("show_dialpad", QVariant(true)); - map.insert("dialpad_text", QVariant(QString())); - args.append(QVariant(map)); - } - - XQApplicationManager appManager; - QScopedPointer request(appManager.create(service, interface, operation, false)); - if (request == NULL) { - return; - } - request->setArguments(args); - XQRequestInfo info; - info.setForeground(true); - request->setInfo(info); - bool ret = request->send(); - qDebug("HS: request sent successfully:", ret); -#endif -} - -#ifdef COVERAGE_MEASUREMENT -#pragma CTC ENDSKIP -#endif //COVERAGE_MEASUREMENT - /*! Registers framework animations. */ @@ -420,6 +342,13 @@ idleState, collectionStates[0]); idleState->addTransition(idleToCollectionTransition); } + // show after install is opened from applibrary via idlestate + if (collectionStates.count()) { + HsMenuEventTransition *idleToCollectionTransition = + new HsMenuEventTransition(HsMenuEvent::OpenCollectionFromAppLibrary, + idleState, collectionStates[0]); + idleState->addTransition(idleToCollectionTransition); + } guiRootState->setInitialState(loadSceneState); setInitialState(guiRootState); @@ -454,7 +383,6 @@ mPublisher->setValue(HsStatePSKeySubPath, EHomeScreenApplicationBackground | EHomeScreenApplicationLibraryViewActive); captureEndKey(false); } - mSendKeyCaptured = false; } /*! @@ -499,9 +427,16 @@ void HsStateMachine::activityRequested(const QString &name) { if (name == Hs::groupAppLibRecentView) { - this->postEvent( - HsMenuEventFactory::createOpenCollectionEvent(0, - Hs::collectionDownloadedTypeName)); + if (mHomeScreenActive) { + this->postEvent( + HsMenuEventFactory::createOpenCollectionEvent(0, + Hs::collectionDownloadedTypeName)); + } + else { + this->postEvent( + HsMenuEventFactory::createOpenCollectionFromAppLibraryEvent(0, + Hs::collectionDownloadedTypeName)); + } } else if (name == Hs::activityHsIdleView) { emit event_toIdle(); } else if (name == Hs::activityAppLibMainView) {