Swapped box and "fastscroll" layout to make fastscroll the same height as genlist. 14/84814/1
authorEugene Kurzberg <i.kurtsberg@samsung.com>
Mon, 22 Aug 2016 12:10:48 +0000 (15:10 +0300)
committerEugene Kurzberg <i.kurtsberg@samsung.com>
Mon, 22 Aug 2016 12:11:48 +0000 (15:11 +0300)
Change-Id: Iad5b80a6508e1470c9b77b8953419d93576c4c11
Signed-off-by: Eugene Kurzberg <i.kurtsberg@samsung.com>
lib-contacts/inc/Contacts/List/ListView.h
lib-contacts/src/Contacts/List/ListView.cpp

index aaeb8d5..6f28e43 100644 (file)
@@ -152,6 +152,7 @@ namespace Contacts
                        void fillPersonList();
 
                        void fillLayout();
+                       Evas_Object *createListLayout(Evas_Object *parent);
                        Ui::Genlist *createGenlist(Evas_Object *parent);
                        Evas_Object *createEmptyLayout(Evas_Object *parent);
                        void updateEmptyLayout();
@@ -165,7 +166,7 @@ namespace Contacts
                        Ui::GenItem *getNextSectionItem(SectionId sectionId);
                        bool getSectionVisibility(SectionId sectionId);
 
-                       SearchField *createSearchField();
+                       SearchField *createSearchField(Evas_Object *parent);
                        void updateSearchField();
 
                        Evas_Object *createAddButton(Evas_Object *parent);
@@ -200,7 +201,7 @@ namespace Contacts
                        void addFavoritesIndex(ListSection *favoritesSection);
                        void removeFavoritesIndex();
 
-                       Evas_Object *m_Box;
+                       Evas_Object *m_ListLayout;
                        Evas_Object *m_NoContent;
                        Ui::Genlist *m_Genlist;
                        Evas_Object *m_Index;
index fdd973c..21c3555 100644 (file)
@@ -64,7 +64,7 @@ using namespace std::placeholders;
 #define SYMBOL_STAR         "\uf896"
 
 ListView::ListView(Model::PersonProvider *provider)
-       : m_Box(nullptr), m_NoContent(nullptr), m_Genlist(nullptr),
+       : m_ListLayout(nullptr), m_NoContent(nullptr), m_Genlist(nullptr),
          m_Index(nullptr), m_AddButton(nullptr),
          m_NoContentHelpText("IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"),
          m_IsSearching(false), m_IsEmpty(true),
@@ -123,7 +123,7 @@ bool ListView::isListEmpty()
 
 Evas_Object *ListView::onCreate(Evas_Object *parent)
 {
-       return elm_layout_add(parent);
+       return elm_box_add(parent);
 }
 
 void ListView::onCreated()
@@ -372,36 +372,41 @@ void ListView::fillPersonList()
 
 void ListView::fillLayout()
 {
-       Evas_Object *layout = getEvasObject();
-       elm_layout_theme_set(layout, "layout", "application", "fastscroll");
-       elm_layout_signal_emit(layout, "elm,state,fastscroll,hide", "");
+       Evas_Object *box = getEvasObject();
 
-       m_Index = createIndex(layout);
-       elm_object_part_content_set(layout, "elm.swallow.fastscroll", m_Index);
+       m_ListLayout = createListLayout(box);
+       elm_box_pack_end(box, m_ListLayout);
 
-       m_Box = elm_box_add(layout);
-       elm_object_part_content_set(layout, "elm.swallow.content", m_Box);
+       m_Index = createIndex(m_ListLayout);
+       elm_object_part_content_set(m_ListLayout, "elm.swallow.fastscroll", m_Index);
 
-       m_Genlist = createGenlist(m_Box);
-       elm_box_pack_end(m_Box, m_Genlist->getEvasObject());
+       m_Genlist = createGenlist(m_ListLayout);
+       elm_object_part_content_set(m_ListLayout, "elm.swallow.content", m_Genlist->getEvasObject());
 
-       m_NoContent = createEmptyLayout(m_Box);
-       elm_box_pack_end(m_Box, m_NoContent);
+       m_NoContent = createEmptyLayout(box);
+       elm_box_pack_end(box, m_NoContent);
 
-       m_SearchField = createSearchField();
-       m_AddButton = createAddButton(layout);
+       m_SearchField = createSearchField(box);
+       m_AddButton = createAddButton(box);
 }
 
-Ui::Genlist *ListView::createGenlist(Evas_Object *parent)
+Evas_Object *ListView::createListLayout(Evas_Object *parent)
 {
-       Ui::Genlist *genlist = new Ui::Genlist();
-       Evas_Object *obj = genlist->create(parent);
+       Evas_Object *layout = elm_layout_add(parent);
+       elm_layout_theme_set(layout, "layout", "application", "fastscroll");
+       elm_layout_signal_emit(layout, "elm,state,fastscroll,hide", "");
 
-       elm_scroller_content_min_limit(obj, EINA_FALSE, EINA_TRUE);
-       evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, 0.0);
-       evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0.0);
-       evas_object_show(obj);
+       evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+       evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+       evas_object_show(layout);
+       return layout;
+}
 
+Ui::Genlist *ListView::createGenlist(Evas_Object *parent)
+{
+       Ui::Genlist *genlist = new Ui::Genlist();
+       genlist->create(parent);
+       elm_scroller_content_min_limit(genlist->getEvasObject(), EINA_FALSE, EINA_TRUE);
        return genlist;
 }
 
@@ -448,18 +453,18 @@ void ListView::updateEmptyState()
        Evas_Object *genlist = m_Genlist->getEvasObject();
        if (isEmpty) {
                elm_scroller_content_min_limit(genlist, EINA_FALSE, EINA_TRUE);
-               evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, 0.0);
-               evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, 0.0);
+               evas_object_size_hint_weight_set(m_ListLayout, EVAS_HINT_EXPAND, 0.0);
+               evas_object_size_hint_align_set(m_ListLayout, EVAS_HINT_FILL, 0.0);
 
                evas_object_show(m_NoContent);
-               elm_box_pack_end(m_Box, m_NoContent);
+               elm_box_pack_end(getEvasObject(), m_NoContent);
        } else {
                elm_scroller_content_min_limit(genlist, EINA_FALSE, EINA_FALSE);
-               evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+               evas_object_size_hint_weight_set(m_ListLayout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               evas_object_size_hint_align_set(m_ListLayout, EVAS_HINT_FILL, EVAS_HINT_FILL);
 
                evas_object_hide(m_NoContent);
-               elm_box_unpack(m_Box, m_NoContent);
+               elm_box_unpack(getEvasObject(), m_NoContent);
        }
        m_IsEmpty = isEmpty;
 }
@@ -565,11 +570,11 @@ bool ListView::getSectionVisibility(SectionId sectionId)
        return !m_IsSearching ? isVisible : false;
 }
 
-SearchField *ListView::createSearchField()
+SearchField *ListView::createSearchField(Evas_Object *parent)
 {
        SearchField *control = new SearchField();
        control->setChangeCallback(std::bind(&ListView::onSearchChanged, this, _1));
-       control->create(getEvasObject());
+       control->create(parent);
 
        evas_object_size_hint_weight_set(control->getEvasObject(), EVAS_HINT_EXPAND, 0.0);
        evas_object_size_hint_align_set(control->getEvasObject(), EVAS_HINT_FILL, 0.0);
@@ -589,10 +594,10 @@ void ListView::updateSearchField()
        }
 
        if (isEmpty) {
-               elm_box_unpack(m_Box, searchField);
+               elm_box_unpack(getEvasObject(), searchField);
                evas_object_hide(searchField);
        } else {
-               elm_box_pack_start(m_Box, searchField);
+               elm_box_pack_start(getEvasObject(), searchField);
                evas_object_show(searchField);
        }
 }
@@ -652,7 +657,7 @@ void ListView::updateIndex()
        }
 
        const char *signal = isVisible ? "elm,state,fastscroll,show" : "elm,state,fastscroll,hide";
-       elm_layout_signal_emit(getEvasObject(), signal, "");
+       elm_layout_signal_emit(m_ListLayout, signal, "");
        if (isVisible) {
                elm_index_level_go(m_Index, 0);
        }