TizenRefApp-6568 Implement hide of menu options based on current list view state 82/76282/3
authorNataliia Sydorchuk <n.sydorchuk@samsung.com>
Thu, 23 Jun 2016 08:40:26 +0000 (11:40 +0300)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Fri, 24 Jun 2016 08:35:33 +0000 (01:35 -0700)
Change-Id: Ia0e88b38646e104776bdb7bf28f5be8270a0c672
Signed-off-by: Nataliia Sydorchuk <n.sydorchuk@samsung.com>
lib-contacts/inc/Contacts/List/ListView.h
lib-contacts/src/Contacts/List/ListView.cpp

index 1638ad0..8f735bc 100644 (file)
@@ -97,6 +97,7 @@ namespace Contacts
 
                        void onDeleteSelected();
                        void onShareSelected();
+                       void onManageFavoritesSelected();
 
                        virtual void onSelectAllInsert(Ui::GenlistItem *item) override;
                        virtual void onSelectModeChanged(Ux::SelectMode selectMode) override;
index bab1658..30ef65b 100644 (file)
@@ -150,39 +150,34 @@ bool ListView::onBackPressed()
 
 void ListView::onMenuPressed()
 {
-       if (getSelectMode() != SelectNone) {
+       if (getSelectMode() != SelectNone || (m_IsSearching && m_PersonGroups.empty())) {
                return;
        }
 
        Ui::Menu *menu = new Ui::Menu();
        menu->create(getEvasObject());
 
-       if (!m_PersonGroups.empty()) {
+       if (!m_IsSearching) {
                menu->addItem("IDS_PB_OPT_GROUPS", [this] {
-                       Groups::GroupsView *groupsView = new Groups::GroupsView();
-                       getNavigator()->navigateTo(groupsView);
+                       getNavigator()->navigateTo(new Groups::GroupsView());
                });
+       }
+
+       if (!m_PersonGroups.empty()) {
                menu->addItem("IDS_LOGS_OPT_DELETE", std::bind(&ListView::onDeleteSelected, this));
                menu->addItem("IDS_PB_OPT_SHARE", std::bind(&ListView::onShareSelected, this));
-               menu->addItem("IDS_PB_OPT_MANAGE_FAVOURITES_ABB", [this] {
-                       auto manageFavPopup = new ManageFavoritesPopup(getNavigator());
-                       manageFavPopup->setMfcUpdateCallback([this] {
-
-                               if (m_Sections[SectionMfc].m_Item) {
-                                       static_cast<ListSection *>(m_Sections[SectionMfc].m_Item)->update();
-                               } else {
-                                       createSection(SectionMfc);
-                               }
-                       });
-                       manageFavPopup->setReorderCallback(std::bind(&ListSection::reorderItem,
-                                       static_cast<ListSection *>(m_Sections[SectionFavorites].m_Item), _1, _2));
-                       manageFavPopup->create(getEvasObject());
-               });
+
+               if (!m_IsSearching) {
+                       menu->addItem("IDS_PB_OPT_MANAGE_FAVOURITES_ABB",
+                                       std::bind(&ListView::onManageFavoritesSelected, this));
+               }
        }
 
-       menu->addItem("IDS_PB_OPT_SETTINGS", [this] {
-               getNavigator()->navigateTo(new Settings::MainView());
-       });
+       if (!m_IsSearching) {
+               menu->addItem("IDS_PB_OPT_SETTINGS", [this] {
+                       getNavigator()->navigateTo(new Settings::MainView());
+               });
+       }
 
        menu->show();
 }
@@ -239,6 +234,22 @@ void ListView::onShareSelected()
        getNavigator()->navigateTo(view);
 }
 
+void ListView::onManageFavoritesSelected()
+{
+       auto manageFavPopup = new ManageFavoritesPopup(getNavigator());
+
+       manageFavPopup->setMfcUpdateCallback([this] {
+               if (m_Sections[SectionMfc].m_Item) {
+                       static_cast<ListSection *>(m_Sections[SectionMfc].m_Item)->update();
+               } else {
+                       createSection(SectionMfc);
+               }
+       });
+       manageFavPopup->setReorderCallback( std::bind(&ListSection::reorderItem,
+                       static_cast<ListSection *>(m_Sections[SectionFavorites].m_Item), _1, _2));
+       manageFavPopup->create(getEvasObject());
+}
+
 void ListView::onSelectAllInsert(Ui::GenlistItem *item)
 {
        m_Genlist->insert(item, nullptr, m_SearchItem, Ui::Genlist::After);