--- a/homescreenapp/hsapplication/src/hsstatemachine.cpp Mon Sep 13 13:03:23 2010 +0300
+++ b/homescreenapp/hsapplication/src/hsstatemachine.cpp Mon Sep 20 10:19:07 2010 +0300
@@ -46,13 +46,6 @@
#include "hstest_global.h"
#include "hswidgetpositioningonwidgetmove.h"
-#ifdef Q_OS_SYMBIAN
-#include <xqappmgr.h>
-#include <xqcallinfo.h>
-#include <logsservices.h>
-#include <xqrequestinfo.h>
-#endif // Q_OS_SYMBIAN
-
QTM_USE_NAMESPACE
#define hbApp qobject_cast<HbApplication*>(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<QKeyEvent *>(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<QKeyEvent *>(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<CallInfo> calls;
- QScopedPointer<XQCallInfo> callInfo(XQCallInfo::create());
- callInfo->getCalls(calls);
- QList<QVariant> 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<XQAiwRequest> 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) {