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