Disable "Add to Quick Access" option when page already exist on QA list. 66/90666/1
authorDariusz Frankiewicz <d.frankiewic@samsung.com>
Mon, 3 Oct 2016 13:45:03 +0000 (15:45 +0200)
committerDariusz Frankiewicz <d.frankiewic@samsung.com>
Mon, 3 Oct 2016 13:54:47 +0000 (15:54 +0200)
[Issue]    http://suprem.sec.samsung.net/jira/browse/TWF-2088
[Problem]  More menu option "Add to Quick Access" is always available,
           even if page exist already in Quick Access.
[Solution] Show option only when page is not in Quick Access list.
[Verify]   Open more menu on some page which is already in Quick Access
           and check if option "Add to Quick Access" is hidden.

Change-Id: I71c617a4d3786ed8c7c28d69a0bff66a96e8f269

services/SimpleUI/SimpleUI.cpp
services/SimpleUI/SimpleUI.h
services/WebPageUI/WebPageUI.cpp
services/WebPageUI/WebPageUI.h

index 1dee727e617cf0d9387b840eb7070211ae501ce2..5d76c2b2a86c1abb28f3d1d0ff3b88f7405fe837 100755 (executable)
@@ -382,6 +382,7 @@ void SimpleUI::connectWebPageSignals()
     m_webPageUI->updateManualRotation.connect([this](){enableManualRotation(isManualRotation(m_viewManager.topOfStack()));});
     m_webPageUI->getWindow.connect(boost::bind(&SimpleUI::getMainWindow, this));
     m_webPageUI->isBookmark.connect(boost::bind(&SimpleUI::checkBookmark, this));
+    m_webPageUI->isQuickAccess.connect(boost::bind(&SimpleUI::checkQuickAccess, this));
     m_webPageUI->deleteBookmark.connect(boost::bind(&SimpleUI::deleteBookmark, this));
     m_webPageUI->showBookmarkFlowUI.connect(boost::bind(&SimpleUI::showBookmarkFlowUI, this));
     m_webPageUI->showFindOnPageUI.connect(boost::bind(&SimpleUI::showFindOnPageUI, this, std::string()));
@@ -816,6 +817,13 @@ bool SimpleUI::checkBookmark()
     }
 }
 
+bool SimpleUI::checkQuickAccess()
+{
+    BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
+    //TODO: switch this to quickaccess database when it will be implemented
+    return checkBookmark();
+}
+
 void SimpleUI::onOpenURL(std::shared_ptr<tizen_browser::services::HistoryItem> historyItem, bool desktopMode)
 {
     onOpenURL(historyItem->getUrl(), historyItem->getTitle(), desktopMode);
index 3ee969e3eba1a98135ba7c5efa6125f6db10a9d0..537fbf81b4d18e5c6dc79012a963c81443a135e4 100644 (file)
@@ -219,6 +219,12 @@ private:
      */
     bool checkBookmark();
 
+    /**
+     * @brief Check if the current page exists as a quick access.
+     *
+     */
+    bool checkQuickAccess();
+
     /**
      * @brief Adds current page to bookmarks.
      *
index a617ced8e0db9e3f9f1f618939db7f91dfcbb90f..6d0bb2f7bffb40f48238950100d54d1a87470e50 100755 (executable)
@@ -408,8 +408,13 @@ void WebPageUI::showContextMenu()
             } else
                 BROWSER_LOGE("[%s:%d] Signal not found", __PRETTY_FUNCTION__, __LINE__);
 
-            //TODO: "dont add this item if it is already in a quick access
-            elm_ctxpopup_item_append(m_ctxpopup, _("IDS_BR_OPT_ADD_TO_QUICK_ACCESS"), nullptr, _cm_add_to_qa_clicked, this);
+            boost::optional<bool> quickAccess = isQuickAccess();
+            if (quickAccess) {
+                if (!*quickAccess)
+                    elm_ctxpopup_item_append(m_ctxpopup, _("IDS_BR_OPT_ADD_TO_QUICK_ACCESS"), nullptr, _cm_add_to_qa_clicked, this);
+            } else {
+                BROWSER_LOGE("[%s:%d] Signal not found", __PRETTY_FUNCTION__, __LINE__);
+            }
 
             if (!getDesktopMode())
                 elm_ctxpopup_item_append(m_ctxpopup, _("IDS_BR_BODY_DESKTOP_VIEW"), nullptr, _cm_desktop_view_page_clicked, this);
index 17fec4bca1d215cfebd2d6aac1b73b109cfe42b2..be7c36bdbbb0d15efd50750f27819d0c3058d556 100755 (executable)
@@ -148,6 +148,7 @@ public:
 
     //AbstractContextMenu signals
     boost::signals2::signal<bool ()> isBookmark;
+    boost::signals2::signal<bool ()> isQuickAccess;
     boost::signals2::signal<void ()> deleteBookmark;
     boost::signals2::signal<void ()> showBookmarkFlowUI;
     boost::signals2::signal<void ()> showFindOnPageUI;