fixup! QuickAccess fixes and refactoring - index 60/93460/6
authorm.kawonczyk <m.kawonczyk@samsung.com>
Mon, 24 Oct 2016 10:11:28 +0000 (12:11 +0200)
committerMaciej Kawo?czyk <m.kawonczyk@samsung.com>
Tue, 25 Oct 2016 13:31:32 +0000 (06:31 -0700)
Added Index to the bottom of the View.

Change-Id: Ifd3847ad94fb927a771ae0c4a057278b56a2a7aa

services/QuickAccess/QuickAccess.cpp
services/QuickAccess/QuickAccess.h

index d4a910c551412ea5e6e78b4460b39c88ef76747c..720d8e54c9ed7e3d3bb2d779184d352140cdcbf8 100644 (file)
@@ -31,6 +31,9 @@ namespace base_ui{
 
 EXPORT_SERVICE(QuickAccess, "org.tizen.browser.quickaccess")
 
+const int QuickAccess::MOST_VISITED_PAGE = 1;
+const int QuickAccess::QUICKACCESS_PAGE = 0;
+
 QuickAccess::QuickAccess()
     : m_parent(nullptr)
     , m_layout(nullptr)
@@ -39,6 +42,8 @@ QuickAccess::QuickAccess()
     , m_quickAccessView(nullptr)
     , m_mostVisitedView(nullptr)
     , m_quickAccessGengrid(nullptr)
+    , m_mostVisitedGengrid(nullptr)
+    , m_index(nullptr)
     , m_currPage(QuickAccess::QUICKACCESS_PAGE)
     , m_quickAccess_item_class(nullptr)
     , m_mostVisited_item_class(nullptr)
@@ -125,6 +130,18 @@ void QuickAccess::createQuickAccessLayout(Evas_Object* parent)
 
     evas_object_event_callback_add(m_layout, EVAS_CALLBACK_RESIZE, _layout_resize_cb, this);
 
+    m_index = elm_index_add(m_layout);
+    evas_object_size_hint_weight_set(m_index, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_size_hint_align_set(m_index, EVAS_HINT_FILL, EVAS_HINT_FILL);
+    elm_object_style_set(m_index, "pagecontrol");
+    elm_index_horizontal_set(m_index, EINA_TRUE);
+    elm_index_autohide_disabled_set(m_index, EINA_TRUE);
+    elm_object_part_content_set(m_layout, "index", m_index);
+
+    elm_index_item_append(m_index, "1", nullptr, &QuickAccess::QUICKACCESS_PAGE);
+    elm_index_item_append(m_index, "2", nullptr, &QuickAccess::MOST_VISITED_PAGE);
+    elm_index_level_go(m_index, 0);
+
     m_horizontalScroller = elm_scroller_add(m_layout);
     elm_scroller_page_scroll_limit_set(m_horizontalScroller, 1, 0);
     elm_scroller_movement_block_set(m_horizontalScroller, ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL);
@@ -319,6 +336,13 @@ void QuickAccess::addToQuickAccessTile()
     elm_gengrid_item_append(m_quickAccessGengrid, m_quickAccess_tile_class, this, _addToQuickAccess_clicked, this);
 }
 
+void QuickAccess::setIndexPage(const void *page) const
+{
+    Elm_Object_Item* it = elm_index_item_find(m_index, page);
+    if (it)
+        elm_index_item_selected_set(it, EINA_TRUE);
+}
+
 bool QuickAccess::isOrientationLandscape() const
 {
     auto landscape = isLandscape();
@@ -564,7 +588,8 @@ void QuickAccess::showMostVisited()
     m_currPage = QuickAccess::MOST_VISITED_PAGE;
 
     elm_object_translatable_part_text_set(m_layout, "screen_title", "Most visited websites");  //TODO: translate
-    elm_scroller_page_show(m_horizontalScroller, MOST_VISITED_PAGE, 0);
+    elm_scroller_page_show(m_horizontalScroller, QuickAccess::MOST_VISITED_PAGE, 0);
+    setIndexPage(&QuickAccess::MOST_VISITED_PAGE);
 
     m_mv_delete_list.clear();
 }
@@ -581,7 +606,8 @@ void QuickAccess::showQuickAccess()
     m_currPage = QuickAccess::QUICKACCESS_PAGE;
 
     elm_object_translatable_part_text_set(m_layout, "screen_title", "Quick access");  //TODO: translate
-    elm_scroller_page_show(m_horizontalScroller, QUICKACCESS_PAGE, 0);
+    elm_scroller_page_show(m_horizontalScroller, QuickAccess::QUICKACCESS_PAGE, 0);
+    setIndexPage(&QuickAccess::QUICKACCESS_PAGE);
 }
 
 void QuickAccess::editQuickAccess()
index d22905e004375c346550fcf47247d637316be181..00200c42dfd665508167210b36d2b43e57332727 100644 (file)
@@ -106,6 +106,7 @@ private:
     void showScrollerPage(int page);
 
     void addToQuickAccessTile();
+    void setIndexPage(const void *page) const;
     bool isOrientationLandscape() const;
     static void _quickAccess_tile_realized(void * data, Evas_Object * obj, void * event_info);
     static void _layout_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
@@ -141,6 +142,7 @@ private:
     Evas_Object *m_mostVisitedView;
     Evas_Object *m_quickAccessGengrid;
     Evas_Object *m_mostVisitedGengrid;
+    Evas_Object* m_index;
     std::vector<Evas_Object *> m_tiles;
 
     int m_currPage;
@@ -153,8 +155,8 @@ private:
 
     Evas_Object* m_verticalScroller;
     std::list<std::shared_ptr<services::HistoryItem>> m_mv_delete_list;
-    static const int MOST_VISITED_PAGE = 1;
-    static const int QUICKACCESS_PAGE = 0;
+    static const int MOST_VISITED_PAGE;
+    static const int QUICKACCESS_PAGE;
     static const int QUICKACCESS_ITEM_WIDTH = 150;
     static const int QUICKACCESS_ITEM_HEIGHT = 204;
     static const int QUICKACCESS_ITEM_WIDTH_LANDSCAPE = 150;