| author | hgs |
| Wed, 20 Oct 2010 15:25:39 +0300 | |
| changeset 101 | ba1b7e218624 |
| parent 98 | e6f74eb7f69f |
| 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: Menu All Applications state. |
|
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 |
|
| 63 | 18 |
#include <QStateMachine> |
19 |
#include <HbMenu> |
|
20 |
#include <HbAction> |
|
21 |
#include <HbAbstractViewItem> |
|
22 |
#include <HbIndexFeedback> |
|
23 |
#include <HbListView> |
|
24 |
#include <HbView> |
|
| 97 | 25 |
#include <HbGroupBox> |
| 98 | 26 |
#include <HbInstance> |
27 |
#include <HbMainWindow> |
|
| 63 | 28 |
|
29 |
#include <cadefs.h> |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
30 |
#include <caentry.h> |
| 63 | 31 |
#include <caitemmodel.h> |
32 |
#include <caservice.h> |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
33 |
|
| 63 | 34 |
#include "hsapp_defs.h" |
35 |
#include "hsmenueventfactory.h" |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
36 |
#include "hsmenuitemmodel.h" |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
37 |
#include "hsallappsstate.h" |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
38 |
#include "hsmenumodewrapper.h" |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
39 |
#include "hsmenuviewbuilder.h" |
|
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
40 |
#include "hsmainwindow.h" |
| 71 | 41 |
#include "hsaddmodeproxymodel.h" |
42 |
#include "hsapplibstateutils.h" |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
43 |
|
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
44 |
/*! |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
45 |
\class HsAllAppsState |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
46 |
\ingroup group_hsmenustateplugin |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
47 |
\brief All Applications State. |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
48 |
Displays all applications present on the device in a sorted list. |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
49 |
\lib ?library |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
50 |
\see StateMachine |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
51 |
*/ |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
52 |
|
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
53 |
/*! |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
54 |
\var HsAllAppsState::mSortAttribute |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
55 |
Sort order |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
56 |
*/ |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
57 |
|
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
58 |
/*! |
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
59 |
Constructor. |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
60 |
\param menuViewBuilder Menu view builder. |
| 63 | 61 |
\param menuMode Menu mode object(add mode on/add mode off). |
62 |
\param mainWindow Main window wrapper. |
|
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
63 |
\param parent Owner. |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
64 |
*/ |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
65 |
HsAllAppsState::HsAllAppsState(HsMenuViewBuilder &menuViewBuilder, |
|
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
66 |
HsMenuModeWrapper &menuMode, |
|
51
4785f57bf3d4
Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
46
diff
changeset
|
67 |
HsMainWindow &mainWindow, |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
68 |
QState *parent) : |
| 63 | 69 |
HsBaseViewState(mainWindow, menuMode, parent), |
| 71 | 70 |
mAddModeProxyModel(0), |
| 86 | 71 |
mSortAttribute(Hs::AscendingNameHsSortAttribute), |
72 |
mAscendingMenuAction(0), |
|
| 98 | 73 |
mDescendingMenuAction(0), |
74 |
mListMenuAction(0), |
|
75 |
mGridMenuAction(0), |
|
76 |
mPublisher(NULL), |
|
77 |
mSubscriber(NULL) |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
78 |
{
|
| 98 | 79 |
mPublisher = new QValueSpacePublisher(QValueSpace::PermanentLayer, Hs::KViewAllAppsPath, this); |
80 |
mSubscriber = new QValueSpaceSubscriber(QString("%1/%2").arg(Hs::KViewAllAppsPath).arg(Hs::KGridPath), this);
|
|
81 |
mGrid = mSubscriber->value().toBool(); |
|
82 |
mMainWindow = HbInstance::instance()->allMainWindows().value(0); |
|
83 |
if (mGrid && mMainWindow) {
|
|
84 |
if (mMainWindow->orientation() == Qt::Vertical) {
|
|
85 |
initialize(menuViewBuilder, HsAllAppsContext, HsGridPortraitContext); |
|
86 |
} else {
|
|
87 |
initialize(menuViewBuilder, HsAllAppsContext, HsGridLandscapeContext); |
|
88 |
} |
|
89 |
} else {
|
|
90 |
initialize(menuViewBuilder, HsAllAppsContext); |
|
91 |
} |
|
92 |
||
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
93 |
construct(); |
| 81 | 94 |
mAddModeProxyModel = new HsAddModeProxyModel(this); |
| 98 | 95 |
mAddModeProxyModel->setSourceModel(mModel); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
96 |
} |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
97 |
|
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
98 |
/*! |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
99 |
Constructs contained objects. |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
100 |
*/ |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
101 |
void HsAllAppsState::construct() |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
102 |
{
|
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
103 |
HSMENUTEST_FUNC_ENTRY("HsAllAppsState::construct");
|
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
104 |
|
| 63 | 105 |
defineTransitions(); |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
106 |
|
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
107 |
const QString parentName = |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
108 |
parent() != 0 ? parent()->objectName() : QString("");
|
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
109 |
setObjectName(parentName + "/allappsstate"); |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
110 |
|
| 63 | 111 |
connect(mBackKeyAction, SIGNAL(triggered()), SIGNAL(toAppLibraryState())); |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
112 |
|
| 63 | 113 |
mModel = HsMenuService::getAllApplicationsModel(mSortAttribute); |
| 98 | 114 |
if (mGrid) {
|
115 |
mModel->setSecondLineVisibility(false); |
|
116 |
} |
|
| 63 | 117 |
mMenuView->setModel(mModel); |
| 97 | 118 |
updateLabel(); |
119 |
connect(mModel, SIGNAL(countChange()), SLOT(updateLabel())); |
|
120 |
||
| 71 | 121 |
mModel->preloadIcons(); |
122 |
||
| 63 | 123 |
HbIndexFeedback *indexFeedback = new HbIndexFeedback(mMenuView->view()); |
| 62 | 124 |
indexFeedback->setIndexFeedbackPolicy(HbIndexFeedback::IndexFeedbackSingleCharacter); |
| 98 | 125 |
indexFeedback->setItemView(mMenuView->itemView()); |
| 62 | 126 |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
127 |
HSMENUTEST_FUNC_EXIT("HsAllAppsState::construct");
|
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
128 |
} |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
129 |
|
| 63 | 130 |
|
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
131 |
/*! |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
132 |
Creates and installs menu options for the view |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
133 |
*/ |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
134 |
void HsAllAppsState::setMenuOptions() |
|
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 |
HSMENUTEST_FUNC_ENTRY("HsAllAppsState::setMenuOptions");
|
| 71 | 137 |
mViewOptions->clearActions(); |
138 |
mViewOptions->addAction(hbTrId("txt_applib_opt_task_switcher"),
|
|
| 90 | 139 |
static_cast<HsBaseViewState*>(this), SLOT(openTaskSwitcher())); |
| 71 | 140 |
mViewOptions->addAction(hbTrId("txt_applib_opt_add_to_collection"),
|
| 90 | 141 |
this, SLOT(addToCollection())); |
| 86 | 142 |
mAscendingMenuAction = |
143 |
mViewOptions->addAction(hbTrId("txt_applib_menu_sort_by_ascending"),
|
|
144 |
this, SLOT(ascendingMenuAction())); |
|
145 |
mDescendingMenuAction = |
|
146 |
mViewOptions->addAction(hbTrId("txt_applib_menu_sort_by_descending"),
|
|
| 90 | 147 |
this, SLOT(descendingMenuAction())); |
| 98 | 148 |
|
149 |
mListMenuAction = |
|
150 |
mViewOptions->addAction(hbTrId("txt_applib_opt_list_view"),
|
|
151 |
this, SLOT(listMenuAction())); |
|
152 |
mGridMenuAction = |
|
153 |
mViewOptions->addAction(hbTrId("txt_applib_opt_grid_view"),
|
|
154 |
this, SLOT(gridMenuAction())); |
|
155 |
||
| 90 | 156 |
mViewOptions->addAction(hbTrId("txt_applib_opt_check_software_updates"),
|
157 |
static_cast<HsBaseViewState*>(this), SLOT(checkSoftwareUpdates())); |
|
158 |
mViewOptions->addAction( |
|
159 |
hbTrId("txt_applib_opt_view_installed_applications"),
|
|
160 |
static_cast<HsBaseViewState*>(this), SLOT(openInstalledView())); |
|
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
161 |
|
| 86 | 162 |
if (mSortAttribute == Hs::AscendingNameHsSortAttribute) {
|
163 |
mAscendingMenuAction->setVisible(false); |
|
164 |
} else {
|
|
165 |
mDescendingMenuAction->setVisible(false); |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
166 |
} |
| 98 | 167 |
|
168 |
if (mGrid) {
|
|
169 |
mGridMenuAction->setVisible(false); |
|
170 |
} else {
|
|
171 |
mListMenuAction->setVisible(false); |
|
172 |
} |
|
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
173 |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
174 |
HSMENUTEST_FUNC_EXIT("HsAllAppsState::setMenuOptions");
|
|
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 |
|
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
177 |
/*! |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
178 |
Destructor. |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
179 |
*/ |
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
180 |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
181 |
HsAllAppsState::~HsAllAppsState() |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
182 |
{
|
| 98 | 183 |
delete mPublisher; |
184 |
delete mSubscriber; |
|
|
35
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 |
|
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
188 |
/*! |
| 71 | 189 |
Slot invoked when normal mode entered. |
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
190 |
*/ |
| 98 | 191 |
void HsAllAppsState::stateEntered() |
192 |
{
|
|
193 |
orientationChanged(mMainWindow->orientation(), false); |
|
194 |
HsBaseViewState::stateEntered(); |
|
195 |
connect(mMainWindow, |
|
196 |
SIGNAL(aboutToChangeOrientation()), |
|
197 |
this, |
|
198 |
SLOT(orientationGoingToBeChanged()) |
|
199 |
); |
|
200 |
connect(mMainWindow, |
|
201 |
SIGNAL(orientationChanged(Qt::Orientation)), |
|
202 |
this, |
|
203 |
SLOT(orientationChanged(Qt::Orientation)) |
|
204 |
); |
|
205 |
} |
|
206 |
||
207 |
/*! |
|
208 |
Slot invoked when normal mode entered. |
|
209 |
*/ |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
210 |
void HsAllAppsState::normalModeEntered() |
| 63 | 211 |
{
|
212 |
HsBaseViewState::normalModeEntered(); |
|
213 |
connect(mMenuView.data(), |
|
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
214 |
SIGNAL(activated(QModelIndex)), |
| 63 | 215 |
static_cast<HsBaseViewState*>(this), SLOT(launchItem(QModelIndex))); |
|
35
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 |
|
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
218 |
/*! |
| 81 | 219 |
Sets model for this view in depends on menuMode. |
220 |
\param menuMode menu mode |
|
| 71 | 221 |
*/ |
| 81 | 222 |
void HsAllAppsState::setModel(Hs::HsMenuMode menuMode) |
| 71 | 223 |
{
|
| 81 | 224 |
if (menuMode == Hs::AddHsMenuMode) {
|
225 |
if (mMenuView->model() != mAddModeProxyModel) {
|
|
226 |
mMenuView->setModel(mAddModeProxyModel); |
|
227 |
} |
|
228 |
} else {
|
|
229 |
if (mMenuView->model() != mModel) {
|
|
230 |
mMenuView->setModel(mModel); |
|
231 |
} |
|
232 |
} |
|
233 |
} |
|
234 |
||
235 |
||
236 |
/*! |
|
237 |
Scrolls view to first item at top |
|
238 |
*/ |
|
239 |
void HsAllAppsState::scrollToBeginning() |
|
240 |
{
|
|
241 |
QAbstractItemModel* model = mMenuView->model(); |
|
242 |
if (model != NULL ) {
|
|
| 98 | 243 |
mMenuView->itemView()->scrollTo( |
| 81 | 244 |
model->index(0,0), HbAbstractItemView::PositionAtTop); |
| 71 | 245 |
} |
246 |
} |
|
247 |
||
248 |
/*! |
|
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
249 |
Slot invoked when a state is exited. |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
250 |
*/ |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
251 |
void HsAllAppsState::stateExited() |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
252 |
{
|
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
253 |
HSMENUTEST_FUNC_ENTRY("HsAllAppsState::stateExited");
|
| 98 | 254 |
|
255 |
disconnect(mMainWindow, |
|
256 |
SIGNAL(orientationChanged(Qt::Orientation)), |
|
257 |
this, |
|
258 |
SLOT(orientationChanged(Qt::Orientation)) |
|
259 |
); |
|
260 |
||
261 |
disconnect(mMainWindow, |
|
262 |
SIGNAL(aboutToChangeOrientation()), |
|
263 |
this, |
|
264 |
SLOT(orientationGoingToBeChanged()) |
|
265 |
); |
|
266 |
||
| 62 | 267 |
HsBaseViewState::stateExited(); |
| 69 | 268 |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
269 |
HSMENUTEST_FUNC_EXIT("HsAllAppsState::stateExited");
|
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
270 |
qDebug("AllAppsState::stateExited()");
|
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
271 |
} |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
272 |
|
|
36
cdae8c6c3876
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
35
diff
changeset
|
273 |
/*! |
| 97 | 274 |
Slot invoked label has to be changed. |
275 |
*/ |
|
276 |
void HsAllAppsState::updateLabel() |
|
277 |
{
|
|
278 |
mMenuView->viewLabel()->setHeading( |
|
279 |
hbTrId("txt_applib_subtitle_applications_widgets_l1").arg(
|
|
280 |
mModel->rowCount())); |
|
281 |
} |
|
282 |
/*! |
|
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
283 |
Slot called when application is adding to collection. |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
284 |
*/ |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
285 |
void HsAllAppsState::addToCollection() |
|
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 |
// Add one/many applications to |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
288 |
// a new/an existing collection via the All view |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
289 |
machine()->postEvent( |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
290 |
HsMenuEventFactory::createAddAppsFromApplicationsViewEvent( |
| 98 | 291 |
mSortAttribute,0, |
292 |
mMenuView->currentScrollPosition().row())); |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
293 |
} |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
294 |
|
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
295 |
/*! |
| 63 | 296 |
Method seting context menu options. |
297 |
*/ |
|
298 |
void HsAllAppsState::setContextMenuOptions(HbAbstractViewItem *item, EntryFlags flags) |
|
299 |
{
|
|
| 69 | 300 |
HbAction *openAction = mContextMenu->addAction(hbTrId( |
301 |
"txt_common_menu_open")); |
|
| 81 | 302 |
openAction->setData(Hs::OpenAppContextAction); |
| 69 | 303 |
|
| 63 | 304 |
HbAction *addToHomeScreenAction = mContextMenu->addAction( |
305 |
hbTrId("txt_applib_menu_add_to_home_screen"));
|
|
| 81 | 306 |
addToHomeScreenAction->setData(Hs::AddToHomeScreenContextAction); |
| 63 | 307 |
|
308 |
HbAction *addToCollectionAction = mContextMenu->addAction( |
|
309 |
hbTrId("txt_applib_menu_add_to_collection"));
|
|
| 81 | 310 |
|
311 |
addToCollectionAction->setData( |
|
312 |
Hs::AddToCollectionFromApplicationsViewContextAction); |
|
| 63 | 313 |
|
314 |
HbAction *appSettingsAction(NULL); |
|
315 |
HbAction *appDetailsAction(NULL); |
|
316 |
||
317 |
// check conditions and hide irrelevant menu items |
|
318 |
QSharedPointer<const CaEntry> entry = mModel->entry(item->modelIndex()); |
|
319 |
||
| 81 | 320 |
if (!(entry->attribute(Hs::appSettingsPlugin).isEmpty())) {
|
| 63 | 321 |
appSettingsAction = mContextMenu->addAction( |
322 |
hbTrId("txt_common_menu_settings"));
|
|
| 81 | 323 |
appSettingsAction->setData(Hs::AppSettingContextAction); |
| 63 | 324 |
} |
| 90 | 325 |
|
326 |
HbAction *uninstallAction = mContextMenu->addAction( |
|
327 |
hbTrId("txt_common_menu_delete"));
|
|
328 |
uninstallAction->setData(Hs::UninstallContextAction); |
|
329 |
||
| 81 | 330 |
if (!(entry->attribute(Hs::componentIdAttributeName).isEmpty()) && |
| 63 | 331 |
(flags & RemovableEntryFlag) ) {
|
332 |
appDetailsAction = mContextMenu->addAction( |
|
333 |
hbTrId("txt_common_menu_details"));
|
|
| 81 | 334 |
appDetailsAction->setData(Hs::AppDetailsContextAction); |
| 63 | 335 |
} |
336 |
||
337 |
if (!(flags & RemovableEntryFlag)) {
|
|
338 |
uninstallAction->setVisible(false); |
|
339 |
} |
|
| 71 | 340 |
|
341 |
addToHomeScreenAction->setVisible( |
|
342 |
!HsAppLibStateUtils::isCWRTWidgetOnHomeScreen(entry.data())); |
|
| 63 | 343 |
} |
344 |
||
345 |
/*! |
|
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
346 |
Menu ascending sort action slot. |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
347 |
*/ |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
348 |
void HsAllAppsState::ascendingMenuAction() |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
349 |
{
|
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
350 |
HSMENUTEST_FUNC_ENTRY("HsAllAppsState::ascendingMenuAction");
|
| 81 | 351 |
mSortAttribute = Hs::AscendingNameHsSortAttribute; |
| 63 | 352 |
mModel->setSort(mSortAttribute); |
| 86 | 353 |
mAscendingMenuAction->setVisible(false); |
354 |
mDescendingMenuAction->setVisible(true); |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
355 |
HSMENUTEST_FUNC_EXIT("HsAllAppsState::ascendingMenuAction");
|
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
356 |
} |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
357 |
|
|
46
23b5d6a29cce
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
39
diff
changeset
|
358 |
/*! |
|
39
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
359 |
Menu descending sort action slot. |
|
4e8ebe173323
Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
36
diff
changeset
|
360 |
*/ |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
361 |
void HsAllAppsState::descendingMenuAction() |
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
362 |
{
|
|
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
363 |
HSMENUTEST_FUNC_ENTRY("HsAllAppsState::descendingMenuAction");
|
| 81 | 364 |
mSortAttribute = Hs::DescendingNameHsSortAttribute; |
| 63 | 365 |
mModel->setSort(mSortAttribute); |
| 86 | 366 |
mAscendingMenuAction->setVisible(true); |
367 |
mDescendingMenuAction->setVisible(false); |
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
368 |
HSMENUTEST_FUNC_EXIT("HsAllAppsState::descendingMenuAction");
|
| 98 | 369 |
} |
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
370 |
|
| 98 | 371 |
/*! |
372 |
Menu list action slot. |
|
373 |
*/ |
|
374 |
void HsAllAppsState::listMenuAction() |
|
375 |
{
|
|
376 |
HSMENUTEST_FUNC_ENTRY("HsAllAppsState::listMenuAction");
|
|
377 |
mGrid = false; |
|
378 |
mPublisher->setValue(Hs::KGridPath, static_cast<int>(false)); |
|
379 |
||
380 |
mListMenuAction->setVisible(false); |
|
381 |
mGridMenuAction->setVisible(true); |
|
382 |
scrollToBeginning(); |
|
383 |
||
384 |
mMenuView->reset(HsItemViewContext); |
|
385 |
mModel->setSecondLineVisibility(true); |
|
386 |
mMenuView->setModel(mModel); |
|
387 |
||
388 |
if (mViewOptions) {
|
|
389 |
mMenuView->view()->setMenu(mViewOptions); |
|
390 |
} |
|
391 |
HbIndexFeedback *indexFeedback = new HbIndexFeedback(mMenuView->view()); |
|
392 |
indexFeedback->setIndexFeedbackPolicy(HbIndexFeedback::IndexFeedbackSingleCharacter); |
|
393 |
indexFeedback->setItemView(mMenuView->itemView()); |
|
394 |
mMenuView->activate(); |
|
395 |
||
396 |
HSMENUTEST_FUNC_EXIT("HsAllAppsState::listMenuAction");
|
|
|
35
f9ce957a272c
Revision: 201007
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
397 |
} |
| 98 | 398 |
|
399 |
/*! |
|
400 |
Menu grid action slot. |
|
401 |
*/ |
|
402 |
void HsAllAppsState::gridMenuAction() |
|
403 |
{
|
|
404 |
HSMENUTEST_FUNC_ENTRY("HsAllAppsState::gridMenuAction");
|
|
405 |
mGrid = true; |
|
406 |
mPublisher->setValue(Hs::KGridPath, static_cast<int>(true)); |
|
407 |
scrollToBeginning(); |
|
408 |
orientationChanged(mMainWindow->orientation()); |
|
409 |
HSMENUTEST_FUNC_EXIT("HsAllAppsState::gridMenuAction");
|
|
410 |
} |
|
411 |
||
412 |
/*! |
|
413 |
Orientation changed slot. |
|
414 |
*/ |
|
415 |
void HsAllAppsState::orientationChanged(Qt::Orientation orientation, |
|
416 |
bool ifActivate) |
|
417 |
{
|
|
418 |
HSMENUTEST_FUNC_ENTRY("HsAllAppsState::orientationChanged");
|
|
419 |
if (mGrid && mListMenuAction && mGridMenuAction) {
|
|
420 |
mListMenuAction->setVisible(true); |
|
421 |
mGridMenuAction->setVisible(false); |
|
422 |
if (orientation == Qt::Vertical) {
|
|
423 |
mMenuView->reset(HsGridPortraitContext); |
|
424 |
} else {
|
|
425 |
mMenuView->reset(HsGridLandscapeContext); |
|
426 |
} |
|
427 |
mModel->setSecondLineVisibility(false); |
|
428 |
mMenuView->setModel(mModel); |
|
429 |
mMenuView->itemView()->scrollTo(mCurrentVisibleItemIndex, HbAbstractItemView::PositionAtTop); |
|
430 |
mCurrentVisibleItemIndex = QPersistentModelIndex(); |
|
431 |
if (mViewOptions) {
|
|
432 |
mMenuView->view()->setMenu(mViewOptions); |
|
433 |
} |
|
434 |
HbIndexFeedback *indexFeedback = new HbIndexFeedback(mMenuView->view()); |
|
435 |
indexFeedback->setIndexFeedbackPolicy(HbIndexFeedback::IndexFeedbackSingleCharacter); |
|
436 |
indexFeedback->setItemView(mMenuView->itemView()); |
|
437 |
||
438 |
if (ifActivate) {
|
|
439 |
mMenuView->activate(); |
|
440 |
} |
|
441 |
} |
|
442 |
HSMENUTEST_FUNC_EXIT("HsAllAppsState::orientationChanged");
|
|
443 |
} |
|
444 |
/*! |
|
445 |
orientationAboutToBeChanged slot. |
|
446 |
getting current first visible item index |
|
447 |
*/ |
|
448 |
void HsAllAppsState::orientationGoingToBeChanged() |
|
449 |
{
|
|
450 |
mCurrentVisibleItemIndex = mMenuView->currentScrollPosition(); |
|
451 |
} |
|
452 |