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://";
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;
}
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)
// 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)
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);
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");
}
}
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);
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);
}
}
- part { name: "most_visited";
+ part { name: "center_rect";
type: RECT;
description { state: "default" 0.0;
min: 1592 614;
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;
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;
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;
}
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;
}
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";
+ }
}
}
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&)
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)