TT-168 Proper display of current site info 34/48534/3
authort.dakowicz <t.dakowicz@samsung.com>
Tue, 22 Sep 2015 12:15:06 +0000 (14:15 +0200)
committerDariusz Frankiewicz <d.frankiewic@samsung.com>
Thu, 24 Sep 2015 12:00:21 +0000 (05:00 -0700)
[Issue#] https://bugs.tizen.org/jira/browse/TT-168
[Problem] Current site info was wrong for Home Page (Quick Access view)
[Cause] Home Page status was not checked
[Solution] Added method for that case and added posibillity of disabling
           the 'add to bookmark' button when needed
[Verify] Check if adding blank page doesn't work

Change-Id: Iaf287a26a238732029897f867a34a8f1f810c813

services/MoreMenuUI/MoreMenuUI.cpp
services/MoreMenuUI/MoreMenuUI.h
services/SimpleUI/SimpleUI.cpp

index e472d21c4d4366417ab57c24ff5ebfc8509764ec..45d3b0d2462a6f20ec33be1df93657afe26bb08f 100644 (file)
@@ -171,13 +171,13 @@ void MoreMenuUI::showCurrentTab()
     evas_object_show(button);
     elm_object_focus_set(button, EINA_TRUE);
 
-    button = elm_button_add(m_mm_layout);
-    elm_object_style_set(button, "hidden_button");
-    evas_object_smart_callback_add(button, "clicked", _star_clicked, this);
+    m_bookmarkButton = elm_button_add(m_mm_layout);
+    elm_object_style_set(m_bookmarkButton, "hidden_button");
+    evas_object_smart_callback_add(m_bookmarkButton, "clicked", _star_clicked, this);
 
     m_bookmarkIcon = elm_icon_add(m_mm_layout);
     elm_object_part_content_set(m_current_tab_bar, "bookmark_ico", m_bookmarkIcon);
-    elm_object_part_content_set(m_current_tab_bar, "star_click", button);
+    elm_object_part_content_set(m_current_tab_bar, "star_click", m_bookmarkButton);
 }
 
 void MoreMenuUI::setFavIcon(std::shared_ptr<tizen_browser::tools::BrowserImage> favicon)
@@ -216,10 +216,7 @@ void MoreMenuUI::setDocIcon()
 void MoreMenuUI::setWebTitle(const std::string& title)
 {
     BROWSER_LOGD("[%s:%d] %s", __PRETTY_FUNCTION__, __LINE__, title.c_str());
-    if(!title.empty())
-        elm_object_part_text_set(m_current_tab_bar, "webpage_title", title.c_str());
-    else
-        elm_object_part_text_set(m_current_tab_bar, "webpage_title", "New Tab");
+    elm_object_part_text_set(m_current_tab_bar, "webpage_title", title.c_str());
 }
 
 void MoreMenuUI::setURL(const std::string& url)
@@ -233,19 +230,29 @@ void MoreMenuUI::setURL(const std::string& url)
         if(true == isBookmark()) {
             m_isBookmark = EINA_TRUE;
             changeBookmarkStatus(true);
+            enableAddToBookmarkButton(true);
         }
         else {
             m_isBookmark = EINA_FALSE;
             changeBookmarkStatus(false);
+            enableAddToBookmarkButton(true);
         }
     }
     else {
-        elm_object_part_text_set(m_current_tab_bar, "webpage_url", "");
         m_isBookmark = EINA_FALSE;
+        elm_object_part_text_set(m_current_tab_bar, "webpage_url", "");
+        elm_object_part_text_set(m_current_tab_bar, "webpage_title", "No Content");
         changeBookmarkStatus(false);
+        enableAddToBookmarkButton(false);
     }
 }
 
+void MoreMenuUI::setHomePageInfo()
+{
+    setDocIcon();
+    setURL("");
+}
+
 void MoreMenuUI::changeBookmarkStatus(bool data)
 {
     if(data) {
@@ -260,6 +267,12 @@ void MoreMenuUI::changeBookmarkStatus(bool data)
     }
 }
 
+void MoreMenuUI::enableAddToBookmarkButton(bool data)
+{
+    if(m_bookmarkButton)
+        elm_object_disabled_set(m_bookmarkButton, data ? EINA_FALSE : EINA_TRUE);
+}
+
 void MoreMenuUI::createToastPopup(const char* text)
 {
     m_toastPopup = elm_popup_add(m_mm_layout);
index 8f1d803c97e96bfc2dd07737d1353cd942ed0f4a..c793b18b3288ae07436d9670d87de41a5f210d0c 100644 (file)
@@ -79,7 +79,10 @@ public:
     void setFavIcon(std::shared_ptr<tizen_browser::tools::BrowserImage> favicon);
     void setWebTitle(const std::string& title);
     void setURL(const std::string& url);
+    void setHomePageInfo();
+
     void changeBookmarkStatus(bool data);
+    void enableAddToBookmarkButton(bool data);
     void createToastPopup(const char* text);
     void setFocus(Eina_Bool focusable);
 
@@ -119,6 +122,7 @@ private:
     Evas_Object *m_toastPopup;
     Evas_Object *m_icon;
     Evas_Object *m_bookmarkIcon;
+    Evas_Object *m_bookmarkButton;
     Elm_Gengrid_Item_Class * m_item_class;
     std::map<ItemType,Elm_Object_Item*> m_map_menu_views;
     std::string m_edjFilePath;
index c475b47949d62748b89bf6846f96d3ef94ffe520..310cf547b235717f665c5d2e6d7eac67b4457b2c 100644 (file)
@@ -863,9 +863,16 @@ void SimpleUI::showMoreMenu()
 
         m_moreMenuUI->show(m_window.get(), desktopMode);
         m_moreMenuUI->showCurrentTab();
-        m_moreMenuUI->setFavIcon(m_webEngine->getFavicon());
-        m_moreMenuUI->setWebTitle(m_webEngine->getTitle());
-        m_moreMenuUI->setURL(m_webEngine->getURI());
+
+        if(!m_webPageUI->isHomePageActive()) {
+            m_moreMenuUI->setFavIcon(m_webEngine->getFavicon());
+            m_moreMenuUI->setWebTitle(m_webEngine->getTitle());
+            m_moreMenuUI->setURL(m_webEngine->getURI());
+        }
+        else {
+            m_moreMenuUI->setHomePageInfo();
+        }
+
         BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
     }
 }