16 */ |
16 */ |
17 |
17 |
18 #ifndef HSBASEVIEWSTATE_H |
18 #ifndef HSBASEVIEWSTATE_H |
19 #define HSBASEVIEWSTATE_H |
19 #define HSBASEVIEWSTATE_H |
20 |
20 |
21 #include <qstate.h> |
21 #include <QState> |
|
22 #include <QPointer> |
|
23 #include <QModelIndex> |
22 |
24 |
23 #include "hsmenustates_global.h" |
25 #include "hsmenustates_global.h" |
24 #include "hsmenuservice.h" |
26 #include "hsmenuservice.h" |
25 #include "hsmenuview.h" |
27 #include "hsmenuview.h" |
26 |
28 |
|
29 |
|
30 class HbMenu; |
|
31 class HbAction; |
27 class HbMessageBox; |
32 class HbMessageBox; |
|
33 class HbAbstractViewItem; |
28 class CaNotifier; |
34 class CaNotifier; |
|
35 class HsMenuModeWrapper; |
|
36 class HsMainWindow; |
|
37 class HsAddModeProxyModel; |
29 |
38 |
30 HS_STATES_TEST_CLASS(MenuStatesTest) |
39 HS_STATES_TEST_CLASS(MenuStatesTest) |
31 |
40 |
32 class HsBaseViewState: public QState |
41 class HsBaseViewState: public QState |
33 { |
42 { |
35 |
44 |
36 HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest) |
45 HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest) |
37 |
46 |
38 public: |
47 public: |
39 |
48 |
40 HsBaseViewState(QState *parent); |
49 HsBaseViewState(HsMainWindow &mainWindow, QState *parent); |
|
50 HsBaseViewState(HsMainWindow &mainWindow, |
|
51 HsMenuModeWrapper& menuMode, QState *parent); |
41 ~HsBaseViewState(); |
52 ~HsBaseViewState(); |
42 |
53 void scrollToBeginning(); |
|
54 |
43 private slots: |
55 private slots: |
44 |
56 |
45 void applicationLaunchFailMessageFinished(HbAction*); |
57 virtual void openAppLibrary(); |
46 |
58 |
47 protected slots: |
59 protected slots: |
48 |
60 |
49 void stateExited(); |
61 virtual void stateEntered(); |
|
62 virtual void stateExited(); |
|
63 virtual void addModeEntered(); |
|
64 virtual void addModeExited(); |
|
65 virtual void normalModeEntered(); |
|
66 virtual void normalModeExited(); |
|
67 virtual void launchItem(const QModelIndex &index); |
|
68 virtual void openCollection(const QModelIndex &index); |
|
69 virtual void showContextMenu(HbAbstractViewItem *item, const QPointF &coords); |
|
70 virtual int checkSoftwareUpdates(); |
|
71 virtual bool openTaskSwitcher(); |
|
72 virtual void closeContextMenu(); |
50 |
73 |
51 protected: |
74 protected: |
52 |
75 |
|
76 void initialize(HsMenuViewBuilder &menuViewBuilder, HsStateContext stateContext); |
53 void createApplicationLaunchFailMessage(int errorCode,int itemId); |
77 void createApplicationLaunchFailMessage(int errorCode,int itemId); |
54 void subscribeForMemoryCardRemove(); |
78 void defineTransitions(); |
55 |
79 |
|
80 private: |
|
81 |
|
82 virtual void setContextMenuOptions(HbAbstractViewItem *item, EntryFlags flags) = 0; |
|
83 virtual void setMenuOptions() = 0; |
|
84 |
56 private: |
85 private: |
57 |
86 |
58 void construct(); |
87 QPointer<HbMessageBox> mApplicationLaunchFailMessage; |
59 void cleanUpApplicationLaunchFailMessage(); |
88 |
|
89 protected: |
60 |
90 |
61 private: |
91 HsMenuItemModel *mModel; |
62 |
92 QPointer<HbMenu> mContextMenu; |
63 CaNotifier *mNotifier; |
93 QModelIndex mContextModelIndex; |
64 |
94 HbAction *mBackKeyAction; |
65 int mMessageRelatedItemId; |
95 QScopedPointer<HsMenuView> mMenuView; |
66 |
96 HsMenuModeWrapper *mMenuMode; |
67 HbMessageBox *mApplicationLaunchFailMessage; |
97 HsMainWindow &mMainWindow; |
68 |
98 HbMenu *mViewOptions; |
69 }; |
99 }; |
70 |
100 |
71 |
101 |
72 #endif // HSBASEVIEWSTATE_H |
102 #endif // HSBASEVIEWSTATE_H |