Added "no visited site" view for Most visted tab. 57/46257/4
authorMaciej Skrzypkowski <m.skrzypkows@samsung.com>
Wed, 19 Aug 2015 13:49:06 +0000 (15:49 +0200)
committerMaciej Skrzypkowski <m.skrzypkows@samsung.com>
Wed, 19 Aug 2015 13:49:06 +0000 (15:49 +0200)
[Issue#] https://bugs.tizen.org/jira/browse/TT-73
[Problem] For no history there was no message.
[Cause] N/A
[Solution] Added label "No visited site" when there is no history
[Verify] Run fresh browser instance, there should be  "No visited site"
               message in Most visited tab.

Change-Id: I171f6d5d74dbc175102a08afac37b22ff3bb6e50
Signed-off-by: Maciej Skrzypkowski <m.skrzypkows@samsung.com>
services/MainUI/MainUI.cpp
services/MainUI/MainUI.h
services/MainUI/edc/MainUI.edc
services/SimpleUI/SimpleUI.cpp

index 8e4afd7..c52bb07 100644 (file)
@@ -31,6 +31,7 @@ namespace tizen_browser{
 namespace base_ui{
 
 const int SMALL_TILES_ROWS = 2;
+const int MAX_TILES_NUMBER = 5;
 const int SUFIX_CHAR_DEL = 1;
 const char * HTTP_PREFIX = "http://";
 const char * HTTPS_PREFIX = "https://";
@@ -269,8 +270,8 @@ Evas_Object* MainUI::listItemBottomContentGet(void* data, Evas_Object* obj, cons
 void MainUI::addHistoryItem(std::shared_ptr<tizen_browser::services::HistoryItem> hi)
 {
     BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__);
-    if (m_map_history_views.size() >= 5)
-       return;
+    if (m_map_history_views.size() >= MAX_TILES_NUMBER)
+        return;
 
     HistoryItemData *itemData = new HistoryItemData();
     itemData->item = hi;
@@ -290,19 +291,18 @@ void MainUI::addHistoryItem(std::shared_ptr<tizen_browser::services::HistoryItem
     }
 
     m_map_history_views.insert(std::pair<std::string,Elm_Object_Item*>(hi->getUrl(),historyView));
-
-    setEmptyGengrid(false);
 }
 
 void MainUI::addHistoryItems(std::vector<std::shared_ptr<tizen_browser::services::HistoryItem> > items)
 {
-         BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__);
-        int i = 0;
-         for (auto it = items.begin(); it != items.end(); ++it) {
-                i++;
-                if (i > 5) break;
-                 addHistoryItem(*it);
-         }
+    BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__);
+    int i = 0;
+    for (auto it = items.begin(); it != items.end(); ++it) {
+        i++;
+        if (i > MAX_TILES_NUMBER)
+            break;
+        addHistoryItem(*it);
+    }
 }
 
 void MainUI::addBookmarkItem(std::shared_ptr<tizen_browser::services::BookmarkItem> bi)
@@ -317,7 +317,7 @@ void MainUI::addBookmarkItem(std::shared_ptr<tizen_browser::services::BookmarkIt
     // unselect by default
     elm_gengrid_item_selected_set(bookmarkView, EINA_FALSE);
 
-    setEmptyGengrid(false);
+    setEmptyView(false);
 }
 
 void MainUI::addBookmarkItems(std::vector<std::shared_ptr<tizen_browser::services::BookmarkItem> > items)
@@ -438,6 +438,12 @@ void MainUI::showHistoryGenlist()
     elm_object_part_content_unset(m_layout, "elm.swallow.grid");
     evas_object_hide(elm_object_part_content_get(m_layout, "elm.swallow.genlistBottom"));
     elm_object_part_content_unset(m_layout, "elm.swallow.genlistBottom");
+
+    if (m_map_history_views.empty()) {
+        setEmptyView(true);
+        return;
+    }
+    setEmptyView(false);
     elm_object_part_content_set(m_layout, "elm.swallow.left", m_genListLeft);
     elm_object_part_content_set(m_layout, "elm.swallow.right", m_genListRight);
     elm_object_part_content_set(m_layout, "elm.swallow.center", m_genListCenter);
@@ -479,21 +485,23 @@ void MainUI::clearItems()
     elm_genlist_clear(m_genListBottom);
 }
 
-Evas_Object* MainUI::createNoHistoryLabel()
+void MainUI::showNoHistoryLabel()
 {
-    Evas_Object *label = elm_label_add(m_parent);
-    elm_object_text_set(label, "No favorite websites.");
-    evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-    evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
-    return label;
+    evas_object_hide(elm_object_part_content_get(m_layout, "elm.swallow.left"));
+    evas_object_hide(elm_object_part_content_get(m_layout, "elm.swallow.right"));
+    evas_object_hide(elm_object_part_content_get(m_layout, "elm.swallow.center"));
+
+    elm_layout_text_set(m_layout, "elm.text.empty", "No visited site");
+    elm_layout_signal_emit(m_layout, "empty,view", "mainui");
 }
 
-void MainUI::setEmptyGengrid(bool setEmpty)
+void MainUI::setEmptyView(bool empty)
 {
-    if(setEmpty) {
-        elm_object_part_content_set(m_gengrid, "elm.swallow.empty", createNoHistoryLabel());
+    BROWSER_LOGD("%s:%d %s, empty: %d", __FILE__, __LINE__, __func__, empty);
+    if(empty) {
+        showNoHistoryLabel();
     } else {
-        elm_object_part_content_set(m_gengrid, "elm.swallow.empty", nullptr);
+        elm_layout_signal_emit(m_layout, "not,empty,view", "mainui");
     }
 }
 
index c62a301..66e8d94 100644 (file)
@@ -70,7 +70,7 @@ private:
     static void _item_deleted(void *data, Evas_Object *obj);
     static void _thumbSelected(void * data, Evas_Object * obj, void * event_info);
     static void _deleteBookmark(void *data, Evas_Object *obj, void *event_info);
-    void setEmptyGengrid(bool setEmpty);
+    void setEmptyView(bool empty);
 
     static void _mostVisited_clicked(void * data, Evas_Object * obj, void * event_info);
     static void _bookmark_clicked(void * data, Evas_Object * obj, void * event_info);
@@ -92,7 +92,7 @@ private:
     std::map<std::string,Elm_Object_Item*> m_map_bookmark_views;
     bool m_gengridSetup;
     std::string edjFilePath;
-    Evas_Object *createNoHistoryLabel();
+    void showNoHistoryLabel();
 
     static void focusItem(void* data, Evas_Object* obj, void* event_info);
     static void unFocusItem(void* data, Evas_Object* obj, void* event_info);
index ba358bf..ea2929e 100644 (file)
@@ -203,7 +203,7 @@ group { name: "mv_bookmarks";
                 }
             }
 
-            part { name: "most_visited";
+            part { name: "center_rect";
                 type: RECT;
                 description { state: "default" 0.0;
                     min: 1592 614;
@@ -219,6 +219,11 @@ group { name: "mv_bookmarks";
                         relative: 1 1;
                     }
                 }
+                description { state: "empty" 0.0;
+                    inherit: "default" 0.0;
+                    visible: 1;
+                    color: 229 229 229 255;
+                }
             }
             part { name: "elm.swallow.left";
                 type: SWALLOW;
@@ -228,7 +233,7 @@ group { name: "mv_bookmarks";
                     align: 0.0 0.0;
                     fixed: 0 0;
                     rel1 {
-                        relative: 0 0; to: "most_visited";
+                        relative: 0 0; to: "center_rect";
                     }
                     rel2 {
                         relative: 1 1;
@@ -244,12 +249,12 @@ group { name: "mv_bookmarks";
                     align: 0.0 0.0;
                     fixed: 0 0;
                     rel1 {
-                        to: "most_visited";
+                        to: "center_rect";
                         relative: 0 0;
                         offset: 810 0;
                     }
                     rel2{
-                        to: "most_visited";
+                        to: "center_rect";
                         relative: 1 1;
                         offset: 0 0;
                     }
@@ -263,12 +268,12 @@ group { name: "mv_bookmarks";
                     align: 0.0 0.0;
                     fixed: 0 0;
                     rel1 {
-                        to: "most_visited";
+                        to: "center_rect";
                         relative: 0 0;
                         offset: 1214 0;
                     }
                     rel2 {
-                        to: "most_visited";
+                        to: "center_rect";
                         relative: 1 1;
                         offset: 0 0;
                     }
@@ -322,19 +327,51 @@ group { name: "mv_bookmarks";
                         offset: 0 0;
                     }
                 }
-            }
-            part { name: "elm.swallow.empty";
-                type: SWALLOW;
-                description { state: "default" 0.0;
+        }
+
+        part { name: "elm.text.empty";
+            type: TEXT;
+            description { state: "default" 0.0;
+                visible: 0;
                 align: 0.5 0.5;
-                    rel1 {
-                        relative: 0.5 0.5;
-                    }
-                    rel2 {
-                        relative: 0.5 0.5;
-                    }
+                color: 0 0 0 179;
+                text {
+                    text: "empty";
+                    font: "Sans";
+                    size: 32;
+                    align: 0.5 0.5;
+                }
+                rel1 {
+                    to: "gengrid_bg";
+                    relative: 0.0 0.0;
                 }
+                rel2 {
+                    to: "gengrid_bg";
+                    relative: 1 1;
+                }
+            }
+            description { state: "empty" 0.0;
+                inherit: "default" 0.0;
+                visible: 1;
             }
+        }
+    }
+
+    programs {
+        program { name: "empty";
+            signal: "empty,view";
+            source: "mainui";
+            action:  STATE_SET "empty" 0.0;
+            target: "elm.text.empty";
+            target: "center_rect";
+        }
+        program { name: "not_empty";
+            signal: "not,empty,view";
+            source: "mainui";
+            action:  STATE_SET "default" 0.0;
+            target: "elm.text.empty";
+            target: "center_rect";
+        }
     }
 }
 
index 4cf12a4..10e3bab 100644 (file)
@@ -610,8 +610,10 @@ void SimpleUI::onHistoryClicked(std::shared_ptr<tizen_browser::services::History
 
 void SimpleUI::onClearHistoryClicked(const std::string&)
 {
-  BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__);
-  m_historyService->clearAllHistory();
+    BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__);
+    m_historyService->clearAllHistory();
+    m_mainUI->clearHistoryGenlist();
+    m_mainUI->showHistoryGenlist();
 }
 
 void SimpleUI::onMostVisitedClicked(const std::string&)
@@ -1066,16 +1068,16 @@ void SimpleUI::hideMainUI()
 void SimpleUI::showMainUI()
 {
     BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
-       m_mainUI =
-                std::dynamic_pointer_cast
+    m_mainUI = std::dynamic_pointer_cast
                 <tizen_browser::base_ui::MainUI,tizen_browser::core::AbstractService>
                 (tizen_browser::core::ServiceManager::getInstance().getService("org.tizen.browser.mainui"));
-       M_ASSERT(m_mainUI);
-       hideWebView();
-       m_mainUI->show(m_window.get());
-       m_mainUI->addHistoryItems(getHistory());
+    M_ASSERT(m_mainUI);
+    hideWebView();
+    m_mainUI->show(m_window.get());
+    m_mainUI->addHistoryItems(getHistory());
+    m_mainUI->showHistoryGenlist();
 
-       m_isHomePageActive = true;
+    m_isHomePageActive = true;
 }
 
 void SimpleUI::showHistoryUI(const std::string& str)