author | hgs |
Mon, 27 Sep 2010 11:52:00 +0300 | |
changeset 95 | 32e56106abf2 |
parent 90 | 3ac3aaebaee5 |
child 97 | 66b5fe3c07fd |
permissions | -rw-r--r-- |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1 |
/* |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
2 |
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
3 |
* All rights reserved. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
5 |
* under the terms of "Eclipse Public License v1.0" |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
8 |
* |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
11 |
* |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
12 |
* Contributors: |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
13 |
* |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
14 |
* Description: |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
15 |
* |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
16 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
17 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
18 |
#include <QStateMachine> |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
19 |
#include <QGraphicsSceneMouseEvent> |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
20 |
#include <QPropertyAnimation> |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
21 |
#include <QApplication> |
62 | 22 |
#include <QVariantHash> |
86 | 23 |
#include <QInputContext> |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
24 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
25 |
#include <HbMainWindow> |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
26 |
#include <HbView> |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
27 |
#include <HbMenu> |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
28 |
#include <HbAction> |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
29 |
#include <HbMessageBox> |
86 | 30 |
#include <HbInstance> |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
31 |
#include <HbLabel> |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
32 |
#include <HbInstantFeedback> |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
33 |
#include <HbContinuousFeedback> |
62 | 34 |
#include <HbPanGesture> |
35 |
#include <HbTapAndHoldGesture> |
|
86 | 36 |
#include <HbVkbHostBridge> |
37 |
#include <HbInputFocusObject> |
|
62 | 38 |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
39 |
#ifdef Q_OS_SYMBIAN |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
40 |
#include <XQSettingsManager> |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
41 |
#include <startupdomainpskeys.h> |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
42 |
#endif |
62 | 43 |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
44 |
#include "hsidlestate.h" |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
45 |
#include "hsidlewidget.h" |
36
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
46 |
#include "hsdomainmodeldatastructures.h" |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
47 |
#include "hsscene.h" |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
48 |
#include "hspage.h" |
69 | 49 |
#include "hspagevisual.h" |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
50 |
#include "hswidgethost.h" |
69 | 51 |
#include "hswidgethostvisual.h" |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
52 |
#include "hswallpaper.h" |
62 | 53 |
#include "hswallpaperselectionstate.h" |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
54 |
#include "hstrashbinwidget.h" |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
55 |
#include "hspageindicator.h" |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
56 |
#include "hsmenueventfactory.h" |
36
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
57 |
#include "hshomescreenstatecommon.h" |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
58 |
#include "hstitleresolver.h" |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
59 |
#include "hsmenuservice.h" |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
60 |
#include "hsconfiguration.h" |
63 | 61 |
#include "hsmessageboxwrapper.h" |
62 |
#include "hspropertyanimationwrapper.h" |
|
69 | 63 |
#include "hsgui.h" |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
64 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
65 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
66 |
namespace |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
67 |
{ |
69 | 68 |
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
69 |
//User adds a new page to home screen |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
70 |
const char hsLocTextId_OptionsMenu_AddPage[] = "txt_homescreen_opt_add_page"; |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
71 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
72 |
//User removes page from home screen |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
73 |
const char hsLocTextId_OptionsMenu_RemovePage[] = "txt_homescreen_opt_remove_page"; |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
74 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
75 |
//Sends request to all widgets to enable data connections |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
76 |
const char hsLocTextId_OptionsMenu_HsToOnline[] = "txt_homescreen_opt_home_screen_to_online"; |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
77 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
78 |
//Sends request to all widgets to disable data connections |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
79 |
const char hsLocTextId_OptionsMenu_HsToOffline[] = "txt_homescreen_opt_home_screen_to_offline"; |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
80 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
81 |
//Home screen canvas menu item for opening picture gallery |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
82 |
const char hsLocTextId_ContextMenu_ChangeWallpaper[] = "txt_homescreen_list_change_wallpaper"; |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
83 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
84 |
//Home screen canvas menu item for opening Application library |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
85 |
const char hsLocTextId_ContextMenu_AddContent[] = "txt_homescreen_list_add_content"; |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
86 |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
87 |
//Home screen options menu item for opening Task switcher |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
88 |
const char hsLocTextId_OptionsMenu_TaskSwitcher[] = "txt_homescreen_opt_task_switcher"; |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
89 |
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
90 |
//Heading text in confirmation dialog while removing page with content |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
91 |
const char hsLocTextId_Title_RemovePage[] = "txt_homescreen_title_remove_page"; |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
92 |
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
93 |
//Text in confirmation dialog while removing page with content |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
94 |
const char hsLocTextId_Confirmation_RemovePage[] = "txt_homescreen_info_page_and_content_will_be_remov"; |
69 | 95 |
} |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
96 |
|
69 | 97 |
// Helper macros for connecting state entry and exit actions. |
98 |
#define ENTRY_ACTION(state, action) \ |
|
99 |
connect(state, SIGNAL(entered()), SLOT(action())); |
|
100 |
#define EXIT_ACTION(state, action) \ |
|
101 |
connect(state, SIGNAL(exited()), SLOT(action())); |
|
102 |
||
103 |
||
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
104 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
105 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
106 |
\class HsIdleState |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
107 |
\ingroup group_hshomescreenstateplugin |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
108 |
\brief Controller part of the home screen idle state. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
109 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
110 |
Controls the home screen idle state execution. See the |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
111 |
state chart below for the state structure. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
112 |
|
62 | 113 |
\imageDEPRECATED html hsidlestate_statechart.png |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
114 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
115 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
116 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
117 |
Constructs a new idle state with the given \a parent. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
118 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
119 |
HsIdleState::HsIdleState(QState *parent) |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
120 |
: QState(parent), |
63 | 121 |
mNavigationAction(0), |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
122 |
mTitleResolver(0), |
62 | 123 |
mAllowZoneAnimation(false), |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
124 |
mContinuousFeedback(0), |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
125 |
mTrashBinFeedbackAlreadyPlayed(false), |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
126 |
mDeltaX(0), |
95 | 127 |
mWidgetX(0), |
128 |
mWidgetY(0), |
|
63 | 129 |
mSceneMenu(0) |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
130 |
#ifdef Q_OS_SYMBIAN |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
131 |
,mSettingsMgr(0) |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
132 |
#endif |
63 | 133 |
,mMessageBoxWrapper(0) |
134 |
||
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
135 |
{ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
136 |
setupStates(); |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
137 |
mTitleResolver = new HsTitleResolver(this); |
63 | 138 |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
139 |
// TODO: Uncomment when updated API available |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
140 |
//mContinuousFeedback = new HbContinuousFeedback; |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
141 |
//mContinuousFeedback->setContinuousEffect(HbFeedback::ContinuousSmooth); |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
142 |
//mContinuousFeedback->setIntensity(HbFeedback::IntensityFull ); |
62 | 143 |
|
144 |
mVerticalSnapLineTimer.setSingleShot(true); |
|
145 |
mHorizontalSnapLineTimer.setSingleShot(true); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
146 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
147 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
148 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
149 |
Destroys this idle state. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
150 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
151 |
HsIdleState::~HsIdleState() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
152 |
{ |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
153 |
// TODO: Uncomment when updated API available |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
154 |
//delete mContinuousFeedback; |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
155 |
} |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
156 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
157 |
/*! |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
158 |
\copydoc QObject::eventFilter(QObject *watched, QEvent *event) |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
159 |
*/ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
160 |
bool HsIdleState::eventFilter(QObject *watched, QEvent *event) |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
161 |
{ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
162 |
switch (event->type()) { |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
163 |
case QEvent::ApplicationActivate: |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
164 |
action_idle_layoutNewWidgets(); |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
165 |
break; |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
166 |
case QEvent::ApplicationDeactivate: |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
167 |
emit event_waitInput(); |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
168 |
break; |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
169 |
default: |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
170 |
break; |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
171 |
} |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
172 |
return QState::eventFilter(watched, event); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
173 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
174 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
175 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
176 |
\fn HsIdleState::event_applicationLibrary() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
177 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
178 |
This signal initiates a transition to application library. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
179 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
180 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
181 |
/*! |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
182 |
\fn HsIdleState::event_waitInput() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
183 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
184 |
This signal initiates a transition to the waitInput state. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
185 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
186 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
187 |
/*! |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
188 |
\fn HsIdleState::event_moveWidget() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
189 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
190 |
This signal initiates a transition to the moveWidget state. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
191 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
192 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
193 |
/*! |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
194 |
\fn HsIdleState::event_moveScene() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
195 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
196 |
This signal initiates a transition to the moveScene state. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
197 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
198 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
199 |
/*! |
62 | 200 |
\fn HsIdleState::event_selectWallpaper() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
201 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
202 |
This signal initiates a transition to the selectSceneWallpaper state. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
203 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
204 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
205 |
/*! |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
206 |
\fn HsIdleState::event_addPage() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
207 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
208 |
This signal initiates a transition to the addPage state. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
209 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
210 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
211 |
/*! |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
212 |
\fn HsIdleState::event_removePage() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
213 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
214 |
This signal initiates a transition to the removePage state. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
215 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
216 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
217 |
/*! |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
218 |
\fn HsIdleState::event_toggleConnection() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
219 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
220 |
This signal initiates a transition to the toggleConnection state. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
221 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
222 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
223 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
224 |
Creates the internal state structure and connects |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
225 |
state entry and exit actions. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
226 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
227 |
void HsIdleState::setupStates() |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
228 |
{ |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
229 |
// States |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
230 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
231 |
QState *state_waitInput = new QState(this); |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
232 |
setInitialState(state_waitInput); |
90 | 233 |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
234 |
QState *state_moveWidget = new QState(this); |
90 | 235 |
QState *state_moveWidgetMoving = new QState(state_moveWidget); |
236 |
QState *state_moveWidgetDelete = new QState(state_moveWidget); |
|
237 |
state_moveWidget->setInitialState(state_moveWidgetMoving); |
|
238 |
||
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
239 |
QState *state_moveScene = new QState(this); |
62 | 240 |
HsWallpaperSelectionState *state_wallpaperSelectionState = |
241 |
new HsWallpaperSelectionState(this); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
242 |
QState *state_addPage = new QState(this); |
63 | 243 |
QState *state_preRemovePage = new QState(this); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
244 |
QState *state_removePage = new QState(this); |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
245 |
QState *state_toggleConnection = new QState(this); |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
246 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
247 |
// Transitions |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
248 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
249 |
state_waitInput->addTransition( |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
250 |
this, SIGNAL(event_addPage()), state_addPage); |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
251 |
state_waitInput->addTransition( |
63 | 252 |
this, SIGNAL(event_preRemovePage()), state_preRemovePage); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
253 |
state_waitInput->addTransition( |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
254 |
this, SIGNAL(event_toggleConnection()), state_toggleConnection); |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
255 |
state_waitInput->addTransition( |
62 | 256 |
this, SIGNAL(event_selectWallpaper()), state_wallpaperSelectionState); |
257 |
state_waitInput->addTransition( |
|
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
258 |
this, SIGNAL(event_moveScene()), state_moveScene); |
62 | 259 |
state_waitInput->addTransition( |
260 |
this, SIGNAL(event_moveWidget()), state_moveWidget); |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
261 |
|
90 | 262 |
state_moveWidgetMoving->addTransition( |
263 |
this, SIGNAL(event_waitInput()), state_waitInput); |
|
264 |
state_moveWidgetMoving->addTransition( |
|
265 |
this, SIGNAL(event_MoveWidgetDelete()), state_moveWidgetDelete); |
|
95 | 266 |
state_moveWidgetDelete->addTransition(state_waitInput); |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
267 |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
268 |
state_moveScene->addTransition( |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
269 |
this, SIGNAL(event_waitInput()), state_waitInput); |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
270 |
|
62 | 271 |
state_wallpaperSelectionState->addTransition( |
272 |
state_wallpaperSelectionState, SIGNAL(event_waitInput()), state_waitInput); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
273 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
274 |
state_addPage->addTransition(state_waitInput); |
63 | 275 |
|
276 |
state_preRemovePage->addTransition( |
|
277 |
this,SIGNAL(event_removePage()),state_removePage); |
|
278 |
||
279 |
state_preRemovePage->addTransition( |
|
280 |
this,SIGNAL(event_waitInput()),state_waitInput); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
281 |
|
63 | 282 |
state_removePage->addTransition( |
283 |
this,SIGNAL(event_waitInput()),state_waitInput); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
284 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
285 |
state_toggleConnection->addTransition(state_waitInput); |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
286 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
287 |
// Actions |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
288 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
289 |
ENTRY_ACTION(this, action_idle_setupView) |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
290 |
ENTRY_ACTION(this, action_idle_layoutNewWidgets) |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
291 |
ENTRY_ACTION(this, action_idle_showActivePage) |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
292 |
ENTRY_ACTION(this, action_idle_connectOrientationChangeEventHandler) |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
293 |
ENTRY_ACTION(this, action_idle_setupTitle) |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
294 |
ENTRY_ACTION(this, action_idle_installEventFilter) |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
295 |
EXIT_ACTION(this, action_idle_cleanupTitle) |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
296 |
EXIT_ACTION(this, action_idle_cleanupView) |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
297 |
EXIT_ACTION(this, action_idle_disconnectOrientationChangeEventHandler) |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
298 |
EXIT_ACTION(this, action_idle_uninstallEventFilter) |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
299 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
300 |
ENTRY_ACTION(state_waitInput, action_waitInput_updateOptionsMenu) |
62 | 301 |
ENTRY_ACTION(state_waitInput, action_waitInput_connectGestureHandlers) |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
302 |
ENTRY_ACTION(state_waitInput, action_waitInput_publishIdleKey) |
62 | 303 |
EXIT_ACTION(state_waitInput, action_waitInput_disconnectGestureHandlers) |
304 |
EXIT_ACTION(state_waitInput, action_waitInput_resetNewWidgets) |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
305 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
306 |
ENTRY_ACTION(state_moveWidget, action_moveWidget_reparentToControlLayer) |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
307 |
ENTRY_ACTION(state_moveWidget, action_moveWidget_startWidgetDragEffect) |
62 | 308 |
ENTRY_ACTION(state_moveWidget, action_moveWidget_connectGestureHandlers) |
86 | 309 |
ENTRY_ACTION(state_moveWidget, action_moveWidget_connectOrientationChangeEventHandler) |
62 | 310 |
ENTRY_ACTION(state_moveWidget, action_moveWidget_setWidgetSnap) |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
311 |
EXIT_ACTION(state_moveWidget, action_moveWidget_reparentToPage) |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
312 |
EXIT_ACTION(state_moveWidget, action_moveWidget_startWidgetDropEffect) |
90 | 313 |
EXIT_ACTION(state_moveWidget, action_moveWidget_disableInteractive) |
62 | 314 |
EXIT_ACTION(state_moveWidget, action_moveWidget_disconnectGestureHandlers) |
86 | 315 |
EXIT_ACTION(state_moveWidget, action_moveWidget_disconnectOrientationChangeEventHandler) |
62 | 316 |
EXIT_ACTION(state_moveWidget, action_moveWidget_preventZoneAnimation) |
317 |
EXIT_ACTION(state_moveWidget, action_moveWidget_deleteWidgetSnap) |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
318 |
|
90 | 319 |
ENTRY_ACTION(state_moveWidgetDelete, action_moveWidgetDelete_deleteWidgetOnTrashbin) |
320 |
||
62 | 321 |
ENTRY_ACTION(state_moveScene, action_moveScene_connectGestureHandlers) |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
322 |
EXIT_ACTION(state_moveScene, action_moveScene_moveToNearestPage) |
62 | 323 |
EXIT_ACTION(state_moveScene, action_moveScene_disconnectGestureHandlers) |
324 |
||
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
325 |
ENTRY_ACTION(state_addPage, action_addPage_addPage) |
63 | 326 |
|
327 |
ENTRY_ACTION(state_preRemovePage, action_preRemovePage_showQuery) |
|
69 | 328 |
EXIT_ACTION(state_preRemovePage, action_preRemovePage_exit); |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
329 |
|
63 | 330 |
ENTRY_ACTION(state_removePage, action_removePage_startRemovePageAnimation) |
331 |
EXIT_ACTION(state_removePage, action_removePage_removePage) |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
332 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
333 |
ENTRY_ACTION(state_toggleConnection, action_toggleConnection_toggleConnection) |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
334 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
335 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
336 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
337 |
Computes the page layer x position based on the given \a pageIndex. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
338 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
339 |
qreal HsIdleState::pageLayerXPos(int pageIndex) const |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
340 |
{ |
69 | 341 |
return -pageIndex * HsGui::instance()->layoutRect().width(); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
342 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
343 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
344 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
345 |
Starts the page change animation based on the given \a targetPageIndex |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
346 |
and \a duration. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
347 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
348 |
void HsIdleState::startPageChangeAnimation(int targetPageIndex, int duration) |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
349 |
{ |
90 | 350 |
if (!HsScene::instance()->activeWidget()) { |
351 |
hbInstance->allMainWindows().first()->setInteractive(false); |
|
352 |
} |
|
69 | 353 |
HsPropertyAnimationWrapper *animation = HsGui::instance()->pageChangeAnimation(); |
354 |
if (animation->isRunning()) { |
|
355 |
animation->stop(); |
|
62 | 356 |
} |
69 | 357 |
animation->disconnect(this); |
358 |
animation->setEndValue(pageLayerXPos(targetPageIndex)); |
|
359 |
animation->setDuration(duration); |
|
71 | 360 |
|
81 | 361 |
if (abs(mDeltaX) < HSCONFIGURATION_GET(pageChangePanDistance)) { |
71 | 362 |
animation->setEasingCurve(HSCONFIGURATION_GET(bounceAnimationEasingCurve)); |
363 |
} |
|
364 |
else { |
|
365 |
animation->setEasingCurve(HSCONFIGURATION_GET(pageChangeAnimationEasingCurve)); |
|
366 |
} |
|
367 |
||
69 | 368 |
connect(animation, |
62 | 369 |
SIGNAL(finished()), |
370 |
SLOT(pageChangeAnimationFinished()), |
|
371 |
Qt::UniqueConnection); |
|
69 | 372 |
animation->start(); |
62 | 373 |
|
374 |
HbInstantFeedback::play(HSCONFIGURATION_GET(pageChangeFeedbackEffect)); |
|
375 |
||
69 | 376 |
HsGui::instance()->idleWidget()->showPageIndicator(); |
377 |
HsGui::instance()->idleWidget()->setActivePage(targetPageIndex); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
378 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
379 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
380 |
/*! |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
381 |
Starts the page change zone animation (crawling) based on the given a\ duration |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
382 |
*/ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
383 |
void HsIdleState::startPageChangeZoneAnimation(int duration) |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
384 |
{ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
385 |
HsScene *scene = HsScene::instance(); |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
386 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
387 |
int targetPageIndex = scene->activePageIndex(); |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
388 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
389 |
if (isInLeftPageChangeZone() && 0 < targetPageIndex) { |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
390 |
--targetPageIndex; |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
391 |
} else if (isInRightPageChangeZone() && |
62 | 392 |
targetPageIndex < HSCONFIGURATION_GET(maximumPageCount) - 1) { |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
393 |
++targetPageIndex; |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
394 |
} else { |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
395 |
return; |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
396 |
} |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
397 |
|
62 | 398 |
int bounceEffect = HSCONFIGURATION_GET(bounceEffect); |
69 | 399 |
|
400 |
HsPropertyAnimationWrapper *pageCrawlingAnimation = |
|
401 |
HsGui::instance()->pageCrawlingAnimation(); |
|
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
402 |
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
403 |
if (isInLeftPageChangeZone()) { |
69 | 404 |
pageCrawlingAnimation->setEndValue(pageLayerXPos(scene->activePageIndex()) + bounceEffect); |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
405 |
} else { |
69 | 406 |
pageCrawlingAnimation->setEndValue(pageLayerXPos(scene->activePageIndex()) - bounceEffect); |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
407 |
} |
69 | 408 |
pageCrawlingAnimation->setDuration(duration); |
409 |
pageCrawlingAnimation->setForward(); |
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
410 |
|
69 | 411 |
connect(pageCrawlingAnimation, |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
412 |
SIGNAL(finished()), |
63 | 413 |
SLOT(zoneAnimationFinished()), |
414 |
Qt::UniqueConnection); |
|
62 | 415 |
|
69 | 416 |
pageCrawlingAnimation->start(); |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
417 |
} |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
418 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
419 |
/*! |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
420 |
Checks if the active widget is located inside the left or right |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
421 |
page change zone. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
422 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
423 |
bool HsIdleState::isInPageChangeZone() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
424 |
{ |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
425 |
return isInLeftPageChangeZone() || |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
426 |
isInRightPageChangeZone(); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
427 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
428 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
429 |
/*! |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
430 |
Checks if touch point in the active widget is located inside the left |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
431 |
page change zone. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
432 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
433 |
bool HsIdleState::isInLeftPageChangeZone() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
434 |
{ |
62 | 435 |
return mWidgetHotSpot.x() < HSCONFIGURATION_GET(pageChangeZoneWidth); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
436 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
437 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
438 |
/*! |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
439 |
Checks if touch point in the active widget is located inside the right |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
440 |
page change zone. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
441 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
442 |
bool HsIdleState::isInRightPageChangeZone() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
443 |
{ |
69 | 444 |
qreal pageWidth = HsGui::instance()->layoutRect().width(); |
62 | 445 |
return mWidgetHotSpot.x() > pageWidth - HSCONFIGURATION_GET(pageChangeZoneWidth); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
446 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
447 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
448 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
449 |
Inserts new page at index position \a pageIndex in the scene. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
450 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
451 |
void HsIdleState::addPageToScene(int pageIndex) |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
452 |
{ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
453 |
HsPageData data; |
36
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
454 |
data.indexPosition = pageIndex; |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
455 |
HsPage *page = HsPage::createInstance(data); |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
456 |
page->load(); |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
457 |
HsScene::instance()->addPage(page); |
69 | 458 |
HsGui::instance()->idleWidget()->insertPage(pageIndex, page); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
459 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
460 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
461 |
/*! |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
462 |
Checks if page change zone animation needs to be started or stopped |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
463 |
*/ |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
464 |
void HsIdleState::updateZoneAnimation() |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
465 |
{ |
69 | 466 |
HsPropertyAnimationWrapper *pageCrawlingAnimation = |
467 |
HsGui::instance()->pageCrawlingAnimation(); |
|
468 |
||
63 | 469 |
if (!mAllowZoneAnimation) { |
69 | 470 |
pageCrawlingAnimation->stop(); |
63 | 471 |
} else if (isInPageChangeZone()) { |
472 |
// should we start it |
|
69 | 473 |
if (!pageCrawlingAnimation->isRunning() && |
474 |
!HsGui::instance()->pageChangeAnimation()->isRunning()) { |
|
62 | 475 |
startPageChangeZoneAnimation(HSCONFIGURATION_GET(pageChangeZoneAnimationDuration)); |
63 | 476 |
} |
69 | 477 |
} else if (pageCrawlingAnimation->isRunning()) { |
63 | 478 |
// Not in zone, but still running |
69 | 479 |
if (pageCrawlingAnimation->isForward()){ |
63 | 480 |
// reverse |
69 | 481 |
pageCrawlingAnimation->setDuration(HSCONFIGURATION_GET(pageChangeZoneReverseAnimationDuration)); |
482 |
pageCrawlingAnimation->setBackward(); |
|
63 | 483 |
} |
484 |
} |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
485 |
} |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
486 |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
487 |
/*! |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
488 |
Selects which trash bin icon is shown or not shown at all |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
489 |
*/ |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
490 |
void HsIdleState::showTrashBin() |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
491 |
{ |
69 | 492 |
if (HsGui::instance()->idleWidget()->trashBin()->isUnderMouse()) { |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
493 |
if (!mTrashBinFeedbackAlreadyPlayed) { |
62 | 494 |
HbInstantFeedback::play(HSCONFIGURATION_GET(widgetOverTrashbinFeedbackEffect)); |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
495 |
mTrashBinFeedbackAlreadyPlayed = true; |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
496 |
} |
69 | 497 |
HsGui::instance()->idleWidget()->trashBin()->activate(); |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
498 |
} else { |
69 | 499 |
HsGui::instance()->idleWidget()->trashBin()->deactivate(); |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
500 |
mTrashBinFeedbackAlreadyPlayed = false; |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
501 |
} |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
502 |
|
69 | 503 |
if (!HsGui::instance()->idleWidget()->pageIndicator()->isAnimationRunning()) { |
504 |
HsGui::instance()->idleWidget()->showTrashBin(); |
|
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
505 |
} |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
506 |
} |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
507 |
|
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
508 |
/*! |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
509 |
If called for the first time, setups the idle view. |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
510 |
Updates the soft key action and sets the idle view |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
511 |
as the current view to the main window. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
512 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
513 |
void HsIdleState::action_idle_setupView() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
514 |
{ |
69 | 515 |
HsGui::instance()->setupIdleUi(); |
516 |
connect(HsGui::instance(),SIGNAL(navigateToApplibrary()),SIGNAL(event_applicationLibrary()),Qt::UniqueConnection); |
|
62 | 517 |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
518 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
519 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
520 |
/*! |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
521 |
Sets the idle view's title. |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
522 |
*/ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
523 |
void HsIdleState::action_idle_setupTitle() |
62 | 524 |
{ |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
525 |
onTitleChanged(mTitleResolver->title()); |
62 | 526 |
connect(mTitleResolver, |
527 |
SIGNAL(titleChanged(QString)), |
|
528 |
SLOT(onTitleChanged(QString))); |
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
529 |
} |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
530 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
531 |
/*! |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
532 |
Updates the idle view's title. |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
533 |
*/ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
534 |
void HsIdleState::onTitleChanged(QString title) |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
535 |
{ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
536 |
qDebug() << "HsIdleState::onTitleChanged() to title: " << title; |
69 | 537 |
HsGui::instance()->idleView()->setTitle(title); |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
538 |
} |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
539 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
540 |
/*! |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
541 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
542 |
*/ |
62 | 543 |
void HsIdleState::onAddContentFromContextMenuActionTriggered() |
544 |
{ |
|
545 |
/* include position information in homescreen data, |
|
546 |
which passed around in applib and returned when adding content |
|
547 |
*/ |
|
548 |
QVariant homescreenData(mPageHotSpot); |
|
549 |
machine()->postEvent( |
|
81 | 550 |
HsMenuEventFactory::createOpenAppLibraryEvent(Hs::AddHsMenuMode, homescreenData)); |
62 | 551 |
mPageHotSpot = QPointF(); |
552 |
} |
|
553 |
||
554 |
/*! |
|
555 |
||
556 |
*/ |
|
557 |
void HsIdleState::onAddContentFromOptionsMenuActionTriggered() |
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
558 |
{ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
559 |
machine()->postEvent( |
81 | 560 |
HsMenuEventFactory::createOpenAppLibraryEvent(Hs::AddHsMenuMode)); |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
561 |
} |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
562 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
563 |
/*! |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
564 |
Disconnects the idle view's title. |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
565 |
*/ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
566 |
void HsIdleState::action_idle_cleanupTitle() |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
567 |
{ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
568 |
mTitleResolver->disconnect(this); |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
569 |
} |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
570 |
|
62 | 571 |
/*! |
572 |
||
573 |
*/ |
|
574 |
void HsIdleState::onPageTapAndHoldFinished(QGestureEvent *event) |
|
575 |
{ |
|
576 |
mPageHotSpot = qobject_cast<HbTapAndHoldGesture *>( |
|
577 |
event->gesture(Qt::TapAndHoldGesture))->scenePosition(); |
|
578 |
||
579 |
mSceneMenu = new HbMenu(); |
|
580 |
mSceneMenu->setObjectName("hs_ctx_menu"); |
|
581 |
mSceneMenu->setAttribute(Qt::WA_DeleteOnClose); |
|
582 |
||
583 |
HbAction *action = mSceneMenu->addAction(hbTrId(hsLocTextId_ContextMenu_AddContent), this, |
|
584 |
SLOT(onAddContentFromContextMenuActionTriggered())); |
|
585 |
action->setObjectName("action_add_content_ctx_menu"); |
|
586 |
||
587 |
HsScene *scene = HsScene::instance(); |
|
588 |
if (scene->pages().count() < HSCONFIGURATION_GET(maximumPageCount)) { |
|
589 |
action = mSceneMenu->addAction(hbTrId(hsLocTextId_OptionsMenu_AddPage), this, SIGNAL(event_addPage())); |
|
590 |
action->setObjectName("action_add_page_ctx_menu"); |
|
591 |
} |
|
592 |
||
593 |
action = mSceneMenu->addAction(hbTrId(hsLocTextId_ContextMenu_ChangeWallpaper), this, SIGNAL(event_selectWallpaper())); |
|
594 |
action->setObjectName("action_change_wallpaper_ctx_menu"); |
|
595 |
mSceneMenu->setPreferredPos(mPageHotSpot); |
|
596 |
mSceneMenu->open(); |
|
597 |
} |
|
598 |
||
599 |
void HsIdleState::onPagePanStarted(QGestureEvent *event) |
|
600 |
{ |
|
601 |
Q_UNUSED(event) |
|
602 |
emit event_moveScene(); |
|
603 |
} |
|
604 |
||
605 |
void HsIdleState::onPagePanUpdated(QGestureEvent *event) |
|
606 |
{ |
|
607 |
HbPanGesture *gesture = qobject_cast<HbPanGesture *>( |
|
608 |
event->gesture(Qt::PanGesture)); |
|
609 |
||
95 | 610 |
qreal temp = gesture->sceneOffset().x(); |
611 |
// for small movement take into consideration also previous delta to remove "shaking" effect |
|
612 |
if (abs(mDeltaX - temp) < 10) { |
|
613 |
mDeltaX = 0.9 * temp + 0.1 * mDeltaX; |
|
614 |
} else { |
|
615 |
mDeltaX = temp; |
|
616 |
} |
|
62 | 617 |
|
618 |
HsScene *scene = HsScene::instance(); |
|
619 |
int bounceEffect = HSCONFIGURATION_GET(bounceEffect); |
|
69 | 620 |
qreal x = qBound(pageLayerXPos(scene->pages().count() - 1) - bounceEffect / 2 / HsGui::instance()->idleWidget()->parallaxFactor(), |
62 | 621 |
pageLayerXPos(scene->activePageIndex()) + mDeltaX, |
69 | 622 |
pageLayerXPos(0) + (bounceEffect / 2 / HsGui::instance()->idleWidget()->parallaxFactor())); |
62 | 623 |
|
69 | 624 |
HsGui::instance()->idleWidget()->setSceneX(x); |
62 | 625 |
} |
626 |
||
627 |
void HsIdleState::onPagePanFinished(QGestureEvent *event) |
|
628 |
{ |
|
629 |
HbPanGesture *gesture = qobject_cast<HbPanGesture *>( |
|
630 |
event->gesture(Qt::PanGesture)); |
|
631 |
mDeltaX = gesture->sceneOffset().x(); |
|
632 |
emit event_waitInput(); |
|
633 |
} |
|
634 |
||
86 | 635 |
void HsIdleState::onWidgetTapStarted(QPointF point, HsWidgetHost *widget) |
62 | 636 |
{ |
637 |
HsScene *scene = HsScene::instance(); |
|
638 |
HsPage *page = scene->activePage(); |
|
639 |
QMetaObject::invokeMethod(page, "updateZValues", Qt::QueuedConnection); |
|
86 | 640 |
HbVkbHost::HbVkbStatus status = HbVkbHostBridge::instance()->keypadStatus(); |
641 |
if ( status == HbVkbHost::HbVkbStatusOpened && !isEditor(point, widget) ) { |
|
642 |
closeVirtualKeyboard(); |
|
643 |
} |
|
62 | 644 |
} |
645 |
||
646 |
void HsIdleState::onWidgetTapAndHoldFinished(QGestureEvent *event, HsWidgetHost *widget) |
|
647 |
{ |
|
648 |
HsScene *scene = HsScene::instance(); |
|
649 |
scene->setActiveWidget(widget); |
|
650 |
||
651 |
mWidgetHotSpot = qobject_cast<HbTapAndHoldGesture *>( |
|
652 |
event->gesture(Qt::TapAndHoldGesture))->scenePosition(); |
|
69 | 653 |
mWidgetHotSpotOffset = mWidgetHotSpot - widget->visual()->pos(); |
62 | 654 |
|
655 |
emit event_moveWidget(); |
|
656 |
} |
|
657 |
||
658 |
void HsIdleState::onWidgetMoveUpdated(const QPointF &scenePos, HsWidgetHost *widget) |
|
659 |
{ |
|
69 | 660 |
QRectF widgetRect = widget->visual()->geometry(); |
62 | 661 |
|
63 | 662 |
// Move widget to updated position. |
62 | 663 |
mWidgetHotSpot = scenePos; |
664 |
widgetRect.moveTopLeft(mWidgetHotSpot - mWidgetHotSpotOffset); |
|
665 |
||
63 | 666 |
// When moving widget can go over the pages left border. |
62 | 667 |
qreal lowerBoundX = -widgetRect.width(); |
63 | 668 |
|
669 |
// When moving widget can go over the pages right border. |
|
69 | 670 |
QRectF pageRect = HsGui::instance()->idleView()->rect(); |
62 | 671 |
qreal upperBoundX = pageRect.width(); |
672 |
||
63 | 673 |
// When moving widget can go under the chrome at the pages upper border. |
62 | 674 |
// Notice that chrome height is 64 pixels. |
675 |
qreal lowerBoundY = qreal(64) - widgetRect.height(); |
|
63 | 676 |
|
677 |
// When moving widget can go over the pages down border. |
|
62 | 678 |
qreal upperBoundY = pageRect.height(); |
679 |
||
680 |
qreal widgetX = qBound(lowerBoundX, widgetRect.x(), upperBoundX); |
|
681 |
qreal widgetY = qBound(lowerBoundY, widgetRect.y(), upperBoundY); |
|
63 | 682 |
|
95 | 683 |
// for small movement take into consideration also previous value to remove "shaking" effect |
684 |
if ((abs(mWidgetX - widgetX) < 10) && (abs(mWidgetY - widgetY) < 10)) { |
|
685 |
mWidgetX = 0.9 * widgetX + 0.1 * mWidgetX; |
|
686 |
mWidgetY = 0.9 * widgetY + 0.1 * mWidgetY; |
|
687 |
} else { |
|
688 |
mWidgetX = widgetX; |
|
689 |
mWidgetY = widgetY; |
|
690 |
} |
|
691 |
||
62 | 692 |
// If using ItemClipsChildrenToShape-flag in widgethost then |
693 |
// setPos does not update position here, however setGeometry does it, QT bug? |
|
95 | 694 |
widget->visual()->setGeometry(mWidgetX, mWidgetY, widgetRect.width(), widgetRect.height()); |
62 | 695 |
|
696 |
if (HSCONFIGURATION_GET(isSnapEnabled)) { |
|
69 | 697 |
mSnapResult = HsWidgetPositioningOnWidgetMove::instance()->run(widget->visual()->sceneBoundingRect()); |
62 | 698 |
|
81 | 699 |
bool isTrashbinOpen = HsGui::instance()->idleWidget()->trashBin()->isUnderMouse(); |
700 |
||
62 | 701 |
if (HSCONFIGURATION_GET(isSnapEffectsEnabled)) { |
81 | 702 |
if (mSnapResult.hasHorizontalSnap && !isTrashbinOpen) { |
62 | 703 |
showVerticalLine(); |
81 | 704 |
} else { |
62 | 705 |
hideVerticalLine(); |
706 |
} |
|
81 | 707 |
if (mSnapResult.hasVerticalSnap && !isTrashbinOpen) { |
62 | 708 |
showHorizontalLine(); |
81 | 709 |
} else { |
62 | 710 |
hideHorizontalLine(); |
711 |
} |
|
712 |
} |
|
713 |
||
714 |
mPreviousSnapResult = mSnapResult; |
|
715 |
} |
|
716 |
||
717 |
// Handle effects: |
|
718 |
// User is indicated by a tactile feedback if he/she is trying to move |
|
719 |
// widget over the first or the last page. |
|
63 | 720 |
HsScene *scene = HsScene::instance(); |
721 |
HsPage *page = scene->activePage(); |
|
722 |
int bounceFeedbackEffectDistance = HSCONFIGURATION_GET(bounceFeedbackEffectDistance); |
|
62 | 723 |
if( (page == scene->pages().first() && mWidgetHotSpot.x() < bounceFeedbackEffectDistance ) || |
724 |
(page == scene->pages().last() && scene->pages().count() == HSCONFIGURATION_GET(maximumPageCount) |
|
725 |
&& mWidgetHotSpot.x() > pageRect.width() - bounceFeedbackEffectDistance)) { |
|
726 |
HbInstantFeedback::play(HSCONFIGURATION_GET(widgetMoveBlockedFeedbackEffect)); |
|
727 |
// TODO: use code below when Orbit has updated ContinuousFeedback API |
|
728 |
//if (!mContinuousFeedback->isPlaying()) { |
|
729 |
// mContinuousFeedback->play(); |
|
730 |
//} |
|
63 | 731 |
} else /*if (mContinuousFeedback->isPlaying())*/ { |
62 | 732 |
//mContinuousFeedback->stop(); |
733 |
} |
|
734 |
||
735 |
updateZoneAnimation(); |
|
736 |
showTrashBin(); |
|
737 |
} |
|
738 |
||
739 |
void HsIdleState::onWidgetMoveFinished(const QPointF &scenePos, HsWidgetHost *widget) |
|
740 |
{ |
|
741 |
Q_UNUSED(scenePos) |
|
742 |
Q_UNUSED(widget) |
|
90 | 743 |
emit event_MoveWidgetDelete(); |
62 | 744 |
} |
745 |
||
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
746 |
/*! |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
747 |
Lays out the active page's new widgets that were added |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
748 |
from the application library. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
749 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
750 |
void HsIdleState::action_idle_layoutNewWidgets() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
751 |
{ |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
752 |
HsPage *page = HsScene::instance()->activePage(); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
753 |
if (!page) { |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
754 |
return; |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
755 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
756 |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
757 |
QList<HsWidgetHost *> widgets = page->newWidgets(); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
758 |
if (widgets.isEmpty()) { |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
759 |
return; |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
760 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
761 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
762 |
foreach (HsWidgetHost *widget, widgets) { |
55
03646e8da489
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
51
diff
changeset
|
763 |
widget->startWidget(); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
764 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
765 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
766 |
page->layoutNewWidgets(); |
36
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
767 |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
768 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
769 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
770 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
771 |
Moves the scene and page layers so that the active |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
772 |
page is shown. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
773 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
774 |
void HsIdleState::action_idle_showActivePage() |
62 | 775 |
{ |
776 |
HsScene *scene = HsScene::instance(); |
|
777 |
QApplication::instance()->installEventFilter(scene); |
|
778 |
scene->activePage()->showWidgets(); |
|
779 |
qreal x = pageLayerXPos(scene->activePageIndex()); |
|
69 | 780 |
HsGui::instance()->idleWidget()->setSceneX(x); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
781 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
782 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
783 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
784 |
Connects the orientation change event handler. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
785 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
786 |
void HsIdleState::action_idle_connectOrientationChangeEventHandler() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
787 |
{ |
69 | 788 |
connect(HsGui::instance(), |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
789 |
SIGNAL(orientationChanged(Qt::Orientation)), |
62 | 790 |
SLOT(action_idle_orientationChanged())); |
791 |
} |
|
792 |
||
793 |
void HsIdleState::action_idle_orientationChanged() |
|
794 |
{ |
|
795 |
HsScene::instance()->activePage()->resetNewWidgets(); |
|
90 | 796 |
stopPageChangeAnimations(); |
62 | 797 |
action_idle_showActivePage(); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
798 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
799 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
800 |
/*! |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
801 |
Installs the event filter. |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
802 |
*/ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
803 |
void HsIdleState::action_idle_installEventFilter() |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
804 |
{ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
805 |
QCoreApplication::instance()->installEventFilter(this); |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
806 |
} |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
807 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
808 |
/*! |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
809 |
Publishes the idle key |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
810 |
*/ |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
811 |
void HsIdleState::action_waitInput_publishIdleKey() |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
812 |
{ |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
813 |
#ifdef Q_OS_SYMBIAN |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
814 |
qDebug() << "HsIdleState::action_waitInput_publishIdleKey"; |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
815 |
if (!mSettingsMgr){ |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
816 |
// All done, let others know it too |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
817 |
qDebug() << "Setting the idle key"; |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
818 |
mSettingsMgr = new XQSettingsManager(this); |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
819 |
XQPublishAndSubscribeSettingsKey key(KPSUidStartup.iUid, KPSIdlePhase1Ok); |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
820 |
mSettingsMgr->writeItemValue(key, EIdlePhase1Ok); |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
821 |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
822 |
// Done, we can disconnect this signal. |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
823 |
disconnect(sender(), SIGNAL(entered()), this, SLOT(action_waitInput_publishIdleKey())); |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
824 |
} |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
825 |
#endif |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
826 |
} |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
827 |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
828 |
/*! |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
829 |
Cleans up the idle view. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
830 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
831 |
void HsIdleState::action_idle_cleanupView() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
832 |
{ |
62 | 833 |
HsScene *scene = HsScene::instance(); |
834 |
QApplication::instance()->removeEventFilter(scene); |
|
835 |
scene->activePage()->hideWidgets(); |
|
69 | 836 |
|
837 |
HsGui::instance()->disconnect(this,SIGNAL(event_applicationLibrary())); |
|
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
838 |
//Close options menu on view change |
69 | 839 |
HsGui::instance()->idleView()->setMenu(NULL); |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
840 |
|
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
841 |
//Close context menu on view change |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
842 |
if (mSceneMenu) { |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
843 |
mSceneMenu->close(); |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
844 |
} |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
845 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
846 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
847 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
848 |
Disconnects the orientation change event handler. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
849 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
850 |
void HsIdleState::action_idle_disconnectOrientationChangeEventHandler() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
851 |
{ |
69 | 852 |
disconnect(HsGui::instance(), |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
853 |
SIGNAL(orientationChanged(Qt::Orientation)), |
62 | 854 |
this, SLOT(action_idle_orientationChanged())); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
855 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
856 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
857 |
/*! |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
858 |
Disconnects the event filter. |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
859 |
*/ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
860 |
void HsIdleState::action_idle_uninstallEventFilter() |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
861 |
{ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
862 |
QCoreApplication::instance()->removeEventFilter(this); |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
863 |
} |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
864 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
865 |
/*! |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
866 |
Updates the options menu content. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
867 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
868 |
void HsIdleState::action_waitInput_updateOptionsMenu() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
869 |
{ |
36
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
870 |
HsScene *scene = HsScene::instance(); |
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
871 |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
872 |
HbMenu *menu = new HbMenu(); |
62 | 873 |
menu->setObjectName("hs_menu"); |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
874 |
// Task switcher |
63 | 875 |
menu->addAction(hbTrId(hsLocTextId_OptionsMenu_TaskSwitcher), |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
876 |
this, SLOT(openTaskSwitcher())); |
63 | 877 |
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
878 |
// Add content |
63 | 879 |
menu->addAction(hbTrId(hsLocTextId_ContextMenu_AddContent), |
62 | 880 |
this, SLOT(onAddContentFromOptionsMenuActionTriggered())); |
36
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
881 |
// Add page |
62 | 882 |
if (scene->pages().count() < HSCONFIGURATION_GET(maximumPageCount)) { |
63 | 883 |
menu->addAction(hbTrId(hsLocTextId_OptionsMenu_AddPage), |
36
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
884 |
this, SIGNAL(event_addPage())); |
63 | 885 |
|
36
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
886 |
} |
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
887 |
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
888 |
// Change wallpaper |
63 | 889 |
menu->addAction(hbTrId(hsLocTextId_ContextMenu_ChangeWallpaper), |
62 | 890 |
this, SIGNAL(event_selectWallpaper())); |
63 | 891 |
|
36
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
892 |
// Remove page |
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
893 |
if (scene->activePage()->isRemovable()) { |
63 | 894 |
menu->addAction(hbTrId(hsLocTextId_OptionsMenu_RemovePage), |
895 |
this, SIGNAL(event_preRemovePage())); |
|
36
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
896 |
} |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
897 |
|
36
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
898 |
// Online / Offline |
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
899 |
if (scene->isOnline()) { |
63 | 900 |
menu->addAction(hbTrId(hsLocTextId_OptionsMenu_HsToOffline), |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
901 |
this, SIGNAL(event_toggleConnection())); |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
902 |
} else { |
63 | 903 |
menu->addAction(hbTrId(hsLocTextId_OptionsMenu_HsToOnline), |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
904 |
this, SIGNAL(event_toggleConnection())); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
905 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
906 |
|
69 | 907 |
HsGui::instance()->idleView()->setMenu(menu); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
908 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
909 |
|
62 | 910 |
void HsIdleState::action_waitInput_connectGestureHandlers() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
911 |
{ |
62 | 912 |
HsScene *scene = HsScene::instance(); |
913 |
||
914 |
connect(scene, |
|
86 | 915 |
SIGNAL(pageTapFinished(QGestureEvent*)), |
916 |
SLOT(closeVirtualKeyboard()), |
|
917 |
Qt::UniqueConnection); |
|
918 |
connect(scene, |
|
919 |
SIGNAL(pagePanStarted(QGestureEvent*)), |
|
920 |
SLOT(closeVirtualKeyboard()), |
|
921 |
Qt::UniqueConnection); |
|
922 |
||
923 |
connect(scene, |
|
62 | 924 |
SIGNAL(pageTapAndHoldFinished(QGestureEvent*)), |
925 |
SLOT(onPageTapAndHoldFinished(QGestureEvent*)), |
|
926 |
Qt::UniqueConnection); |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
927 |
|
62 | 928 |
connect(scene, |
929 |
SIGNAL(pagePanStarted(QGestureEvent*)), |
|
930 |
SLOT(onPagePanStarted(QGestureEvent*)), |
|
931 |
Qt::UniqueConnection); |
|
932 |
||
933 |
connect(scene, |
|
86 | 934 |
SIGNAL(widgetTapStarted(QPointF, HsWidgetHost*)), |
935 |
SLOT(onWidgetTapStarted(QPointF, HsWidgetHost*)), |
|
62 | 936 |
Qt::UniqueConnection); |
937 |
||
938 |
connect(scene, |
|
939 |
SIGNAL(widgetTapAndHoldFinished(QGestureEvent*,HsWidgetHost*)), |
|
940 |
SLOT(onWidgetTapAndHoldFinished(QGestureEvent*,HsWidgetHost*)), |
|
941 |
Qt::UniqueConnection); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
942 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
943 |
|
62 | 944 |
void HsIdleState::action_waitInput_disconnectGestureHandlers() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
945 |
{ |
62 | 946 |
HsScene *scene = HsScene::instance(); |
947 |
scene->disconnect(this); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
948 |
} |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
949 |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
950 |
/*! |
62 | 951 |
Resets new widget layout. |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
952 |
*/ |
62 | 953 |
void HsIdleState::action_waitInput_resetNewWidgets() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
954 |
{ |
62 | 955 |
HsScene::instance()->activePage()->resetNewWidgets(); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
956 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
957 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
958 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
959 |
Reparents the active widget to the control layer. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
960 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
961 |
void HsIdleState::action_moveWidget_reparentToControlLayer() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
962 |
{ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
963 |
HsWidgetHost *widget = HsScene::instance()->activeWidget(); |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
964 |
Q_ASSERT(widget); |
69 | 965 |
widget->visual()->setParentItem(HsGui::instance()->idleWidget()->controlLayer()); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
966 |
|
69 | 967 |
HsGui::instance()->idleWidget()->showTrashBin(); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
968 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
969 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
970 |
/*! |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
971 |
Starts the widget drag effect. |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
972 |
*/ |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
973 |
void HsIdleState::action_moveWidget_startWidgetDragEffect() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
974 |
{ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
975 |
HsWidgetHost *widget = HsScene::instance()->activeWidget(); |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
976 |
Q_ASSERT(widget); |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
977 |
widget->startDragEffect(); |
62 | 978 |
mAllowZoneAnimation = true; |
979 |
} |
|
980 |
||
86 | 981 |
/*! |
982 |
*/ |
|
62 | 983 |
void HsIdleState::action_moveWidget_connectGestureHandlers() |
984 |
{ |
|
985 |
HsScene *scene = HsScene::instance(); |
|
986 |
||
987 |
connect(scene, |
|
988 |
SIGNAL(widgetMoveUpdated(const QPointF&,HsWidgetHost*)), |
|
989 |
SLOT(onWidgetMoveUpdated(const QPointF&,HsWidgetHost*)), |
|
990 |
Qt::UniqueConnection); |
|
991 |
||
992 |
connect(scene, |
|
993 |
SIGNAL(widgetMoveFinished(const QPointF&,HsWidgetHost*)), |
|
994 |
SLOT(onWidgetMoveFinished(const QPointF&,HsWidgetHost*)), |
|
995 |
Qt::UniqueConnection); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
996 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
997 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
998 |
/*! |
86 | 999 |
Connects the SIGNAL for changing the orientation for moveWidget state |
1000 |
to update the snapping algorithm accordingly. |
|
1001 |
*/ |
|
1002 |
void HsIdleState::action_moveWidget_connectOrientationChangeEventHandler() |
|
1003 |
{ |
|
1004 |
connect(HsGui::instance(), |
|
1005 |
SIGNAL(orientationChanged(Qt::Orientation)), |
|
1006 |
SLOT(updateSnapAlgorithmParameters())); |
|
1007 |
} |
|
1008 |
||
1009 |
/*! |
|
62 | 1010 |
Initializes the presentation to the snapping algorithm |
1011 |
Connects the SIGNAL for changing the presentation on active page changed |
|
1012 |
Connects the timer for showing the snap lines |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1013 |
*/ |
62 | 1014 |
void HsIdleState::action_moveWidget_setWidgetSnap() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1015 |
{ |
62 | 1016 |
if (HSCONFIGURATION_GET(isSnapEnabled)) { |
1017 |
||
1018 |
QVariantHash snapConfiguration; |
|
81 | 1019 |
snapConfiguration[Hs::snapEnabled] = QString::number(HSCONFIGURATION_GET(isSnapEnabled)); |
1020 |
snapConfiguration[Hs::snapForce] = QString::number(HSCONFIGURATION_GET(snapForce)); |
|
1021 |
snapConfiguration[Hs::snapGap] = QString::number(HSCONFIGURATION_GET(snapGap)); |
|
62 | 1022 |
HsWidgetPositioningOnWidgetMove::instance()->setConfiguration(snapConfiguration); |
1023 |
||
1024 |
updatePagePresentationToWidgetSnap(); |
|
1025 |
||
1026 |
connect(HsScene::instance(), SIGNAL(activePageChanged()), |
|
86 | 1027 |
SLOT(updateSnapAlgorithmParameters())); |
62 | 1028 |
|
1029 |
if (HSCONFIGURATION_GET(isSnapEffectsEnabled)) { |
|
1030 |
mVerticalSnapLineTimer.setInterval(HSCONFIGURATION_GET(snapTimeout)); |
|
1031 |
mHorizontalSnapLineTimer.setInterval(HSCONFIGURATION_GET(snapTimeout)); |
|
1032 |
||
1033 |
connect(&mVerticalSnapLineTimer, SIGNAL(timeout()), |
|
1034 |
SLOT(onVerticalSnapLineTimerTimeout())); |
|
1035 |
connect(&mHorizontalSnapLineTimer, SIGNAL(timeout()), |
|
1036 |
SLOT(onHorizontalSnapLineTimerTimeout())); |
|
1037 |
||
1038 |
} |
|
1039 |
} |
|
1040 |
} |
|
1041 |
||
1042 |
/*! |
|
1043 |
Create the list of inactive rectangles on the page. |
|
1044 |
*/ |
|
1045 |
QList<QRectF> HsIdleState::createInactiveWidgetRects() |
|
1046 |
{ |
|
1047 |
HsScene *scene = HsScene::instance(); |
|
1048 |
HsPage *activePage = scene->activePage(); |
|
1049 |
HsWidgetHost *activeWidget = scene->activeWidget(); |
|
1050 |
||
1051 |
QList<QRectF> incativeWidgetRects; |
|
1052 |
||
1053 |
foreach (HsWidgetHost* widget, activePage->widgets()) { |
|
1054 |
//If the above function returns the active widget, skip over it as widget and mMovingRect represent same widget. |
|
1055 |
if (widget == activeWidget) { |
|
1056 |
continue; |
|
1057 |
} |
|
69 | 1058 |
QRectF widgetRect = widget->visual()->geometry(); |
62 | 1059 |
incativeWidgetRects.append(widgetRect); |
1060 |
} |
|
1061 |
return incativeWidgetRects; |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1062 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1063 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1064 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1065 |
Reparents the active widget to the active page. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1066 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1067 |
void HsIdleState::action_moveWidget_reparentToPage() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1068 |
{ |
69 | 1069 |
HsPropertyAnimationWrapper *pageCrawlingAnimation = |
1070 |
HsGui::instance()->pageCrawlingAnimation(); |
|
1071 |
if (pageCrawlingAnimation->isRunning()&& |
|
1072 |
pageCrawlingAnimation->isForward()) { |
|
1073 |
pageCrawlingAnimation->setDuration(HSCONFIGURATION_GET(pageChangeZoneReverseAnimationDuration)); |
|
1074 |
pageCrawlingAnimation->setBackward(); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1075 |
} |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1076 |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1077 |
HsScene *scene = HsScene::instance(); |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1078 |
HsPage *page = scene->activePage(); |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1079 |
HsWidgetHost *widget = scene->activeWidget(); |
90 | 1080 |
|
1081 |
if (widget) { |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1082 |
if (widget->page() != page) { |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1083 |
widget->page()->removeWidget(widget); |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1084 |
page->addExistingWidget(widget); |
69 | 1085 |
if (HsGui::instance()->orientation() == Qt::Horizontal) { |
55
03646e8da489
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
51
diff
changeset
|
1086 |
widget->removePresentation(Qt::Vertical); |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1087 |
} else { |
55
03646e8da489
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
51
diff
changeset
|
1088 |
widget->removePresentation(Qt::Horizontal); |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1089 |
} |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1090 |
} |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1091 |
|
63 | 1092 |
//Set the snap position of the widget and save the position |
69 | 1093 |
QRectF widgetRect = widget->visual()->geometry(); |
62 | 1094 |
if (mSnapResult.hasHorizontalSnap) { |
1095 |
widgetRect.moveLeft(mSnapResult.horizontalSnapPosition); |
|
1096 |
} |
|
1097 |
if (mSnapResult.hasVerticalSnap) { |
|
1098 |
widgetRect.moveTop(mSnapResult.verticalSnapPosition); |
|
1099 |
} |
|
1100 |
||
63 | 1101 |
QPointF adjustedWidgetPosition = page->adjustedWidgetPosition(widgetRect); |
69 | 1102 |
widget->visual()->setPos(adjustedWidgetPosition); |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1103 |
|
55
03646e8da489
Revision: 201021
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
51
diff
changeset
|
1104 |
widget->savePresentation(); |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1105 |
page->updateZValues(); |
90 | 1106 |
|
1107 |
widget->visual()->setParentItem(HsScene::instance()->activePage()->visual()); |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1108 |
} |
90 | 1109 |
HsGui::instance()->idleWidget()->showPageIndicator(); |
1110 |
||
1111 |
emit event_waitInput(); |
|
1112 |
} |
|
1113 |
||
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1114 |
|
90 | 1115 |
/*! |
1116 |
Reparents the active widget to the active page. |
|
1117 |
*/ |
|
1118 |
void HsIdleState::action_moveWidgetDelete_deleteWidgetOnTrashbin() |
|
1119 |
{ |
|
1120 |
HsScene *scene = HsScene::instance(); |
|
1121 |
HsWidgetHost *widget = scene->activeWidget(); |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1122 |
|
90 | 1123 |
if ( widget && HsGui::instance()->idleWidget()->trashBin()->isUnderMouse() ) { |
1124 |
HbInstantFeedback::play(HSCONFIGURATION_GET(widgetDropToTrashbinFeedbackEffect)); |
|
1125 |
widget->page()->removeWidget(widget); |
|
1126 |
widget->remove(); |
|
1127 |
scene->setActiveWidget(0); |
|
1128 |
} |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1129 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1130 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1131 |
/*! |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1132 |
Starts the widget drop effect. |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1133 |
*/ |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1134 |
void HsIdleState::action_moveWidget_startWidgetDropEffect() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1135 |
{ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1136 |
HsWidgetHost *widget = HsScene::instance()->activeWidget(); |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1137 |
if (widget) { |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1138 |
widget->startDropEffect(); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1139 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1140 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1141 |
|
86 | 1142 |
/*! |
90 | 1143 |
Set interactive to false. |
1144 |
*/ |
|
1145 |
void HsIdleState::action_moveWidget_disableInteractive() |
|
1146 |
{ |
|
1147 |
HsWidgetHost *widget = HsScene::instance()->activeWidget(); |
|
1148 |
if (widget) { |
|
1149 |
HsPropertyAnimationWrapper *animation = HsGui::instance()->pageChangeAnimation(); |
|
1150 |
if (animation->isRunning()) { |
|
1151 |
hbInstance->allMainWindows().first()->setInteractive(false); |
|
1152 |
} |
|
1153 |
HsScene::instance()->setActiveWidget(0); |
|
1154 |
} |
|
1155 |
} |
|
1156 |
||
1157 |
/*! |
|
86 | 1158 |
Disconnects gesture handlers |
1159 |
*/ |
|
62 | 1160 |
void HsIdleState::action_moveWidget_disconnectGestureHandlers() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1161 |
{ |
62 | 1162 |
HsScene *scene = HsScene::instance(); |
1163 |
scene->disconnect(this); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1164 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1165 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1166 |
/*! |
86 | 1167 |
Disconnects orientation change on moveWidget state |
1168 |
*/ |
|
1169 |
void HsIdleState::action_moveWidget_disconnectOrientationChangeEventHandler() |
|
1170 |
{ |
|
1171 |
disconnect(HsGui::instance(), |
|
1172 |
SIGNAL(orientationChanged(Qt::Orientation)), |
|
1173 |
this, SLOT(updateSnapAlgorithmParameters())); |
|
1174 |
||
1175 |
} |
|
1176 |
||
1177 |
/*! |
|
62 | 1178 |
Resets the snap position |
1179 |
Disconnect the Active Page Changed SIGNAL |
|
1180 |
Disconnects the timers to show snap lines |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1181 |
*/ |
62 | 1182 |
void HsIdleState::action_moveWidget_deleteWidgetSnap() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1183 |
{ |
62 | 1184 |
if (HSCONFIGURATION_GET(isSnapEnabled)) { |
1185 |
resetSnapPosition(); |
|
1186 |
||
1187 |
disconnect(HsScene::instance(), SIGNAL(activePageChanged()), |
|
86 | 1188 |
this, SLOT(updateSnapAlgorithmParameters())); |
62 | 1189 |
|
1190 |
if (HSCONFIGURATION_GET(isSnapEffectsEnabled)) { |
|
1191 |
disconnect(&mVerticalSnapLineTimer, SIGNAL(timeout()), |
|
1192 |
this, SLOT(onVerticalSnapLineTimerTimeout())); |
|
1193 |
disconnect(&mHorizontalSnapLineTimer, SIGNAL(timeout()), |
|
1194 |
this, SLOT(onHorizontalSnapLineTimerTimeout())); |
|
1195 |
} |
|
1196 |
} |
|
1197 |
} |
|
1198 |
||
1199 |
/*! |
|
1200 |
Prevents page change zone animation. |
|
1201 |
*/ |
|
1202 |
void HsIdleState::action_moveWidget_preventZoneAnimation() |
|
1203 |
{ |
|
1204 |
mAllowZoneAnimation = false; |
|
1205 |
} |
|
1206 |
||
1207 |
void HsIdleState::action_moveScene_connectGestureHandlers() |
|
1208 |
{ |
|
1209 |
HsScene *scene = HsScene::instance(); |
|
1210 |
||
1211 |
connect(scene, |
|
1212 |
SIGNAL(pagePanUpdated(QGestureEvent*)), |
|
1213 |
SLOT(onPagePanUpdated(QGestureEvent*)), |
|
1214 |
Qt::UniqueConnection); |
|
1215 |
||
1216 |
connect(scene, |
|
1217 |
SIGNAL(pagePanFinished(QGestureEvent*)), |
|
1218 |
SLOT(onPagePanFinished(QGestureEvent*)), |
|
1219 |
Qt::UniqueConnection); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1220 |
} |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1221 |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1222 |
/*! |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1223 |
Moves to the nearest page. |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1224 |
*/ |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1225 |
void HsIdleState::action_moveScene_moveToNearestPage() |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1226 |
{ |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1227 |
QList<HsPage *> pages = HsScene::instance()->pages(); |
69 | 1228 |
QSizeF pageSize = pages.first()->visual()->size(); |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1229 |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1230 |
int pageIndex = HsScene::instance()->activePageIndex(); |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1231 |
|
81 | 1232 |
if (mDeltaX < -HSCONFIGURATION_GET(pageChangePanDistance)) { |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1233 |
pageIndex = qMin(pageIndex + 1, pages.count() - 1); |
81 | 1234 |
} else if (HSCONFIGURATION_GET(pageChangePanDistance) < mDeltaX) { |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1235 |
pageIndex = qMax(pageIndex - 1, 0); |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1236 |
} |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1237 |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1238 |
HsScene::instance()->setActivePageIndex(pageIndex); |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1239 |
|
69 | 1240 |
HsPage *page = HsScene::instance()->activePage(); |
1241 |
if (page) { |
|
1242 |
QList<HsWidgetHost *> widgets = page->newWidgets(); |
|
1243 |
if (!widgets.isEmpty()) { |
|
1244 |
foreach (HsWidgetHost *widget, widgets) { |
|
1245 |
widget->startWidget(); |
|
1246 |
} |
|
1247 |
} |
|
1248 |
page->layoutNewWidgets(); |
|
1249 |
} |
|
1250 |
||
62 | 1251 |
startPageChangeAnimation(pageIndex, HSCONFIGURATION_GET(pageChangeAnimationDuration)); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1252 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1253 |
|
62 | 1254 |
void HsIdleState::action_moveScene_disconnectGestureHandlers() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1255 |
{ |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1256 |
HsScene *scene = HsScene::instance(); |
62 | 1257 |
scene->disconnect(this); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1258 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1259 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1260 |
/*! |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1261 |
Adds a new page to the scene. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1262 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1263 |
void HsIdleState::action_addPage_addPage() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1264 |
{ |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1265 |
HsScene *scene = HsScene::instance(); |
62 | 1266 |
int pageIndex = scene->activePageIndex() + 1; |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1267 |
addPageToScene(pageIndex); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1268 |
scene->setActivePageIndex(pageIndex); |
62 | 1269 |
startPageChangeAnimation(pageIndex, HSCONFIGURATION_GET(newPageAddedAnimationDuration)); |
69 | 1270 |
HsGui::instance()->idleWidget()->pageIndicator()->addItem(pageIndex); |
1271 |
HsGui::instance()->idleWidget()->showPageIndicator(); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1272 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1273 |
|
69 | 1274 |
/*! |
1275 |
Displays a confirmation query before page is removed if there are widgets on page |
|
1276 |
*/ |
|
63 | 1277 |
void HsIdleState::action_preRemovePage_showQuery() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1278 |
{ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1279 |
HsScene *scene = HsScene::instance(); |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1280 |
HsPage *page = scene->activePage(); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1281 |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1282 |
if (!page->widgets().isEmpty()) { |
63 | 1283 |
if (!mMessageBoxWrapper) { |
1284 |
mMessageBoxWrapper = new HsMessageBoxWrapper(this); |
|
1285 |
mMessageBoxWrapper->setHeader(hbTrId(hsLocTextId_Title_RemovePage)); |
|
1286 |
mMessageBoxWrapper->setQueryText(hbTrId(hsLocTextId_Confirmation_RemovePage)); |
|
1287 |
connect(mMessageBoxWrapper,SIGNAL(accepted()),SIGNAL(event_removePage())); |
|
1288 |
connect(mMessageBoxWrapper,SIGNAL(rejected()),SIGNAL(event_waitInput())); |
|
1289 |
} |
|
1290 |
mMessageBoxWrapper->show(); |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1291 |
} else { |
62 | 1292 |
// Empty page can be removed without confirmation |
63 | 1293 |
emit event_removePage(); |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1294 |
} |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1295 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1296 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1297 |
/*! |
69 | 1298 |
Make sure confirmation query gets closed if user exits preRemovePage state e.g. by pressing application key |
1299 |
*/ |
|
1300 |
void HsIdleState::action_preRemovePage_exit() |
|
1301 |
{ |
|
1302 |
if (mMessageBoxWrapper) { |
|
1303 |
mMessageBoxWrapper->close(); |
|
1304 |
} |
|
1305 |
} |
|
1306 |
||
1307 |
/*! |
|
63 | 1308 |
Start remove page animation. |
1309 |
*/ |
|
1310 |
void HsIdleState::action_removePage_startRemovePageAnimation() |
|
1311 |
{ |
|
1312 |
HsScene *scene = HsScene::instance(); |
|
1313 |
||
1314 |
int pageToRemoveIndex = scene->activePageIndex(); |
|
1315 |
bool isLastPage(scene->activePage() == scene->pages().last()); |
|
1316 |
||
1317 |
int nextPageIndex(pageToRemoveIndex); |
|
81 | 1318 |
|
63 | 1319 |
if (isLastPage) { |
1320 |
nextPageIndex--; |
|
81 | 1321 |
} else { |
1322 |
nextPageIndex++; |
|
63 | 1323 |
} |
81 | 1324 |
|
69 | 1325 |
HsPropertyAnimationWrapper *animation = HsGui::instance()->pageChangeAnimation(); |
1326 |
if (animation->isRunning()) { |
|
1327 |
animation->stop(); |
|
63 | 1328 |
} |
69 | 1329 |
animation->disconnect(this); |
1330 |
connect(animation, |
|
63 | 1331 |
SIGNAL(finished()), |
1332 |
SIGNAL(event_waitInput()), |
|
1333 |
Qt::UniqueConnection); |
|
69 | 1334 |
animation->setEndValue(pageLayerXPos(nextPageIndex)); |
1335 |
animation->setDuration(HSCONFIGURATION_GET(pageRemovedAnimationDuration)); |
|
63 | 1336 |
|
69 | 1337 |
animation->start(); |
63 | 1338 |
|
1339 |
HbInstantFeedback::play(HSCONFIGURATION_GET(pageChangeFeedbackEffect)); |
|
1340 |
||
1341 |
} |
|
1342 |
||
1343 |
/*! |
|
1344 |
Removes an existing page from the scene. |
|
1345 |
*/ |
|
1346 |
void HsIdleState::action_removePage_removePage() |
|
1347 |
{ |
|
69 | 1348 |
HsIdleWidget *idleWidget = HsGui::instance()->idleWidget(); |
1349 |
HsPropertyAnimationWrapper *animation = HsGui::instance()->pageChangeAnimation(); |
|
63 | 1350 |
HsScene *scene = HsScene::instance(); |
1351 |
HsPage *pageToRemove = scene->activePage(); |
|
69 | 1352 |
|
1353 |
if (animation->isRunning()) { |
|
1354 |
animation->stop(); |
|
1355 |
} |
|
63 | 1356 |
// remove from ui |
69 | 1357 |
idleWidget->removePage(pageToRemove->pageIndex()); |
1358 |
idleWidget->showPageIndicator(); |
|
63 | 1359 |
// update data model |
69 | 1360 |
scene->removePage(pageToRemove); |
63 | 1361 |
// Take new active page (previous was removed) and move scene to right position |
1362 |
qreal x = pageLayerXPos(scene->activePageIndex()); |
|
69 | 1363 |
idleWidget->setSceneX(x); |
63 | 1364 |
// delete it |
1365 |
pageToRemove->deleteLater(); |
|
1366 |
||
1367 |
} |
|
1368 |
/*! |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1369 |
Toggles the homescreen online/offline state. |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1370 |
*/ |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1371 |
void HsIdleState::action_toggleConnection_toggleConnection() |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1372 |
{ |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1373 |
HsScene *scene = HsScene::instance(); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1374 |
scene->setOnline(!scene->isOnline()); |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1375 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1376 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1377 |
#ifdef COVERAGE_MEASUREMENT |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1378 |
#pragma CTC SKIP |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1379 |
#endif //COVERAGE_MEASUREMENT |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1380 |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1381 |
/*! |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1382 |
Open task switcher. |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1383 |
\retval true if operation is successful. |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1384 |
*/ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1385 |
bool HsIdleState::openTaskSwitcher() |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1386 |
{ |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1387 |
return HsMenuService::launchTaskSwitcher(); |
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1388 |
} |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1389 |
#ifdef COVERAGE_MEASUREMENT |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1390 |
#pragma CTC ENDSKIP |
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1391 |
#endif //COVERAGE_MEASUREMENT |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1392 |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1393 |
/*! |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1394 |
Page change zone animation has been finished. |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1395 |
*/ |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1396 |
void HsIdleState::zoneAnimationFinished() |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1397 |
{ |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1398 |
HsScene *scene = HsScene::instance(); |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1399 |
int pageIndex = scene->activePageIndex(); |
69 | 1400 |
HsGui *gui(HsGui::instance()); |
1401 |
if (gui->pageCrawlingAnimation()->isForward()) { |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1402 |
if (isInLeftPageChangeZone() && |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1403 |
0 < pageIndex) { |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1404 |
--pageIndex; |
62 | 1405 |
} else if (isInRightPageChangeZone() && |
1406 |
pageIndex < scene->pages().count()) { |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1407 |
++pageIndex; |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1408 |
} |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1409 |
if (pageIndex == scene->pages().count()) { |
62 | 1410 |
if (pageIndex < HSCONFIGURATION_GET(maximumPageCount)) { |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1411 |
addPageToScene(pageIndex); |
69 | 1412 |
gui->idleWidget()->showPageIndicator(); |
1413 |
gui->idleWidget()->pageIndicator()->addItem(pageIndex); |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1414 |
} |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1415 |
} |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1416 |
scene->setActivePageIndex(pageIndex); |
62 | 1417 |
startPageChangeAnimation(pageIndex, HSCONFIGURATION_GET(pageChangeAnimationDuration)); |
1418 |
} else { |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1419 |
scene->setActivePageIndex(pageIndex); |
69 | 1420 |
gui->idleWidget()->setActivePage(pageIndex); |
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1421 |
} |
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
1422 |
} |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1423 |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1424 |
/*! |
62 | 1425 |
Page change animation has been finished. |
1426 |
*/ |
|
1427 |
void HsIdleState::pageChangeAnimationFinished() |
|
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
1428 |
{ |
86 | 1429 |
hbInstance->allMainWindows().first()->setInteractive(true); |
62 | 1430 |
updateZoneAnimation(); |
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1431 |
} |
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1432 |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
1433 |
|
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
1434 |
/*! |
62 | 1435 |
Provides the page presentation to the Widget Snap algorithm |
1436 |
*/ |
|
1437 |
void HsIdleState::updatePagePresentationToWidgetSnap() |
|
1438 |
{ |
|
63 | 1439 |
QRectF containerRect = HsScene::instance()->activePage()->contentGeometry(); |
62 | 1440 |
HsWidgetHost *activeWidget = HsScene::instance()->activeWidget(); |
69 | 1441 |
HsWidgetPositioningOnWidgetMove::instance()->setPagePresentation( |
1442 |
containerRect, createInactiveWidgetRects(), activeWidget->visual()->geometry()); |
|
62 | 1443 |
} |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
1444 |
|
62 | 1445 |
/*! |
1446 |
Reset Snap position, hide the snap lines |
|
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
1447 |
*/ |
62 | 1448 |
void HsIdleState::resetSnapPosition() |
1449 |
{ |
|
1450 |
mSnapResult = HsWidgetPositioningOnWidgetMove::Result(); |
|
1451 |
mPreviousSnapResult = HsWidgetPositioningOnWidgetMove::Result(); |
|
1452 |
hideVerticalLine(); |
|
1453 |
hideHorizontalLine(); |
|
1454 |
} |
|
1455 |
||
1456 |
/*! |
|
1457 |
Show the Vertical line for Snap guidance |
|
1458 |
*/ |
|
1459 |
void HsIdleState::showVerticalLine() |
|
1460 |
{ |
|
1461 |
if (mPreviousSnapResult.verticalSnapLine.x1() != mSnapResult.verticalSnapLine.x1()) { |
|
1462 |
hideVerticalLine(); |
|
1463 |
mVerticalSnapLineTimer.start(); |
|
1464 |
} |
|
1465 |
else { |
|
1466 |
//As the Vertical Line position is at the same place, |
|
1467 |
//the timer was started when vertical line positions were at different locations |
|
1468 |
//the line will be shown when the timer expires. |
|
1469 |
//If timer has already expired, just show the line, which is redrawn to new geometry. |
|
1470 |
if (!mVerticalSnapLineTimer.isActive()) { |
|
69 | 1471 |
HsGui::instance()->idleWidget()->showVerticalSnapLine(mSnapResult.verticalSnapLine); |
62 | 1472 |
} |
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
1473 |
} |
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
1474 |
} |
62 | 1475 |
|
1476 |
/*! |
|
1477 |
Timer for showing the Vertical line expires |
|
1478 |
*/ |
|
1479 |
void HsIdleState::onVerticalSnapLineTimerTimeout() |
|
1480 |
{ |
|
69 | 1481 |
HsGui::instance()->idleWidget()->showVerticalSnapLine(mSnapResult.verticalSnapLine); |
62 | 1482 |
} |
1483 |
||
1484 |
/*! |
|
1485 |
Hide the Vertical line for Snap guidance |
|
1486 |
*/ |
|
1487 |
void HsIdleState::hideVerticalLine() |
|
1488 |
{ |
|
69 | 1489 |
HsGui::instance()->idleWidget()->hideVerticalSnapLine(); |
62 | 1490 |
mVerticalSnapLineTimer.stop(); |
1491 |
} |
|
1492 |
||
1493 |
/*! |
|
1494 |
Show the Horizontal line for Snap guidance |
|
1495 |
*/ |
|
1496 |
void HsIdleState::showHorizontalLine() |
|
1497 |
{ |
|
1498 |
if (mPreviousSnapResult.horizontalSnapLine.y1() != mSnapResult.horizontalSnapLine.y1()) { |
|
1499 |
hideHorizontalLine(); |
|
1500 |
mHorizontalSnapLineTimer.start(); |
|
1501 |
} |
|
1502 |
else { |
|
1503 |
if (!mHorizontalSnapLineTimer.isActive()) { |
|
69 | 1504 |
HsGui::instance()->idleWidget()->showHorizontalSnapLine(mSnapResult.horizontalSnapLine); |
62 | 1505 |
} |
1506 |
} |
|
1507 |
} |
|
1508 |
||
1509 |
/*! |
|
1510 |
Timer for showing the Horizontal line expires |
|
1511 |
*/ |
|
1512 |
void HsIdleState::onHorizontalSnapLineTimerTimeout() |
|
1513 |
{ |
|
69 | 1514 |
HsGui::instance()->idleWidget()->showHorizontalSnapLine(mSnapResult.horizontalSnapLine); |
62 | 1515 |
} |
1516 |
||
1517 |
/*! |
|
1518 |
Hide the Horizontal line for Snap guidance |
|
1519 |
*/ |
|
1520 |
void HsIdleState::hideHorizontalLine() |
|
1521 |
{ |
|
69 | 1522 |
HsGui::instance()->idleWidget()->hideHorizontalSnapLine(); |
62 | 1523 |
mHorizontalSnapLineTimer.stop(); |
1524 |
} |
|
1525 |
||
1526 |
/*! |
|
1527 |
Handles updating the Snap algorithm with page presentation on page change |
|
1528 |
*/ |
|
86 | 1529 |
void HsIdleState::updateSnapAlgorithmParameters() |
62 | 1530 |
{ |
1531 |
updatePagePresentationToWidgetSnap(); |
|
1532 |
resetSnapPosition(); |
|
1533 |
} |
|
63 | 1534 |
|
86 | 1535 |
/*! |
1536 |
Closes virtual keyboard |
|
1537 |
*/ |
|
1538 |
void HsIdleState::closeVirtualKeyboard() |
|
1539 |
{ |
|
1540 |
HbVkbHost::HbVkbStatus status = HbVkbHostBridge::instance()->keypadStatus(); |
|
1541 |
if (status == HbVkbHost::HbVkbStatusOpened ) { |
|
1542 |
QInputContext *ic = qApp->inputContext(); |
|
1543 |
if (ic) { |
|
1544 |
QEvent *event = new QEvent(QEvent::CloseSoftwareInputPanel); |
|
1545 |
ic->filterEvent(event); |
|
1546 |
delete event; |
|
1547 |
} |
|
1548 |
} |
|
1549 |
} |
|
63 | 1550 |
|
86 | 1551 |
/*! |
1552 |
Returns true if \a widget has editor field under \a point. |
|
1553 |
*/ |
|
1554 |
bool HsIdleState::isEditor(const QPointF &point, HsWidgetHost *widget) |
|
1555 |
{ |
|
1556 |
bool isWidgetEditor = false; |
|
1557 |
QList<QGraphicsItem *> items; |
|
1558 |
if ( widget->visual()->scene() ) { |
|
1559 |
items = widget->visual()->scene()->items(point); |
|
1560 |
} |
|
1561 |
int count = items.count(); |
|
1562 |
for (int i=0; i<count && !isWidgetEditor; i++ ) { |
|
1563 |
QGraphicsItem *item = items.at(i); |
|
1564 |
if (item->isWidget()) { |
|
1565 |
isWidgetEditor = HbInputFocusObject::isEditor(item->toGraphicsObject()) && |
|
1566 |
qobject_cast<QGraphicsWidget *>(widget->visual()->widget())->isAncestorOf(item); |
|
1567 |
} |
|
1568 |
} |
|
1569 |
return isWidgetEditor; |
|
1570 |
} |
|
90 | 1571 |
|
1572 |
/*! |
|
1573 |
Stops page change and page crawling animations. |
|
1574 |
*/ |
|
1575 |
void HsIdleState::stopPageChangeAnimations() |
|
1576 |
{ |
|
1577 |
HsPropertyAnimationWrapper *animation = HsGui::instance()->pageChangeAnimation(); |
|
1578 |
if (animation->isRunning()) { |
|
1579 |
animation->stop(); |
|
1580 |
hbInstance->allMainWindows().first()->setInteractive(true); |
|
1581 |
} |
|
1582 |
animation->disconnect(this); |
|
1583 |
||
1584 |
HsPropertyAnimationWrapper *pageCrawlingAnimation = |
|
1585 |
HsGui::instance()->pageCrawlingAnimation(); |
|
1586 |
||
1587 |
if (pageCrawlingAnimation->isRunning()) { |
|
1588 |
pageCrawlingAnimation->stop(); |
|
1589 |
} |
|
1590 |
} |
|
1591 |