homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenuview.h
changeset 46 23b5d6a29cce
parent 39 4e8ebe173323
child 51 4785f57bf3d4
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenuview.h	Mon May 03 12:24:59 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenuview.h	Fri May 14 15:43:04 2010 +0300
@@ -24,9 +24,8 @@
 #include <QSortFilterProxyModel>
 #include <HbAbstractItemView>
 #include "hsmenustates_global.h"
+#include "hsmenuviewbuilder.h"
 #include "hsapp_defs.h"
-#include "hsmenuviewbuilder.h"
-
 
 class QPointF;
 class QActionGroup;
@@ -34,10 +33,12 @@
 class HbMainWindow;
 class HbAction;
 class HbAbstractItemView;
+class HbListView;
 class HbGroupBox;
 class HbWidget;
 class HsMenuItemModel;
 
+
 HS_STATES_TEST_CLASS(MenuStatesTest)
 
 class HsMenuView: public QObject
@@ -45,33 +46,23 @@
     Q_OBJECT
 
 public:
-    HsMenuView();
+    HsMenuView(HsMenuViewBuilder &builder, HsViewContext viewContext);
     ~HsMenuView();
 
-    void setModel(HsMenuItemModel *model);
-    void setModelToView(QAbstractItemModel *model);
-
-    void setLabel(const QString &label);
-    void scrollTo(const QModelIndex &index,
-                  HbAbstractItemView::ScrollHint hint =
-                      HbAbstractItemView::EnsureVisible);
-
-    void setLabelVisible(bool visible);
     void setSearchPanelVisible(bool visible);
 
     HbView *view();
-    QActionGroup *toolBarActionGroup();
-    HbAction *allAppsAction();
-    HbAction *allCollectionsAction();
-    HbAction *oviStoreAction();
+
+    HbListView *listView();
+
+    void activate();
+    void inactivate();
 
-    QModelIndex firstVisibleItemIndex();
-
-    HsMenuMode getHsMenuMode();
+    HbGroupBox *viewLabel();
 
-    void setHsMenuMode(HsMenuMode menuMode);
-    void hideToolBar();
-    void showToolBar();
+    void setModel(HsMenuItemModel *model);
+
+
 signals:
     void activated(const QModelIndex &index);
     void longPressed(HbAbstractViewItem *item, const QPointF &coords);
@@ -94,43 +85,39 @@
 
 
 private:
-    HbAbstractItemView::ScrollHint convertScrollHint(
-        QAbstractItemView::ScrollHint hint);
-
-    void connectItemViewsSignals();
-    void disconnectItemViewsSignals();
 
-    void connectSearchItemViewsSignals();
-    void disconnectSearchItemViewsSignals();
+    void addViewToMainWindow(HbView *view);
 
-
-    void connectModelSignals();
-    void disconnectModelSignals();
+    QModelIndex firstVisibleItemIndex(const HbListView *view) const;
 
     void connectSearchPanelSignals();
     void disconnectSearchPanelSignals();
+    void connectSearchItemViewsSignals();
+    void disconnectSearchItemViewsSignals();
 
     void searchFinished();
     void searchBegins();
-
-    void setUpToolBar();
+    HbAbstractItemView::ScrollHint convertScrollHint(
+        QAbstractItemView::ScrollHint hint);
 
 private:
 
-    HsMenuViewBuilder mBuilder;
-
-    HsMenuItemModel *mModel;
+    const HsViewContext mViewContext;
+    HsMenuViewBuilder &mBuilder;
 
-    QModelIndex mFirstVisibleIndex;
-    QModelIndex mLastVisibleIndex;
-    QModelIndex mSearchIndex;
-
-    QActionGroup *mToolBarActionGroup;
-
-    HsMenuMode mMenuMode;
+    QModelIndex mSearchViewInitialIndex;
+    QModelIndex mIndexToScrollAfterSearchDone;
+    QModelIndex mSearchViewLongPressedIndex;
 
     QSortFilterProxyModel *mProxyModel; // owned
 
+    HbView *mView;
+    HbListView *mListView;
+    HbGroupBox *mViewLabel;
+
+    HbListView *mSearchListView;
+    HbSearchPanel *mSearchPanel;
+
     HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
 };