From c79f0292ce2be1980c308135587d65ab01702c5f Mon Sep 17 00:00:00 2001 From: "k.lis2" Date: Tue, 4 Aug 2015 10:24:57 +0200 Subject: [PATCH] Task TT-77 Implement More Menu view [Issue#] https://bugs.tizen.org/jira/browse/TT-77 [Task] TT-77 Implement More Menu view [Cause] - [Solution] Add MoreMenuUI. Enable code referring to MoreMenuUI in SimpleUI [Verify] Perform basic sanity check. Change-Id: If623da956d560be47550a429f461443919ce3675 --- services/CMakeLists.txt | 5 +- services/MoreMenuUI/AddBookmarkPopup.cpp | 344 ++++++++ services/MoreMenuUI/AddBookmarkPopup.h | 70 ++ services/MoreMenuUI/CMakeLists.txt | 44 + services/MoreMenuUI/MoreMenuUI.cpp | 460 ++++++++++ services/MoreMenuUI/MoreMenuUI.h | 117 +++ services/MoreMenuUI/NewFolderPopup.cpp | 170 ++++ services/MoreMenuUI/NewFolderPopup.h | 50 ++ services/MoreMenuUI/edc/AddBookmarkPopup.edc | 370 ++++++++ services/MoreMenuUI/edc/MoreMenu.edc | 969 +++++++++++++++++++++ services/MoreMenuUI/edc/NewFolderPopup.edc | 463 ++++++++++ services/MoreMenuUI/edc/error.edc | 144 +++ services/MoreMenuUI/images/btn_bar_new_dis.png | Bin 0 -> 2980 bytes services/MoreMenuUI/images/btn_bar_new_foc.png | Bin 0 -> 2963 bytes services/MoreMenuUI/images/btn_bar_new_nor.png | Bin 0 -> 2977 bytes services/MoreMenuUI/images/btn_bar_stop_nor.png | Bin 0 -> 3255 bytes services/MoreMenuUI/images/favicon.png | Bin 0 -> 13397 bytes services/MoreMenuUI/images/ic_add_bookmark.png | Bin 0 -> 2036 bytes .../MoreMenuUI/images/ic_more_bookmark_foc.png | Bin 0 -> 2008 bytes .../MoreMenuUI/images/ic_more_bookmark_nor.png | Bin 0 -> 2089 bytes .../MoreMenuUI/images/ic_more_desktopview_foc.png | Bin 0 -> 4066 bytes .../MoreMenuUI/images/ic_more_desktopview_nor.png | Bin 0 -> 4372 bytes services/MoreMenuUI/images/ic_more_exit_foc.png | Bin 0 -> 1558 bytes services/MoreMenuUI/images/ic_more_exit_nor.png | Bin 0 -> 1604 bytes .../MoreMenuUI/images/ic_more_focusmode_foc.png | Bin 0 -> 2053 bytes .../MoreMenuUI/images/ic_more_focusmode_nor.png | Bin 0 -> 2062 bytes services/MoreMenuUI/images/ic_more_history_foc.png | Bin 0 -> 2892 bytes services/MoreMenuUI/images/ic_more_history_nor.png | Bin 0 -> 2918 bytes .../MoreMenuUI/images/ic_more_minibrowser_foc.png | Bin 0 -> 1472 bytes .../MoreMenuUI/images/ic_more_minibrowser_nor.png | Bin 0 -> 1524 bytes .../MoreMenuUI/images/ic_more_mobileview_foc.png | Bin 0 -> 3929 bytes .../MoreMenuUI/images/ic_more_mobileview_nor.png | Bin 0 -> 4205 bytes .../MoreMenuUI/images/ic_more_pointermode_foc.png | Bin 0 -> 3180 bytes .../MoreMenuUI/images/ic_more_pointermode_nor.png | Bin 0 -> 3346 bytes .../MoreMenuUI/images/ic_more_readermode_foc.png | Bin 0 -> 1943 bytes .../MoreMenuUI/images/ic_more_readermode_nor.png | Bin 0 -> 2021 bytes services/MoreMenuUI/images/ic_more_setting_foc.png | Bin 0 -> 4600 bytes services/MoreMenuUI/images/ic_more_setting_nor.png | Bin 0 -> 4936 bytes services/MoreMenuUI/images/ic_more_share_foc.png | Bin 0 -> 2653 bytes services/MoreMenuUI/images/ic_more_share_nor.png | Bin 0 -> 2854 bytes services/MoreMenuUI/images/ic_more_zoom_foc.png | Bin 0 -> 3419 bytes services/MoreMenuUI/images/ic_more_zoom_nor.png | Bin 0 -> 3524 bytes .../MoreMenuUI/images/ico_bg_round_shape_37x37.png | Bin 0 -> 18109 bytes services/MoreMenuUI/images/ico_delete.png | Bin 0 -> 18365 bytes services/MoreMenuUI/images/modal_dialogs_bg.png | Bin 0 -> 18648 bytes .../MoreMenuUI/images/modal_dialogs_title_bg.png | Bin 0 -> 18226 bytes services/MoreMenuUI/images/web_frame_selected.png | Bin 0 -> 17687 bytes services/MoreMenuUI/images/web_shadow.png | Bin 0 -> 17700 bytes services/SimpleUI/CMakeLists.txt | 3 +- services/SimpleUI/SimpleUI.cpp | 6 +- services/SimpleUI/SimpleUI.h | 4 +- 51 files changed, 3206 insertions(+), 13 deletions(-) create mode 100644 services/MoreMenuUI/AddBookmarkPopup.cpp create mode 100644 services/MoreMenuUI/AddBookmarkPopup.h create mode 100644 services/MoreMenuUI/CMakeLists.txt create mode 100644 services/MoreMenuUI/MoreMenuUI.cpp create mode 100644 services/MoreMenuUI/MoreMenuUI.h create mode 100644 services/MoreMenuUI/NewFolderPopup.cpp create mode 100644 services/MoreMenuUI/NewFolderPopup.h create mode 100644 services/MoreMenuUI/edc/AddBookmarkPopup.edc create mode 100644 services/MoreMenuUI/edc/MoreMenu.edc create mode 100644 services/MoreMenuUI/edc/NewFolderPopup.edc create mode 100644 services/MoreMenuUI/edc/error.edc create mode 100644 services/MoreMenuUI/images/btn_bar_new_dis.png create mode 100644 services/MoreMenuUI/images/btn_bar_new_foc.png create mode 100644 services/MoreMenuUI/images/btn_bar_new_nor.png create mode 100644 services/MoreMenuUI/images/btn_bar_stop_nor.png create mode 100644 services/MoreMenuUI/images/favicon.png create mode 100644 services/MoreMenuUI/images/ic_add_bookmark.png create mode 100644 services/MoreMenuUI/images/ic_more_bookmark_foc.png create mode 100644 services/MoreMenuUI/images/ic_more_bookmark_nor.png create mode 100644 services/MoreMenuUI/images/ic_more_desktopview_foc.png create mode 100644 services/MoreMenuUI/images/ic_more_desktopview_nor.png create mode 100644 services/MoreMenuUI/images/ic_more_exit_foc.png create mode 100644 services/MoreMenuUI/images/ic_more_exit_nor.png create mode 100644 services/MoreMenuUI/images/ic_more_focusmode_foc.png create mode 100644 services/MoreMenuUI/images/ic_more_focusmode_nor.png create mode 100644 services/MoreMenuUI/images/ic_more_history_foc.png create mode 100644 services/MoreMenuUI/images/ic_more_history_nor.png create mode 100644 services/MoreMenuUI/images/ic_more_minibrowser_foc.png create mode 100644 services/MoreMenuUI/images/ic_more_minibrowser_nor.png create mode 100644 services/MoreMenuUI/images/ic_more_mobileview_foc.png create mode 100644 services/MoreMenuUI/images/ic_more_mobileview_nor.png create mode 100644 services/MoreMenuUI/images/ic_more_pointermode_foc.png create mode 100644 services/MoreMenuUI/images/ic_more_pointermode_nor.png create mode 100644 services/MoreMenuUI/images/ic_more_readermode_foc.png create mode 100644 services/MoreMenuUI/images/ic_more_readermode_nor.png create mode 100644 services/MoreMenuUI/images/ic_more_setting_foc.png create mode 100644 services/MoreMenuUI/images/ic_more_setting_nor.png create mode 100644 services/MoreMenuUI/images/ic_more_share_foc.png create mode 100644 services/MoreMenuUI/images/ic_more_share_nor.png create mode 100644 services/MoreMenuUI/images/ic_more_zoom_foc.png create mode 100644 services/MoreMenuUI/images/ic_more_zoom_nor.png create mode 100644 services/MoreMenuUI/images/ico_bg_round_shape_37x37.png create mode 100644 services/MoreMenuUI/images/ico_delete.png create mode 100644 services/MoreMenuUI/images/modal_dialogs_bg.png create mode 100644 services/MoreMenuUI/images/modal_dialogs_title_bg.png create mode 100644 services/MoreMenuUI/images/web_frame_selected.png create mode 100644 services/MoreMenuUI/images/web_shadow.png diff --git a/services/CMakeLists.txt b/services/CMakeLists.txt index 8a137c9..5515ac1 100644 --- a/services/CMakeLists.txt +++ b/services/CMakeLists.txt @@ -1,14 +1,13 @@ project(services) add_subdirectory(WebKitEngineService) -# MERGE_ME -#add_subdirectory(MoreMenuUI) +add_subdirectory(MoreMenuUI) add_subdirectory(MainUI) # MERGE_ME #add_subdirectory(HistoryUI) add_subdirectory(TabUI) add_subdirectory(SimpleUI) -#MERGE_ME +# MERGE_ME #add_subdirectory(SettingsUI) add_subdirectory(SimpleURI) add_subdirectory(BookmarkManagerUI) diff --git a/services/MoreMenuUI/AddBookmarkPopup.cpp b/services/MoreMenuUI/AddBookmarkPopup.cpp new file mode 100644 index 0000000..fea26c4 --- /dev/null +++ b/services/MoreMenuUI/AddBookmarkPopup.cpp @@ -0,0 +1,344 @@ +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include + +#include "Tools/EflTools.h" +#include "AddBookmarkPopup.h" +#include "BrowserLogger.h" + +namespace tizen_browser{ +namespace base_ui{ + +typedef struct _BookmarkFolderItemData +{ + int index; + std::shared_ptr item; + std::shared_ptr addBookmarkPopup; +} BookmarkFolderItemData; + + +AddBookmarkPopup::AddBookmarkPopup(Evas_Object* main_layout): + m_popup(nullptr), + m_gengrid(nullptr), + m_mainLayout(main_layout), + m_itemClass(nullptr) +{ +} + +AddBookmarkPopup::~AddBookmarkPopup () +{} + +void AddBookmarkPopup::show() +{ + BROWSER_LOGD("[%s],", __func__); + bm_edjFilePath = EDJE_DIR; + bm_edjFilePath.append("MoreMenuUI/AddBookmarkPopup.edj"); + elm_theme_extension_add(0, bm_edjFilePath.c_str()); + m_popup = elm_layout_add(m_mainLayout); + if (m_popup != nullptr) + { + elm_object_signal_emit(m_mainLayout, "elm,state,show", "elm"); + elm_layout_file_set(m_popup, bm_edjFilePath.c_str(), "bookmark_popup"); + BROWSER_LOGI("PATH: %s", bm_edjFilePath.c_str()); + + m_gengrid = elm_gengrid_add(m_popup); + + if (m_gengrid != nullptr) + { + evas_object_smart_callback_add(m_gengrid, "item,focused", focusItem, nullptr); + evas_object_smart_callback_add(m_gengrid, "item,unfocused", unFocusItem, nullptr); + // evas_object_smart_callback_add(m_gengrid, "activated", _itemSelected, this); + + if (!m_itemClass) { + m_itemClass = elm_gengrid_item_class_new(); + m_itemClass->item_style = "folder_grid_item"; + m_itemClass->func.text_get = _grid_text_get; + m_itemClass->func.content_get = _grid_content_get; + m_itemClass->func.state_get = nullptr; + m_itemClass->func.del = nullptr; + } + + elm_gengrid_align_set(m_gengrid, 0, 0); + elm_gengrid_select_mode_set(m_gengrid, ELM_OBJECT_SELECT_MODE_ALWAYS); + elm_gengrid_multi_select_set(m_gengrid, EINA_FALSE); + elm_gengrid_horizontal_set(m_gengrid, EINA_FALSE); + elm_scroller_policy_set(m_gengrid, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + elm_scroller_page_size_set(m_gengrid, 0, 327); + evas_object_size_hint_weight_set(m_gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(m_gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL); + double efl_scale = elm_config_scale_get() / elm_app_base_scale_get(); + elm_gengrid_item_size_set(m_gengrid, 226 * efl_scale, 226 * efl_scale); + + elm_object_part_content_set(m_popup, "elm.swallow.gengrid", m_gengrid); + elm_object_part_content_set(m_mainLayout, "popup", m_popup); + evas_object_show(m_gengrid); + } + } +} + +void AddBookmarkPopup::hide() +{ + BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__); + elm_object_signal_emit(m_mainLayout, "elm,state,hide", "elm"); + evas_object_hide(elm_layout_content_get(m_popup, "elm.swallow.gengrid")); + evas_object_hide(elm_layout_content_get(m_mainLayout, "popup")); + evas_object_hide(m_gengrid); + evas_object_hide(m_popup); + clearItems(); +} + +Evas_Object * AddBookmarkPopup::getContent() +{ + return m_gengrid; +} + +void AddBookmarkPopup::setEmptyGengrid(bool setEmpty) +{ + if(setEmpty) { + elm_object_part_content_set(m_gengrid, "elm.swallow.empty", createNoHistoryLabel()); + } else { + elm_object_part_content_set(m_gengrid, "elm.swallow.empty", nullptr); + } +} + +Evas_Object* AddBookmarkPopup::createNoHistoryLabel() +{ + Evas_Object *label = elm_label_add(m_popup); + if (label != nullptr) + { + 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; +} + +void AddBookmarkPopup::addBookmarkFolderItem(std::shared_ptr hi , int ind) +{ + BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__); + BookmarkFolderItemData *itemData = new BookmarkFolderItemData(); + if (itemData != nullptr) + { + itemData->item = hi; + itemData->index = ind; + itemData->addBookmarkPopup = std::shared_ptr(this); + Elm_Object_Item* BookmarkFolderView = elm_gengrid_item_append(m_gengrid, m_itemClass, itemData, nullptr, this); + if (BookmarkFolderView) + { + if(ind == 1) + { + BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__); + m_map_bookmark_folder_views.insert(std::pair("new_folder_button",BookmarkFolderView)); + } + else + m_map_bookmark_folder_views.insert(std::pair(hi->getAddress(),BookmarkFolderView)); + + elm_gengrid_item_selected_set(BookmarkFolderView, EINA_FALSE); + setEmptyGengrid(false); + } + } +} + +void AddBookmarkPopup::addBookmarkFolderItems(std::vector > items) +{ + BROWSER_LOGD("%s:%d %s Bookmark Folder Items: %d", __FILE__, __LINE__, __func__, items.size()); + int i = 1; + addBookmarkFolderItem(nullptr, i); + for (auto it = items.begin(); it != items.end(); ++it, ++i) { + addBookmarkFolderItem(*it, i); + } + elm_object_part_content_set(m_popup, "elm.swallow.gengrid",getContent()); + evas_object_show(getContent()); +} + +char* AddBookmarkPopup::_grid_text_get(void *data, Evas_Object *, const char *part) +{ + BROWSER_LOGD("%s:%d %s part=%s", __FILE__, __LINE__, __func__, part); + if ((data != nullptr) && (part != nullptr)) + { + static const char* part_name = "page_title"; + static const int part_len = strlen(part_name); + + BookmarkFolderItemData *itemData = reinterpret_cast(data); + if (!strncmp(part, part_name, part_len)) { + if(itemData->item) + return strdup(itemData->item->getTittle().c_str()); + } + } + return strdup(""); +} + +const char* AddBookmarkPopup::getImageFileNameForType(int index, bool focused) +{ + static char* file_name = ""; + if (index == 1) + { + if (focused) + { + file_name = "btn_bar_new_foc.png"; + } + else + { + file_name = "btn_bar_new_nor.png"; + } + } + return file_name; +} + +Evas_Object * AddBookmarkPopup::_grid_content_get(void *data, Evas_Object *obj, const char *part) +{ + BROWSER_LOGD("%s:%d %s part=%s", __FILE__, __LINE__, __func__, part); + if ((data != nullptr) && (obj != nullptr) && (part != nullptr)) + { + BookmarkFolderItemData *itemData = reinterpret_cast(data); + + static const char* part1_name = "elm.thumbnail"; + static const char* part2_name = "elm.thumbButton"; + static const int part1_len = strlen(part1_name); + static const int part2_len = strlen(part2_name); + + if (!strncmp(part, part1_name, part1_len) && (itemData->index == 1)) { + BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__); + Evas_Object* thumb_nail = elm_icon_add(obj); + const char* file_name = getImageFileNameForType(itemData->index, false); + BROWSER_LOGD("%s:%d %s file=%s", __FILE__, __LINE__, __func__, file_name); + if (thumb_nail != nullptr) + { + elm_image_file_set(thumb_nail, itemData->addBookmarkPopup->bm_edjFilePath.c_str(), file_name); + } + return thumb_nail; + } + if (!strncmp(part, part2_name, part2_len)) { + Evas_Object *thumbButton = elm_button_add(obj); + if (thumbButton != nullptr) + { + elm_object_style_set(thumbButton, part2_name); + if(itemData->index == 1) + { + evas_object_smart_callback_add(thumbButton, "clicked", tizen_browser::base_ui::AddBookmarkPopup::_newFolderButton, data); + evas_object_event_callback_add(thumbButton, EVAS_CALLBACK_MOUSE_IN, __cb_mouse_in, data); + evas_object_event_callback_add(thumbButton, EVAS_CALLBACK_MOUSE_OUT, __cb_mouse_out, data); + } + else + evas_object_smart_callback_add(thumbButton, "clicked", tizen_browser::base_ui::AddBookmarkPopup::_thumbSelected, data); + } + return thumbButton; + } + + } + return nullptr; +} + +void AddBookmarkPopup::__cb_mouse_in(void * data, Evas *, Evas_Object *obj, void *) +{ + BROWSER_LOGD("[%s:%d]", __PRETTY_FUNCTION__, __LINE__); + if ((data != nullptr) && (obj != nullptr)) + { + elm_object_focus_set(obj, EINA_TRUE); + BookmarkFolderItemData *itemData = reinterpret_cast(data); + + const char* file_name = getImageFileNameForType(itemData->index, true); + Elm_Object_Item * selected = itemData->addBookmarkPopup->m_map_bookmark_folder_views["new_folder_button"]; + if (selected != nullptr) + { + Evas_Object *thumb_nail = elm_object_item_part_content_get(selected, "elm.thumbnail"); + if (thumb_nail != nullptr) + { + elm_image_file_set(thumb_nail, itemData->addBookmarkPopup->bm_edjFilePath.c_str(), file_name); + } + } + } +} + +void AddBookmarkPopup::__cb_mouse_out(void * data, Evas *e, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s:%d]", __PRETTY_FUNCTION__, __LINE__); + BookmarkFolderItemData *itemData = reinterpret_cast(data); + elm_object_focus_set(obj, EINA_FALSE); + const char* file_name = getImageFileNameForType(itemData->index, false); + Elm_Object_Item * selected = itemData->addBookmarkPopup->m_map_bookmark_folder_views["new_folder_button"]; + Evas_Object *thumb_nail = elm_object_item_part_content_get(selected, "elm.thumbnail"); + elm_image_file_set(thumb_nail, itemData->addBookmarkPopup->bm_edjFilePath.c_str(), file_name); +} + +void AddBookmarkPopup::_itemSelected(void * data, Evas_Object * /* obj */, void * event_info) +{ + BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__); + /*Elm_Object_Item * selected = reinterpret_cast(event_info); + HistoryItemData * itemData = reinterpret_cast(elm_object_item_data_get(selected)); + AddBookmarkPopup * self = reinterpret_cast(data); + + self->bookmarkClicked(itemData->item);*/ +} + + +void AddBookmarkPopup::_newFolderButton(void * data, Evas_Object * /* obj */, void * /* event_info */) +{ + BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__); + BookmarkFolderItemData * itemData = reinterpret_cast(data); + itemData->addBookmarkPopup->addNewFolderClicked(std::string()); +} + +void AddBookmarkPopup::_thumbSelected(void * data, Evas_Object * /* obj */, void * /* event_info */) +{ + BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__); + BookmarkFolderItemData * itemData = reinterpret_cast(data); + itemData->addBookmarkPopup->folderSelected(itemData->item->getId()); +} + +void AddBookmarkPopup::clearItems() +{ + BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__); + elm_gengrid_clear(m_gengrid); + m_map_bookmark_folder_views.clear(); + elm_theme_extension_del(nullptr, bm_edjFilePath.c_str()); + elm_theme_full_flush(); + elm_cache_all_flush(); +} + + +void AddBookmarkPopup::updateGengrid() +{ + BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__); + elm_gengrid_clear(m_gengrid); + m_map_bookmark_folder_views.clear(); +} + +void AddBookmarkPopup::focusItem(void* /*data*/, Evas_Object* /*obj*/, void* event_info) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + Elm_Object_Item *item = reinterpret_cast(event_info); + elm_object_item_signal_emit( item, "mouse,in", "over2"); + + // selected manually + elm_gengrid_item_selected_set(item, EINA_TRUE); +} + +void AddBookmarkPopup::unFocusItem(void* /*data*/, Evas_Object* /*obj*/, void* event_info) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + Elm_Object_Item *item = reinterpret_cast(event_info); + elm_object_item_signal_emit( item, "mouse,out", "over2"); + + // unselected manually + elm_gengrid_item_selected_set(item, EINA_FALSE); +} + +} +} diff --git a/services/MoreMenuUI/AddBookmarkPopup.h b/services/MoreMenuUI/AddBookmarkPopup.h new file mode 100644 index 0000000..62d86e7 --- /dev/null +++ b/services/MoreMenuUI/AddBookmarkPopup.h @@ -0,0 +1,70 @@ +#ifndef ADDBOOKMARKPOPUP_H +#define ADDBOOKMARKPOPUP_H + +#include +#include + +#include "AbstractUIComponent.h" +#include "AbstractService.h" +#include "ServiceFactory.h" +#include "service_macros.h" +#include "BookmarkItem.h" + +namespace tizen_browser{ +namespace base_ui{ + +class AddBookmarkPopup{ + +public: + AddBookmarkPopup(Evas_Object *main_layout); + ~AddBookmarkPopup(); + + Evas_Object *getContent(); + void addBookmarkFolderItem(std::shared_ptr , int); + void addBookmarkFolderItems(std::vector >); + void clearItems(); + void updateGengrid(); + Evas_Object* createNoHistoryLabel(); + void setEmptyGengrid(bool setEmpty); + + boost::signals2::signal blockClicked; + boost::signals2::signal folderSelected; + boost::signals2::signal addNewFolderClicked; + /** + * Theese setters should be called before showing popup. + */ + void show(); + void hide(); + +private: + static char* _grid_text_get(void *data, Evas_Object *, const char *part); + static Evas_Object * _grid_content_get(void *data, Evas_Object *obj, const char *part); + static void _itemSelected(void * data, Evas_Object * obj, void * event_info); + static void _thumbSelected(void * data, Evas_Object * obj, void * event_info); + static void _newFolderButton(void *data, Evas_Object *obj, void *event_info); + static Evas_Object* listItemContentGet(void *data, Evas_Object *obj, const char *part); + static char* listItemTextGet(void *data, Evas_Object *obj, const char *part); + + static void item_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void close_clicked_cb(void *data, Evas_Object *obj, void *event_info); + + static const char* getImageFileNameForType(int index, bool focused); + + Evas_Object *m_mainLayout; + Evas_Object *m_popup; + Evas_Object *m_gengrid; + + Elm_Gengrid_Item_Class * m_itemClass; + std::map m_map_bookmark_folder_views; + std::string bm_edjFilePath; + bool m_gengridSetup; + + static void __cb_mouse_in(void *data, Evas *e, Evas_Object *obj, void *event_info); + static void __cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info); + + static void focusItem(void* data, Evas_Object* obj, void* event_info); + static void unFocusItem(void* data, Evas_Object* obj, void* event_info); +}; +} +} +#endif diff --git a/services/MoreMenuUI/CMakeLists.txt b/services/MoreMenuUI/CMakeLists.txt new file mode 100644 index 0000000..611598b --- /dev/null +++ b/services/MoreMenuUI/CMakeLists.txt @@ -0,0 +1,44 @@ +project(MoreMenuUI) + +set(MoreMenuUI_SRCS + MoreMenuUI.cpp + AddBookmarkPopup.cpp + NewFolderPopup.cpp + ) + +set(MoreMenuUI_HEADERS + MoreMenuUI.h + AddBookmarkPopup.h + NewFolderPopup.h + ) + +include(Coreheaders) +include(EFLHelpers) + +include_directories(${CMAKE_SOURCE_DIR}/services/FavoriteService) + +add_library(${PROJECT_NAME} SHARED ${MoreMenuUI_SRCS}) + +if(TIZEN_BUILD) + target_link_libraries(${PROJECT_NAME} ${pkgs_LDFLAGS}) +endif(TIZEN_BUILD) + +install(TARGETS ${PROJECT_NAME} + LIBRARY DESTINATION services + ARCHIVE DESTINATION services/static) + +include(EDCCompile) +#please do not add edc/ directory +set(edcFiles + MoreMenu.edc + AddBookmarkPopup.edc + NewFolderPopup.edc + ) + +foreach(edec ${edcFiles}) + string(REPLACE ".edc" ".edj" target_name ${edec}) + EDJ_TARGET(${target_name} + ${CMAKE_CURRENT_SOURCE_DIR}/edc/${edec} + ${CMAKE_CURRENT_BINARY_DIR}) +endforeach(edec) + diff --git a/services/MoreMenuUI/MoreMenuUI.cpp b/services/MoreMenuUI/MoreMenuUI.cpp new file mode 100644 index 0000000..492f3ea --- /dev/null +++ b/services/MoreMenuUI/MoreMenuUI.cpp @@ -0,0 +1,460 @@ +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include + +#include "MoreMenuUI.h" +#include "ServiceManager.h" +#include "BrowserLogger.h" +#include "Tools/EflTools.h" +#include "../Tools/BrowserImage.h" + +#define efl_scale (elm_config_scale_get() / elm_app_base_scale_get()) + +namespace tizen_browser{ +namespace base_ui{ + +EXPORT_SERVICE(MoreMenuUI, "org.tizen.browser.moremenuui") + +struct ItemData{ + tizen_browser::base_ui::MoreMenuUI * m_moreMenu; + tizen_browser::services::HistoryItem * h_item; + Elm_Object_Item * e_item; + }; + +typedef struct _MoreItemData +{ + ItemType item; + std::shared_ptr moreMenuUI; +} MoreMenuItemData; + +MoreMenuUI::MoreMenuUI() + : m_gengrid(NULL) + , m_parent(NULL) + , m_item_class(NULL) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + edjFilePath = EDJE_DIR; + edjFilePath.append("MoreMenuUI/MoreMenu.edj"); +} + +MoreMenuUI::~MoreMenuUI() +{ +} + +void MoreMenuUI::show(Evas_Object* parent) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + m_parent = parent; + elm_theme_extension_add(NULL, edjFilePath.c_str()); + m_mm_layout = elm_layout_add(parent); + elm_layout_file_set(m_mm_layout, edjFilePath.c_str(), "moremenu-layout"); + evas_object_size_hint_weight_set(m_mm_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(m_mm_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(m_mm_layout); + + m_gengrid = elm_gengrid_add(m_mm_layout); + elm_object_part_content_set(m_mm_layout, "elm.swallow.grid", m_gengrid); + + /*evas_object_smart_callback_add(m_gengrid, "item,focused", focusItem, NULL); + evas_object_smart_callback_add(m_gengrid, "item,unfocused", unFocusItem, NULL); + evas_object_smart_callback_add(m_gengrid, "activated", _itemSelected, this);*/ + + if (!m_item_class) { + m_item_class = elm_gengrid_item_class_new(); + m_item_class->item_style = "menu_item"; + m_item_class->func.text_get = _grid_text_get; + m_item_class->func.content_get = _grid_content_get; + m_item_class->func.state_get = NULL; + m_item_class->func.del = NULL; + } + + elm_gengrid_align_set(m_gengrid, 0, 0); + elm_gengrid_select_mode_set(m_gengrid, ELM_OBJECT_SELECT_MODE_ALWAYS); + elm_gengrid_multi_select_set(m_gengrid, EINA_FALSE); + elm_gengrid_horizontal_set(m_gengrid, EINA_FALSE); + elm_scroller_policy_set(m_gengrid, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + elm_scroller_page_size_set(m_gengrid, 0, 327); + evas_object_size_hint_weight_set(m_gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(m_gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_gengrid_item_size_set(m_gengrid, 364 * efl_scale, 320 * efl_scale); + + addItems(); +} + +void MoreMenuUI::showCurrentTab(const std::shared_ptr item) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + elm_theme_extension_add(NULL, edjFilePath.c_str()); + m_genList = elm_genlist_add(m_mm_layout); + elm_object_part_content_set(m_mm_layout, "elm.swallow.genlist", m_genList); + elm_genlist_homogeneous_set(m_genList, EINA_FALSE); + elm_genlist_multi_select_set(m_genList, EINA_FALSE); + elm_genlist_select_mode_set(m_genList, ELM_OBJECT_SELECT_MODE_ALWAYS); + elm_genlist_mode_set(m_genList, ELM_LIST_LIMIT); + elm_genlist_decorate_mode_set(m_genList, EINA_TRUE); + evas_object_size_hint_weight_set(m_genList, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + /*evas_object_smart_callback_add(m_genList, "item,focused", focusItem, this); + evas_object_smart_callback_add(m_genList, "item,unfocused", unFocusItem, NULL);*/ + + m_itemClass = elm_genlist_item_class_new(); + m_itemClass->item_style = "current_tab"; + m_itemClass->func.text_get = &listItemTextGet; + m_itemClass->func.content_get = &listItemContentGet; + m_itemClass->func.state_get = 0; + m_itemClass->func.del = 0; + + ItemData * id = new ItemData; + id->m_moreMenu = this; + id->h_item = item ? item.get() : NULL; + Elm_Object_Item* elmItem = elm_genlist_item_append(m_genList, //genlist + m_itemClass, //item Class + id, + NULL, //parent item + ELM_GENLIST_ITEM_NONE, //item type + NULL, + NULL //data passed to above function + ); + id->e_item = elmItem; + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); +} + +Evas_Object* MoreMenuUI::listItemContentGet(void* data, Evas_Object* obj, const char* part) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + ItemData * id = static_cast(data); + if(!strcmp(part, "favicon") && id->h_item && id->h_item->getFavIcon()) + { + // Currently favicon is not getting fetched from the engine, so we are showing Google's favicon by default. + Evas_Object* thumb_nail = elm_icon_add(obj); + const char* file_name = "favicon.png"; + elm_image_file_set(thumb_nail, id->m_moreMenu->edjFilePath.c_str(), file_name); + return thumb_nail; + //return tizen_browser::tools::EflTools::getEvasImage(id->h_item->getFavIcon(), obj); + } + else if(!strcmp(part, "star_click")) + { + Evas_Object *star_click = elm_button_add(obj); + elm_object_style_set(star_click, "hidden_button"); + evas_object_smart_callback_add(star_click, "clicked", MoreMenuUI::star_clicked_cb, id); + return star_click; + } + else if(!strcmp(part, "close_click")) + { + Evas_Object *close_click = elm_button_add(obj); + elm_object_style_set(close_click, "hidden_button"); + evas_object_smart_callback_add(close_click, "clicked", MoreMenuUI::close_clicked_cb, id); + return close_click; + } + return NULL; +} + +void MoreMenuUI::item_clicked_cb(void* data, Evas_Object* /* obj */, void* /* event_info */) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); +} + +void MoreMenuUI::star_clicked_cb(void* data, Evas_Object* /* obj */, void* /* event_info */) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + ItemData * id = static_cast(data); + id->m_moreMenu->AddBookmarkPopupCalled(); +} + +void MoreMenuUI::AddBookmarkPopupCalled() +{ //m_map_bookmark_folder_list.clear(); + popup = std::shared_ptr (new AddBookmarkPopup(m_mm_layout)); + popup->show(); + popup->addBookmarkFolderItems(m_map_bookmark_folder_list); + popup->folderSelected.disconnect_all_slots(); + popup->folderSelected.connect(boost::bind(&MoreMenuUI::addToBookmarks, this, _1)); + popup->addNewFolderClicked.disconnect_all_slots(); + popup->addNewFolderClicked.connect(boost::bind(&MoreMenuUI::newFolderPopup, this,_1)); +} + +void MoreMenuUI::newFolderPopup(std::string) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + m_popup = std::shared_ptr (new NewFolderPopup(m_mm_layout, NULL,"Add New Folder for adding to Bookmark","New Folder","Add to bookmark","Cancel")); + m_popup->on_ok.disconnect_all_slots(); + m_popup->on_ok.connect(boost::bind(&MoreMenuUI::NewFolderCreate, this, _1)); + m_popup->on_cancel.disconnect_all_slots(); + m_popup->on_cancel.connect(boost::bind(&MoreMenuUI::CancelClicked, this, _1)); + popup->hide(); + m_popup->show(); +} + +void MoreMenuUI::NewFolderCreate(Evas_Object * popup_content) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + m_folderName = elm_entry_entry_get(popup_content); + BookmarkFolderCreated(m_folderName.c_str(), 0,0); + m_popup->hide(); +} + +void MoreMenuUI::CancelClicked(Evas_Object * popup) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + m_popup->hide(); +} + +void MoreMenuUI::addToBookmarks(int folder_id) +{ + AddBookmarkInput(folder_id); + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + popup->hide(); + popup.reset(); +} +void MoreMenuUI::close_clicked_cb(void* data, Evas_Object* /* obj */, void* /* event_info */) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + ItemData * id = static_cast(data); + id->m_moreMenu->closeMoreMenuClicked(std::string()); + id->m_moreMenu->clearItems(); +} + +char* MoreMenuUI::listItemTextGet(void* data, Evas_Object* /* obj */, const char* part) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + ItemData * id = static_cast(data); + if(!strcmp(part, "webpage_title")) + { + if(!id->h_item) + return strdup("New Tab"); + if(!id->h_item->getTitle().empty()){ + return strdup(id->h_item->getTitle().c_str()); + } + } + else if(!strcmp(part, "webpage_url")) + { + if(!id->h_item) + return strdup(""); + if(!id->h_item->getUrl().empty()){ + return strdup(id->h_item->getUrl().c_str()); + } + } + return strdup(""); +} + +void MoreMenuUI::hide() +{ + evas_object_hide(elm_layout_content_get(m_mm_layout, "elm.swallow.grid")); + evas_object_hide(elm_layout_content_get(m_mm_layout, "elm.swallow.genlist")); + evas_object_hide(m_mm_layout); +} + +void MoreMenuUI::addItems() +{ + BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__); + for (size_t i = 0; i < 10; i++) { + MoreMenuItemData *itemData = new MoreMenuItemData(); + itemData->item = static_cast(i);; + itemData->moreMenuUI = std::shared_ptr(this); + Elm_Object_Item* bookmarkView = elm_gengrid_item_append(m_gengrid, m_item_class, itemData, NULL, this); + m_map_menu_views.insert(std::pair(itemData->item, bookmarkView)); + elm_gengrid_item_selected_set(bookmarkView, EINA_FALSE); + } + BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__); +} + +char* MoreMenuUI::_grid_text_get(void *data, Evas_Object *obj, const char *part) +{ + MoreMenuItemData *itemData = reinterpret_cast(data); + + BROWSER_LOGD("%s:%d %s part=%s", __FILE__, __LINE__, __func__, part); + if (!strcmp(part, "menu_label")) { + const char* item_name = NULL; + switch(itemData->item) { + case READER_MODE: + item_name = "Reader mode"; break; + case BOOKMARK_MANAGER: + item_name = "Bookmark manager"; break; + case HISTORY: + item_name = "History"; break; + case SCREEN_ZOOM: + item_name = "Screen zoom"; break; + case START_MINIBROWSER: + item_name = "Start minibrowser"; break; + case FOCUS_MODE: + item_name = "Focus mode"; break; + case VIEW_MOBILE_WEB: + item_name = "View mobile web"; break; + case SHARE: + item_name = "Share"; break; + case SETTINGS: + item_name = "Settings"; break; + case EXIT_BROWSER: + item_name = "Exit browser"; break; + default: + item_name = ""; + } + return strdup(item_name); + } + return NULL; +} + +static const char* getImageFileNameForType(ItemType type, bool focused) +{ + const char* file_name = NULL; + switch(type) { + case READER_MODE: + file_name = focused ? "ic_more_readermode_foc.png" : "ic_more_readermode_nor.png"; break; + case BOOKMARK_MANAGER: + file_name = focused ? "ic_more_bookmark_foc.png" : "ic_more_bookmark_nor.png"; break; + case HISTORY: + file_name = focused ? "ic_more_history_foc.png" : "ic_more_history_nor.png"; break; + case SCREEN_ZOOM: + file_name = focused ? "ic_more_zoom_foc.png" : "ic_more_zoom_nor.png"; break; + case START_MINIBROWSER: + file_name = focused ? "ic_more_minibrowser_foc.png" : "ic_more_minibrowser_nor.png"; break; + case FOCUS_MODE: + file_name = focused ? "ic_more_focusmode_foc.png" : "ic_more_focusmode_nor.png"; break; + case VIEW_MOBILE_WEB: + file_name = focused ? "ic_more_mobileview_foc.png" : "ic_more_mobileview_nor.png"; break; + case SHARE: + file_name = focused ? "ic_more_share_foc.png" : "ic_more_share_nor.png"; break; + case SETTINGS: + file_name = focused ? "ic_more_setting_foc.png" : "ic_more_setting_nor.png"; break; + case EXIT_BROWSER: + file_name = focused ? "ic_more_exit_foc.png" : "ic_more_exit_nor.png"; break; + default: + file_name = ""; + } + return file_name; +} + +Evas_Object * MoreMenuUI::_grid_content_get(void *data, Evas_Object *obj, const char *part) +{ + BROWSER_LOGD("%s:%d %s part=%s", __FILE__, __LINE__, __func__, part); + MoreMenuItemData *itemData = reinterpret_cast(data); + + if (!strcmp(part, "thumbnail_item")) { + Evas_Object* thumb_nail = elm_icon_add(obj); + const char* file_name = getImageFileNameForType(itemData->item, false); + elm_image_file_set(thumb_nail, itemData->moreMenuUI->edjFilePath.c_str(), file_name); + return thumb_nail; + } + else if (!strcmp(part, "thumbbutton_item")) { + Evas_Object *thumbButton = elm_button_add(obj); + elm_object_style_set(thumbButton, "clickButton"); + evas_object_smart_callback_add(thumbButton, "clicked", tizen_browser::base_ui::MoreMenuUI::_thumbSelected, data); + evas_object_event_callback_add(thumbButton, EVAS_CALLBACK_MOUSE_IN, __cb_mouse_in, data); + evas_object_event_callback_add(thumbButton, EVAS_CALLBACK_MOUSE_OUT, __cb_mouse_out, data); + return thumbButton; + } + return NULL; +} + +void MoreMenuUI::__cb_mouse_in(void * data, Evas *e, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s:%d]", __PRETTY_FUNCTION__, __LINE__); + elm_object_focus_set(obj, EINA_TRUE); + MoreMenuItemData *itemData = reinterpret_cast(data); + + const char* file_name = getImageFileNameForType(itemData->item, true); + Elm_Object_Item * selected = itemData->moreMenuUI->m_map_menu_views[itemData->item]; + Evas_Object *thumb_nail = elm_object_item_part_content_get(selected, "thumbnail_item"); + elm_image_file_set(thumb_nail, itemData->moreMenuUI->edjFilePath.c_str(), file_name); +} + +void MoreMenuUI::__cb_mouse_out(void * data, Evas *e, Evas_Object *obj, void *event_info) +{ + BROWSER_LOGD("[%s:%d]", __PRETTY_FUNCTION__, __LINE__); + MoreMenuItemData *itemData = reinterpret_cast(data); + elm_object_focus_set(obj, EINA_FALSE); + const char* file_name = getImageFileNameForType(itemData->item, false); + Elm_Object_Item * selected = itemData->moreMenuUI->m_map_menu_views[itemData->item]; + Evas_Object *thumb_nail = elm_object_item_part_content_get(selected, "thumbnail_item"); + elm_image_file_set(thumb_nail, itemData->moreMenuUI->edjFilePath.c_str(), file_name); +} + +void MoreMenuUI::_itemSelected(void * data, Evas_Object * /* obj */, void * event_info) +{ + BROWSER_LOGD("[%s:%d]", __PRETTY_FUNCTION__, __LINE__); +} + +void MoreMenuUI::_thumbSelected(void * data, Evas_Object * /* obj */, void * /* event_info */) +{ + BROWSER_LOGD("[%s:%d]", __PRETTY_FUNCTION__, __LINE__); + MoreMenuItemData *itemData = reinterpret_cast(data); + switch(itemData->item) { + case READER_MODE: + break; + case BOOKMARK_MANAGER: + break; + case HISTORY: + itemData->moreMenuUI->historyUIClicked(std::string()); break; + case SCREEN_ZOOM: + break; + case START_MINIBROWSER: + break; + case FOCUS_MODE: + break; + case VIEW_MOBILE_WEB: + break; + case SHARE: + break; + case SETTINGS: + itemData->moreMenuUI->settingsClicked(std::string()); break; + case EXIT_BROWSER: + break; + } +} + +void MoreMenuUI::getBookmarkFolderList(std::vector > folderList) +{ + m_map_bookmark_folder_list = folderList; +} + +void MoreMenuUI::clearItems() +{ + hide(); + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + elm_gengrid_clear(m_gengrid); + elm_genlist_clear(m_genList); + m_map_menu_views.clear(); + m_map_bookmark_folder_list.clear(); + elm_theme_extension_del(NULL, edjFilePath.c_str()); + elm_theme_full_flush(); + elm_cache_all_flush(); +} + +void MoreMenuUI::focusItem(void* /*data*/, Evas_Object* /*obj*/, void* event_info) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + Elm_Object_Item *item = reinterpret_cast(event_info); + elm_object_item_signal_emit( item, "mouse,in", "over2"); + + // selected manually + elm_gengrid_item_selected_set(item, EINA_TRUE); +} + +void MoreMenuUI::unFocusItem(void* /*data*/, Evas_Object* /*obj*/, void* event_info) +{ + BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); + Elm_Object_Item *item = reinterpret_cast(event_info); + elm_object_item_signal_emit( item, "mouse,out", "over2"); + + // unselected manually + elm_gengrid_item_selected_set(item, EINA_FALSE); +} + +} +} diff --git a/services/MoreMenuUI/MoreMenuUI.h b/services/MoreMenuUI/MoreMenuUI.h new file mode 100644 index 0000000..7bff048 --- /dev/null +++ b/services/MoreMenuUI/MoreMenuUI.h @@ -0,0 +1,117 @@ +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MOREMENUUI_H +#define MOREMENUUI_H + +#include +#include + +#include "AbstractUIComponent.h" +#include "AbstractService.h" +#include "ServiceFactory.h" +#include "service_macros.h" +//#include "../SimpleUI/SimpleUI.h" + +#include "BookmarkItem.h" +#include "AddBookmarkPopup.h" +#include "NewFolderPopup.h" +#include "../BookmarkManagerUI/AddNewFolderPopup.h" +#include "services/HistoryService/HistoryItem.h" + +namespace tizen_browser{ +namespace base_ui{ + +class SimpleUI; +enum ItemType { + READER_MODE, + BOOKMARK_MANAGER, + HISTORY, + SCREEN_ZOOM, + START_MINIBROWSER, + FOCUS_MODE, + VIEW_MOBILE_WEB, + SHARE, + SETTINGS, + EXIT_BROWSER +} item; + +class BROWSER_EXPORT MoreMenuUI + : public tizen_browser::interfaces::AbstractUIComponent + , public tizen_browser::core::AbstractService +{ +public: + MoreMenuUI(); + ~MoreMenuUI(); + void show(Evas_Object *main_layout); + void showCurrentTab(const std::shared_ptr item); + virtual std::string getName(); + void addItems(); + void hide(); + void clearItems(); + void getBookmarkFolderList(std::vector > ); + + boost::signals2::signal historyUIClicked; + boost::signals2::signal BookmarkFolderCreated; + boost::signals2::signal closeMoreMenuClicked; + boost::signals2::signal BookmarkFoldersListImport; + boost::signals2::signal settingsClicked; + boost::signals2::signal AddBookmarkInput; +private: + static char* _grid_text_get(void *data, Evas_Object *obj, const char *part); + static Evas_Object * _grid_content_get(void *data, Evas_Object *obj, const char *part); + static void _itemSelected(void * data, Evas_Object * obj, void * event_info); + static void _thumbSelected(void * data, Evas_Object * obj, void * event_info); + + static Evas_Object* listItemContentGet(void *data, Evas_Object *obj, const char *part); + static char* listItemTextGet(void *data, Evas_Object *obj, const char *part); + + void newFolderPopup(std::string); + void NewFolderCreate(Evas_Object * popup_content); + void CancelClicked(Evas_Object * popup_content); + + void AddBookmarkPopupCalled(); + void addToBookmarks(int folder_id); + static void item_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void star_clicked_cb(void *data, Evas_Object *obj, void *event_info); + static void close_clicked_cb(void *data, Evas_Object *obj, void *event_info); + + static void __cb_mouse_in(void *data, Evas *e, Evas_Object *obj, void *event_info); + static void __cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info); + +private: + Evas_Object *m_genList; + std::shared_ptr m_popup; + Evas_Object *m_mm_layout; + std::shared_ptr popup; + Elm_Genlist_Item_Class *m_itemClass; + Evas_Object *m_gengrid; + Evas_Object *m_parent; + Elm_Gengrid_Item_Class * m_item_class; + std::map m_map_menu_views; + std::vector > m_map_bookmark_folder_list; + std::string edjFilePath; + std::string m_folderName; + bool m_gengridSetup; + + static void focusItem(void* data, Evas_Object* obj, void* event_info); + static void unFocusItem(void* data, Evas_Object* obj, void* event_info); +}; + +} +} + +#endif // BOOKMARKSUI_H diff --git a/services/MoreMenuUI/NewFolderPopup.cpp b/services/MoreMenuUI/NewFolderPopup.cpp new file mode 100644 index 0000000..32b8f69 --- /dev/null +++ b/services/MoreMenuUI/NewFolderPopup.cpp @@ -0,0 +1,170 @@ +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include + +#include "Tools/EflTools.h" +#include "NewFolderPopup.h" +#include "BrowserLogger.h" + +#define efl_scale (elm_config_scale_get() / elm_app_base_scale_get()) + +namespace tizen_browser{ +namespace base_ui{ + +NewFolderPopup::NewFolderPopup(Evas_Object* main_layout) : + m_popup(NULL), + m_content(NULL), + m_mainLayout(main_layout) +{ + +} + +NewFolderPopup::NewFolderPopup(Evas_Object *main_layout, Evas_Object *content, const char *message, char* title, char* okButtonText, char* cancelButtonText) : + m_popup(NULL), + m_mainLayout(main_layout), + m_content(content), + m_message(message), + m_title(title), + m_okButtonText(okButtonText), + m_cancelButtonText(cancelButtonText) +{ + +} + +void NewFolderPopup::setTitle(const std::string& title) +{ + m_title = title; +} + +void NewFolderPopup::setMessage(const std::string& message) +{ + m_message = message; +} + +void NewFolderPopup::setContent(Evas_Object* content) +{ + m_content = content; +} + +void NewFolderPopup::setOkButtonText(const std::string& okButtonText) +{ + m_okButtonText = okButtonText; +} + +void NewFolderPopup::setCancelButtonText(const std::string& cancelButtonText) +{ + m_cancelButtonText = cancelButtonText; +} + +void NewFolderPopup::show() +{ + BROWSER_LOGD("[%si %d],", __func__, __LINE__); + std::string edjePath = std::string(EDJE_DIR); + edjePath.append("MoreMenuUI/NewFolderPopup.edj"); + elm_theme_extension_add(0, edjePath.c_str()); + m_popup = elm_layout_add(m_mainLayout); + elm_layout_file_set(m_popup, edjePath.c_str(), "new_folder_popup"); + elm_object_part_text_set(m_popup, "title_text", m_title.c_str()); + + Evas_Object *buttonsBox = elm_box_add(m_popup); + elm_box_horizontal_set(buttonsBox, EINA_TRUE); + + /* for margins */ + Evas_Object *layout = elm_layout_add(m_popup); + elm_layout_file_set(layout, edjePath.c_str() , "popup_input_text"); + evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_content_set(m_popup, layout); + elm_object_part_text_set(m_popup, "title,text", m_title.c_str()); + + m_editfield_entry = elm_entry_add(layout); + elm_object_style_set(m_editfield_entry, "uri_entry_popup"); + evas_object_size_hint_weight_set(m_editfield_entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(m_editfield_entry, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_entry_editable_set(m_editfield_entry, EINA_TRUE); + elm_entry_cnp_mode_set(m_editfield_entry, ELM_CNP_MODE_PLAINTEXT); + elm_entry_scrollable_set(m_editfield_entry, EINA_TRUE); + elm_entry_autocapital_type_set(m_editfield_entry, ELM_AUTOCAPITAL_TYPE_NONE); + elm_entry_prediction_allow_set(m_editfield_entry, EINA_FALSE); + elm_entry_single_line_set(m_editfield_entry, EINA_TRUE); + + elm_entry_input_panel_layout_set(m_editfield_entry, ELM_INPUT_PANEL_LAYOUT_URL); + elm_entry_input_panel_return_key_type_set(m_editfield_entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE); + elm_object_part_content_set(layout, "elm.swallow.content" , m_editfield_entry); + elm_entry_cursor_end_set(m_editfield_entry); + + if (!m_okButtonText.empty()) + { + BROWSER_LOGD("Button1, %s", edjePath.c_str()); + Evas_Object *btn1 = elm_button_add(buttonsBox); + evas_object_size_hint_weight_set(btn1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn1, 0.5, 0.5); + elm_object_style_set(btn1, "bookmark_button"); + elm_object_part_text_set(btn1, "elm.text", m_okButtonText.c_str()); + elm_box_pack_end(buttonsBox, btn1); + evas_object_smart_callback_add(btn1, "clicked", popup_ok_cb, (void*)this); + evas_object_show(btn1); + } + + if (!m_cancelButtonText.empty()) + { + BROWSER_LOGD("Button2"); + Evas_Object *btn2 = elm_button_add(buttonsBox); + evas_object_size_hint_weight_set(btn2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn2, 0.5, 0.5); + elm_object_style_set(btn2, "bookmark_button"); + elm_object_part_text_set(btn2, "elm.text", m_cancelButtonText.c_str()); + elm_box_pack_end(buttonsBox, btn2); + evas_object_smart_callback_add(btn2, "clicked", popup_cancel_cb, (void*)this); + evas_object_show(btn2); + } + + if(!m_message.empty()) + elm_object_part_text_set(m_popup, "elm.text", m_message.c_str()); + + evas_object_show(m_editfield_entry); + evas_object_show(buttonsBox); + evas_object_show(layout); + elm_object_part_content_set(m_popup, "buttons", buttonsBox); + elm_object_part_content_set(m_popup, "content", layout); + elm_object_part_content_set(m_mainLayout, "popup", m_popup); + + elm_object_signal_emit(m_mainLayout, "elm,state,show", "elm"); +} + +void NewFolderPopup::hide() +{ + evas_object_hide(m_popup); + elm_object_signal_emit(m_mainLayout, "elm,state,hide", "elm"); +} + +void NewFolderPopup::popup_ok_cb(void *data, Evas_Object *btn, void*) +{ + BROWSER_LOGD("[%s],", __func__); + NewFolderPopup *ownPopup = static_cast(data); + ownPopup->on_ok(ownPopup->m_editfield_entry); +} +void NewFolderPopup::popup_cancel_cb(void *data, Evas_Object *btn, void*) +{ + BROWSER_LOGD("[%s],", __func__); + NewFolderPopup *ownPopup = static_cast(data); + ownPopup->on_cancel(ownPopup->m_editfield_entry); +} + +} +} diff --git a/services/MoreMenuUI/NewFolderPopup.h b/services/MoreMenuUI/NewFolderPopup.h new file mode 100644 index 0000000..18edd11 --- /dev/null +++ b/services/MoreMenuUI/NewFolderPopup.h @@ -0,0 +1,50 @@ +#ifndef NEWFOLDERPOPUP_H +#define NEWFOLDERPOPUP_H + +#include +#include + +#include "AbstractUIComponent.h" +#include "AbstractService.h" +#include "ServiceFactory.h" +#include "service_macros.h" +#include "BookmarkItem.h" + +namespace tizen_browser{ +namespace base_ui{ + +class NewFolderPopup{ + +public: + NewFolderPopup(Evas_Object *main_layout); + NewFolderPopup(Evas_Object *main_layout, Evas_Object *content, const char *message, char *title, char* okButtonText, char* cancelButtonText); + + /** + * Theese setters should be called before showing popup. + */ + void setContent(Evas_Object *content); + void setMessage(const std::string &message); + void setTitle(const std::string &title); + void setOkButtonText(const std::string &okButtonText); + void setCancelButtonText(const std::string &cancelButtonText); + + void show(); + void hide(); + boost::signals2::signal on_ok; + boost::signals2::signal on_cancel; + +private: + static void popup_ok_cb(void *data, Evas_Object *btn, void*); + static void popup_cancel_cb(void *data, Evas_Object *btn, void*); + Evas_Object *m_popup; + Evas_Object *m_editfield_entry; + Evas_Object *m_content; + std::string m_message, m_title, m_okButtonText, m_cancelButtonText; + +protected: + Evas_Object *m_mainLayout; +}; + +} +} +#endif diff --git a/services/MoreMenuUI/edc/AddBookmarkPopup.edc b/services/MoreMenuUI/edc/AddBookmarkPopup.edc new file mode 100644 index 0000000..ec3c60a --- /dev/null +++ b/services/MoreMenuUI/edc/AddBookmarkPopup.edc @@ -0,0 +1,370 @@ +#define CONTENT_HEIGHT 99; +#define CONTENT_BG_HEIGHT (CONTENT_HEIGHT+294); + +#define DEBUG_RECT_OVER(over_part, r, g, b) \ + part { name: __CONCAT("dbg_rect_at_", __stringify(__LINE__)); \ + \ +scale:1; \ + type : RECT; \ + repeat_events: 1; \ + description { \ + state: "default" 0.0; \ + visible: 1; \ + color: r g b 128; \ + rel1 { to: over_part; relative: 0 0; } \ + rel2 { to: over_part; relative: 1 1; } \ + } \ + } + +#define RESOURCE_IMAGE_LOSSY( FILE_NAME ) \ + group { \ + name: FILE_NAME; \ + images.image: FILE_NAME LOSSY 100; \ + parts { \ + part { name: "image"; \ + description { \ + state: "default" 0.0; \ + image.normal: FILE_NAME; \ + min: 134 167; \ + max: 134 167; \ + aspect_preference: BOTH; \ + } \ + } \ + } \ + } + + + +collections{ + RESOURCE_IMAGE_LOSSY("btn_bar_new_foc.png") + RESOURCE_IMAGE_LOSSY("btn_bar_new_nor.png") + + group { name: "bookmark_popup"; + parts{ + part{ name: "content_bg"; + type: RECT; + scale: 1; + description{ + state: "default" 0.0; + visible: 1; + fixed: 1 1; + color: 255 255 255 255; + align: 0.5 0.5; + min: 740 658; + max: 740 884; + rel1 {relative: 0.0 0.0;} + rel2 {relative: 1.0 1.0;} + } + } + part{ name: "title_bg"; + type: RECT; + description{ + state: "default" 0.0; + visible: 1; + color: 255 255 255 255; + min: 740 144; + max: 740 144; + align: 0.0 0; + rel1 {relative: 0.0 0.0; to: "content_bg"; offset: 0 0;} + rel2 {relative: 1.0 1.0; to: "content_bg";} + } + } + part{ name: "title_text_bm"; + type: TEXT; + description{ + state: "default" 0.0; + visible: 1; + fixed: 1 1; + rel1 {relative: 0.0 0.0; to: "title_bg"; offset: 40 46;} + rel2 {relative: 1.0 1.0; to: "title_bg"; offset: -40 0;} + color: 51 51 51 255; + text{ + text: "Add to bookmark"; + font: "Sans"; + size: 42; + align: 0.5 0.0; + } + } + } + part{ name: "sub_title_text_bm"; + type: TEXT; + description{ + state: "default" 0.0; + visible: 1; + fixed: 1 1; + rel1 {relative: 0.0 0.0; to: "title_bg"; offset: 40 112;} + rel2 {relative: 1.0 1.0; to: "title_bg"; offset: -40 0;} + color: 104 104 104 255; + text{ + text: "Select folder for adding to bookmark"; + font: "Sans"; + size: 32; + align: 0.5 0.0; + } + } + } + part{ name: "gengrid_bg"; + type: RECT; + mouse_events: 0; + description{ + state: "default" 0.0; + visible: 1; + color: 255 255 255 255; + rel1 {relative: 0.0 1.0; to: "title_bg"; offset: 40 40;} + rel2 {relative: 1.0 1.0; } + align: 0 0; + min: 698 452; + max: 698 678; + } + } + part{ name: "elm.swallow.gengrid"; + type: SWALLOW; + scale: 1; + description{ + state: "default" 0.0; + visible: 1; + fixed: 0 0; + rel1 {relative: 0.0 0.0; to: "gengrid_bg";} + rel2 {relative: 1.0 1.0; to: "gengrid_bg";} + align: 0.0 0.0; + min: 698 452; + max: 698 678; + } + } + } + } + + /* group { + name: "own_popup_bm_long"; + inherit: "own_popup_bm"; + parts { + part{ name: "content"; + type: SWALLOW; + scale: 1; + description{ + state: "default" 0.0; + visible: 1; + rel1 {relative: 0.0 0.0;} + rel2 {relative: 1.0 1.0;} + fixed: 1 1; + align: 0.5 0.5; + min: 542 0; + max: 542 450; + } + } + } + } + */ + +group { name: "elm/gengrid/item/folder_grid_item/default"; + data.item: "texts" "page_title"; + data.item: "contents" "elm.thumbnail elm.thumbButton"; + images { + image: "web_frame_selected.png" COMP; + image: "ico_bg_round_shape_37x37.png" COMP; + image: "btn_bar_new_nor.png" COMP; + } + parts { + part { name: "bg"; + type: RECT; + mouse_events: 0; + description { state: "default" 0.0; + visible: 1; + min: 226 226; + max: 226 226; + color: 255 255 255 255; + rel1.offset: -18 -18; + } + description { state: "selected"; + inherit: "default" 0.0; + color: 70 143 254 255; + } + } + + part { name: "thumbnail_bg"; + type: RECT; + description { state: "default" 0.0; + visible: 1; + min: 208 208; + max: 208 208; + align: 0.0 0.0; + color : 231 231 231 255; + rel1 { + relative: 0.0 0.0; to: "bg"; + } + rel2 { + relative: 1.0 1.0; to: "bg"; + } + } + description { state: "selected"; + inherit: "default" 0.0; + color: 70 143 254 255; + } + } + part { name: "elm.thumbnail"; + type: SWALLOW; + description { state: "default" 0.0; + fixed: 1 0; + visible: 1; + align: 0.0 0.0; + color : 255 255 255 255; + rel1 { + relative: 0.0 0.0; to: "thumbnail_bg"; + } + rel2 { + relative: 1.0 1.0; to: "thumbnail_bg"; + } + } + description { state: "selected"; + inherit: "default" 0.0; + } + } + part { name: "page_title"; + type: TEXT; + description { state: "default" 0.0; + align: 0.5 0.5; + rel1 { + to: "thumbnail_bg"; + relative: 0.0 0.0; + offset: 0 0; + } + rel2 { + to: "thumbnail_bg"; + relative: 1.0 1.0; + } + color: 51 51 51 255; + text { + text: "Web page title"; + font: "Sans"; + size: 32; + align: 0.5 0.5; + } + } + description { state: "selected" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + description { state: "highlight" 0.0; + inherit: "default" 0.0; + //color: highlightTextColor; + } + } + part { name: "elm.thumbButton"; + type: SWALLOW; + mouse_events: 1; + description { state: "default" 0.0; + rel1.to: "elm.thumbnail"; + rel2.to: "elm.thumbnail"; + } + } + part { name: "over"; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + color: 0 0 0 0; + rel1.to: "thumbnail_bg"; + rel2.to: "thumbnail_bg"; + } + } + } + programs{ + program { + name: "mouse_click_newtab"; + signal: "mouse,clicked,1"; + source: "over"; + script { + emit("elm,action,click", ""); + } + } + program { + name: "mouse_click_thumbbutton"; + signal: "mouse,clicked"; + source: "elm.thumbButton"; + script { + emit("clicked", "elm.thumbButton"); + } + } + program { name: "mouse_in"; + signal: "mouse,in"; + source: "over"; + action: STATE_SET "selected" 0.0; + target: "thumbnail_bg"; + target: "page_title"; + } + program { name: "mouse_out"; + signal: "mouse,out"; + source: "over"; + action: STATE_SET "default" 0.0; + target: "thumbnail_bg"; + target: "page_title"; + } + } +} + + +group{ + name: "elm/button/base/hidden_bm_button"; + parts{ + part{ + name: "button"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + visible: 1; + fixed: 1 1; + color: 0 0 0 0; + } + } + part{ + name: "over"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + visible: 1; + fixed: 1 1; + rel1 { relative: 0.0 0.0;to: "button";} + rel2 { relative: 1.0 1.0;to: "button";} + color: 0 0 0 0; + } + } + } + programs{ + program { + name: "mouse_click"; + signal: "mouse,clicked,1"; + source: "over"; + script { + emit("elm,action,click", ""); + } + } + } + } +group { name: "elm/button/base/elm.thumbButton"; + images { + image: "ico_delete.png" COMP; + } + parts { + part { name: "elm.swallow.content"; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + color: 0 0 0 0; + visible: 1; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + align: 0.0 0.0; + } + } + } + + programs { + program { name: "mouse,clicked"; + signal: "mouse,down,1"; + source: "elm.swallow.content"; + action: SIGNAL_EMIT "elm,action,click" ""; + } + } + +} diff --git a/services/MoreMenuUI/edc/MoreMenu.edc b/services/MoreMenuUI/edc/MoreMenu.edc new file mode 100644 index 0000000..e7b67a7 --- /dev/null +++ b/services/MoreMenuUI/edc/MoreMenu.edc @@ -0,0 +1,969 @@ +#define DEBUG_RECT_OVER(over_part, r, g, b) \ + part { name: __CONCAT("dbg_rect_at_", __stringify(__LINE__)); \ + \ +scale:1; \ + type : RECT; \ + repeat_events: 1; \ + description { \ + state: "default" 0.0; \ + visible: 1; \ + color: r g b 128; \ + rel1 { to: over_part; relative: 0 0; } \ + rel2 { to: over_part; relative: 1 1; } \ + } \ + } + +#define RESOURCE_IMAGE_LOSSY( FILE_NAME ) \ + group { \ + name: FILE_NAME; \ + images.image: FILE_NAME LOSSY 100; \ + parts { \ + part { name: "image"; \ + description { \ + state: "default" 0.0; \ + image.normal: FILE_NAME; \ + aspect: 1 1; \ + aspect_preference: BOTH; \ + } \ + } \ + } \ + } + +collections { + +RESOURCE_IMAGE_LOSSY("ic_more_readermode_nor.png") +RESOURCE_IMAGE_LOSSY("ic_more_bookmark_nor.png") +RESOURCE_IMAGE_LOSSY("ic_more_history_nor.png") +RESOURCE_IMAGE_LOSSY("ic_more_zoom_nor.png") +RESOURCE_IMAGE_LOSSY("ic_more_minibrowser_nor.png") +RESOURCE_IMAGE_LOSSY("ic_more_focusmode_nor.png") +RESOURCE_IMAGE_LOSSY("ic_more_mobileview_nor.png") +RESOURCE_IMAGE_LOSSY("ic_more_share_nor.png") +RESOURCE_IMAGE_LOSSY("ic_more_setting_nor.png") +RESOURCE_IMAGE_LOSSY("ic_more_exit_nor.png") +RESOURCE_IMAGE_LOSSY("ic_add_bookmark.png") +RESOURCE_IMAGE_LOSSY("ic_more_readermode_foc.png") +RESOURCE_IMAGE_LOSSY("ic_more_bookmark_foc.png") +RESOURCE_IMAGE_LOSSY("ic_more_history_foc.png") +RESOURCE_IMAGE_LOSSY("ic_more_zoom_foc.png") +RESOURCE_IMAGE_LOSSY("ic_more_minibrowser_foc.png") +RESOURCE_IMAGE_LOSSY("ic_more_focusmode_foc.png") +RESOURCE_IMAGE_LOSSY("ic_more_mobileview_foc.png") +RESOURCE_IMAGE_LOSSY("ic_more_share_foc.png") +RESOURCE_IMAGE_LOSSY("ic_more_setting_foc.png") +RESOURCE_IMAGE_LOSSY("ic_more_exit_foc.png") +RESOURCE_IMAGE_LOSSY("favicon.png") + +#define WIDTH 1920 +#define HEIGHT 366 +#define ITEM_WIDTH 1200 + + group { + name: "elm/genlist/item/current_tab/default"; + min: WIDTH HEIGHT; + max: WIDTH HEIGHT; + images { + image: "ico_delete.png" COMP; + image: "ic_add_bookmark" COMP; + image: "thumbnail.png" COMP; + image: "btn_bar_stop_nor.png" COMP; + } + data.item: "texts" "webpage_title webpage_url"; + data.item: "contents" "favicon star_click close_click"; + color_classes{ + color_class{ + name: "defaultBgColor"; + color: 18 22 34 255; + } + color_class{ + name: "focusBgColor"; + color: 69 143 255 255; + } + color_class{ + name: "highlightBgColor"; + color: 69 143 255 102; + } + color_class{ + name: "imageHighlight"; + color: 255 255 255 102; + } + color_class{ + name: "focusDelBgColor"; + color: 96 114 146 255; + } + color_class{ + name: "titleTextColor"; + color: 74 74 74 255; + } + color_class{ + name: "focusTextColor"; + color: 255 255 255 255; + } + color_class{ + name: "highlightTextColor"; + color: 255 255 255 51; + } + color_class{ + name: "urlTextColor"; + color: 116 116 116 204; + } + color_class{ + name: "transparent"; + color: 0 0 0 0; + } + } + parts { + part { + name: "bg_rect"; + scale:1; + mouse_events: 1; + type: RECT; + description { + state: "default" 0.0; + color: 231 231 231 255; + align: 0 0; + min: 1920 366; + max: 1920 366; + rel1 { relative: 0.0 0.0; offset: 0 0;} + } + } + part { + name: "action_bar_bg"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + visible: 1; + fixed: 1 1; + min: 1920 104; + max: 1920 104; + align: 0 0; + rel1 { relative: 0.0 0.0;to: "bg_rect"; offset: 0 0;} + rel2 { relative: 1.0 1.0;to: "bg_rect";} + color : 255 255 255 255; + } + } + part { name: "action_bar_shadow"; + type: IMAGE; + scale: 1; + repeat_events: 1; + description { + state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + fixed: 0 0; + min: 1920 14; + max: 1920 14; + image.normal: "web_shadow.png"; + rel1 { relative: 0.0 1.0; to: "action_bar_bg"; } + rel2 { relative: 1.0 1.0; } + } + } + part { name: "moremenu_title"; + scale: 1; + type: TEXT; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + min: 500 58; + max: 500 58; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; to: "action_bar_bg";} + rel2 { relative: 1.0 1.0; to: "action_bar_bg";} + color_class: titleTextColor; + text { + text: "More menu"; + font: "Sans"; + size: 58; + align: 0.5 0.5; + } + } + } + part { + name: "close_bg"; + scale:1; + mouse_events: 1; + type: RECT; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0 0.5; + min: 82 102; + max: 82 102; + rel1 { relative: 0.0 0.0; to: "action_bar_bg"; offset: 1758 0;} + rel2 { relative: 1.0 1.0; to: "action_bar_bg";} + color_class: transparent; + } + description { + state: "highlight" 0.0; + inherit: "default" 0.0; + color_class: focusBgColor; + visible: 1; + } + description { + state: "focus" 0.0; + inherit: "default" 0.0; + color_class: focusDelBgColor; + visible: 1; + } + } + part { + name: "close_icon"; + type: IMAGE; + scale: 1; + description { state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0 0; + min: 82 102; + max: 82 102; + rel1 { relative: 0.0 0.0; to: "close_bg";} + rel2 { relative: 1.0 1.0; to: "close_bg";} + image.normal: "btn_bar_stop_nor.png"; + } + description { state: "highlight" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { state: "focus" 0.0; + inherit: "highlight" 0.0; + } + } + part { + name: "close_over"; + scale:1; + type: RECT; + description { + state: "default" 0.0; + visible: 1; + align: 0 0; + fixed: 1 1; + min: 82 102; + max: 82 102; + rel1 { relative: 0.0 0.0; to: "close_bg";} + rel2 { relative: 1.0 1.0; to: "close_bg";} + color_class: transparent; + } + } + part { + name: "close_click"; + scale:1; + type: SWALLOW; + description { + state: "default" 0.0; + visible: 1; + align: 0 0; + fixed: 1 1; + min: 82 102; + max: 82 102; + rel1 { relative: 0.0 0.0; to: "close_over";} + rel2 { relative: 1.0 1.0; to: "close_over";} + color_class: transparent; + } + } + part { + name: "item_background"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + visible: 1; + fixed: 1 1; + min: 1200 78; + max: 1200 78; + align: 0 0; + rel1 { relative: 0.0 0.0;to: "bg_rect"; offset: 62 190;} + rel2 { relative: 1.0 1.0;to: "bg_rect";} + color : 231 231 231 231; + //color_class: defaultBgColor; + } + } + //SPACER_ITEM_BR("horizontal_line", ITEM_WIDTH, 2, "bg_rect") + part { + name: "favicon_bg"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + visible: 1; + fixed: 1 0; + min: 58 58; + max: 58 58; + align: 0.0 0.5; + rel1 { relative: 0.0 0.0; to: "item_background";} + rel2 { relative: 1.0 1.0; to: "item_background";} + color_class: transparent; + } + description { state: "highlight" 0.0; + inherit: "default" 0.0; + color_class: imageHighlight; + } + description { state: "focus" 0.0; + inherit: "default" 0.0; + color_class: focusTextColor; + } + } + part { + name: "favicon"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + visible: 1; + fixed: 1 1; + min: 58 58; + max: 58 58; + align: 0.0 0.0; + rel1 { relative: 0.0 0.0; to: "favicon_bg";} + rel2 { relative: 1.0 1.0; to: "favicon_bg";} + } + description { state: "highlight" 0.0; + inherit: "default" 0.0; + color_class: imageHighlight; + } + description { state: "focus" 0.0; + inherit: "default" 0.0; + color_class: focusTextColor; + } + } + part { + name: "webpage_title"; + scale: 1; + type: TEXT; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + min: 216 36; + max: 216 36; + align: 0 0.0; + rel1 { relative: 0.0 0.0; to: "item_background"; offset: 98 0;} + rel2 { relative: 1.0 1.0; to: "item_background";} + color_class: titleTextColor; + text { + text: "Web page title"; + font: "font_name"; + size: 36; + align: 0 0.5; + } + } + description { state: "focus" 0.0; + inherit: "default" 0.0; + color_class: focusTextColor; + } + description { state: "highlight" 0.0; + inherit: "default" 0.0; + color_class: highlightTextColor; + } + } + part { + name: "webpage_url"; + scale: 1; + type: TEXT; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + min: 765 27; + max: 765 27; + align: 0 0; + rel1 { relative: 0.0 0.0; to: "item_background"; offset: 98 51;} + rel2 { relative: 1.0 1.0; to: "item_background";} + color_class: urlTextColor; + text { + text: "http:/onet.pl"; + font: "font_name"; + size: 27; + align: 0 0.5; + } + } + description { state: "focus" 0.0; + inherit: "default" 0.0; + color_class: focusTextColor; + } + description { state: "highlight" 0.0; + inherit: "default" 0.0; + color_class: highlightTextColor; + } + } + part { + name: "star_bg"; + scale:1; + mouse_events: 1; + type: RECT; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0 0; + min: 338 58; + max: 338 58; + rel1 { relative: 0.0 0.0; to: "bg_rect"; offset: 1519 200;} + rel2 { relative: 1.0 1.0; to: "bg_rect";} + color: 255 255 255 255; + } + description { + state: "highlight" 0.0; + inherit: "default" 0.0; + color_class: focusBgColor; + visible: 1; + } + description { + state: "focus" 0.0; + inherit: "default" 0.0; + color_class: focusDelBgColor; + visible: 1; + } + } + part{ + name: "add_to_bookmark_text"; + type: TEXT; + scale: 1; + description { state: "default" 0.0; + visible: 1; + fixed: 1 1; + rel1 { relative: 0.0 0.0;to: "star_bg";} + rel2 { relative: 1.0 1.0;to: "star_bg";} + color: 0 0 0 255; + text { + text: "Add to bookmark"; + font: "Sans"; + size: 28; + align: 0.5 0.5; + } + } + } + + part { + name: "star_over"; + scale:1; + type: RECT; + description { + state: "default" 0.0; + visible: 1; + align: 0 0; + fixed: 1 1; + min: 338 58; + max: 338 58; + rel1 { relative: 0.0 0.0; to: "star_bg";} + rel2 { relative: 1.0 1.0; to: "star_bg";} + color_class: transparent; + } + } + part { + name: "star_click"; + scale:1; + type: SWALLOW; + description { + state: "default" 0.0; + visible: 1; + align: 0 0; + fixed: 1 1; + min: 338 58; + max: 338 58; + rel1 { relative: 0.0 0.0; to: "star_over";} + rel2 { relative: 1.0 1.0; to: "star_over";} + color_class: transparent; + } + } + } + programs{ + program { + name: "mouse_in_star_click"; + signal: "mouse,in"; + source: "star_click"; + script { + emit("mouse_in_star_click", ""); + } + } + program { + name: "mouse_out_star_click"; + signal: "mouse,out"; + source: "star_click"; + script { + emit("mouse_out_star_click", ""); + } + } + program { + name: "mouse_in_star"; + signal: "mouse_in_star_click"; + source: ""; + action: STATE_SET "highlight" 0.0; + //target: "item_background"; + //target: "favicon"; + //target: "webpage_title"; + //target: "webpage_url"; + target: "star_bg"; + //target: "star_icon"; + //target: "over"; + } + program { + name: "mouse_out_star"; + signal: "mouse_out_star_click"; + source: ""; + action: STATE_SET "default" 0.0; + //target: "item_background"; + //target: "favicon"; + //target: "webpage_title"; + //target: "webpage_url"; + target: "star_bg"; + //target: "star_icon"; + //target: "over"; + } + program { + name: "mouse_in_close_click"; + signal: "mouse,in"; + source: "close_click"; + script { + emit("mouse_in_close_click", ""); + } + } + program { + name: "mouse_out_close_click"; + signal: "mouse,out"; + source: "close_click"; + script { + emit("mouse_out_close_click", ""); + } + } + program { + name: "mouse_in_close"; + signal: "mouse_in_close_click"; + source: ""; + action: STATE_SET "highlight" 0.0; + //target: "item_background"; + //target: "favicon"; + //target: "webpage_title"; + //target: "webpage_url"; + //target: "star_bg"; + //target: "star_icon"; + //target: "over"; + target: "close_over"; + target: "close_bg"; + target: "close_icon"; + } + program { + name: "mouse_out_close"; + signal: "mouse_out_close_click"; + source: ""; + action: STATE_SET "default" 0.0; + //target: "item_background"; + //target: "favicon"; + //target: "webpage_title"; + //target: "webpage_url"; + //target: "star_bg"; + //target: "star_icon"; + //target: "over"; + target: "close_over"; + target: "close_bg"; + target: "close_icon"; + } + } + } + + group{ + name: "elm/button/base/hidden_button"; + parts{ + part{ + name: "button"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + visible: 1; + fixed: 1 1; + color: 0 0 0 0; + } + } + part{ + name: "over"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + visible: 1; + fixed: 1 1; + rel1 { relative: 0.0 0.0;to: "button";} + rel2 { relative: 1.0 1.0;to: "button";} + color: 0 0 0 0; + } + } + } + programs{ + program { + name: "mouse_click"; + signal: "mouse,clicked,1"; + source: "over"; + script { + emit("elm,action,click", ""); + } + } + } + } + +group { name: "elm/button/base/clickButton"; + images { + image: "ico_delete.png" COMP; + } + parts { + part { name: "elm.swallow.content"; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + color: 0 0 0 0; + visible: 1; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + align: 0.0 0.0; + } + } + } + + programs { + program { name: "mouse,clicked"; + signal: "mouse,down,1"; + source: "elm.swallow.content"; + action: SIGNAL_EMIT "elm,action,click" ""; + } + } +} + +group { + name: "moremenu-layout"; + data { + item: "highlight_focus" "off"; + } + + images { + image: "web_shadow.png" COMP; + } + parts { + part { name: "genlist_bg"; + type: RECT; + mouse_events: 0; + description { state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + min: 1920 366; + max: 1920 366; + color: 70 143 254 255; + rel1 { + relative: 0 0; + } + rel2{ + relative: 1 1; + } + } + } + part { name: "gengrid_bg"; + type: RECT; + mouse_events: 0; + description { state: "default" 0.0; + visible: 1; + align: 0.0 0.0; + min: 1920 714; + max: 1920 714; + color: 231 231 231 255; + rel1 { + relative: 0 1; to: "genlist_bg"; + } + rel2{ + relative: 1 1; + } + } + } + part { name: "elm.swallow.genlist"; + type : SWALLOW; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 1920 366; + max: 1920 366; + align: 0.0 0.0; + fixed: 0 0; + rel1 { relative: 0.0 0.0; to: "genlist_bg";} + rel2 { relative: 1.0 1.0; } + } + description { + state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "elm.swallow.grid"; + type : SWALLOW; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + min: 1920 714; + max: 1920 714; + align: 0.0 0.0; + fixed: 0 0; + rel1 { relative: 0.0 0.0; to: "gengrid_bg"; offset: 63 0;} + rel2 { relative: 1.0 1.0; } + } + description { + state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: "elm.swallow.empty"; + type: SWALLOW; + description { state: "default" 0.0; + align: 0.5 0.5; + rel1 { + relative: 0.5 0.5; + } + rel2 { + relative: 0.5 0.5; + } + } + } + part {name: "popup_bg"; + type: RECT; + scale: 1; + mouse_events: 1; + description {state: "default" 0.0; + visible: 0; + align: 0.0 0.0; + min: 1920 1080; + max: 1920 1080; + fixed: 1 1; + color: 0 0 0 102; + rel1 {relative: 0.0 0.0; } + rel2 {relative: 1.0 1.0; } + } + description {state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + part { name: "popup"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + visible: 0; + min: 740 658; + max: 740 884; + fixed: 1 1; + align: 0.5 0.5; + rel1 { relative: 0.0 0.0; to: "popup_bg";} + rel2 { relative: 1.0 1.0; to: "popup_bg";} + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + max: 1920 1080; + } + } + } + programs{ + program {name: "show_popup"; + signal: "elm,state,show"; source: "elm"; + action: STATE_SET "visible" 0.0; + transition: LINEAR 0.0; + target: "popup"; + target: "popup_bg"; + } + program {name: "hide_popup"; + signal: "elm,state,hide"; source: "elm"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.0; + target: "popup"; + target: "popup_bg"; + } + + } + + } +} + +group { name: "elm/gengrid/item/menu_item/default"; + data.item: "texts" "menu_label"; + data.item: "contents" "thumbnail_item thumbbutton_item"; + images { + image: "web_frame_selected.png" COMP; + image: "ico_bg_round_shape_37x37.png" COMP; + } + styles { + style { name: "textblock_white"; + base: "font=Sans font_size="20" color=#5c5c5c"; + } + } + styles { + style { name: "textblock_white_bold"; + base: "font=Sans:style=Bold font_size="20" color=#5c5c5c"; + } + } + parts { + part { name: "thumbnail_bg"; + type: RECT; + mouse_events: 0; + description { state: "default" 0.0; + min: 338 294; + max: 338 294; + visible: 1; + color: 255 255 255 255; + rel1.offset: -26 -26; + } + description { state: "selected"; + inherit: "default" 0.0; + color: 70 143 254 255; + } + } + + part { name: "thumbnail_item"; + type: SWALLOW; + description { state: "default" 0.0; + fixed: 1 0; + align: 0.0 0.0; + //color : 255 255 255 255; + min: 338 207; + max: 338 207; + rel1 { + relative: 0.0 0.0; to: "thumbnail_bg"; + } + rel2 { + relative: 1.0 1.0; to: "thumbnail_bg"; + } + } + description { state: "selected"; + inherit: "default" 0.0; + } + } + + part { name: "highlight_focus"; + type: IMAGE; + description { state: "default" 0.0; + rel1 { + to: "thumbnail_item"; + relative: 0.0 0.0; + } + rel2 { + to: "thumbnail_item"; + relative: 1.0 1.0; + } + image.normal: "web_frame_selected.png"; + image.border: 8 8 8 0; + image.border_scale: 1; + image.middle: NONE; + visible: 0; + } + description { state: "selected"; + inherit: "default" 0.0; + visible: 1; + } + } + + part { name: "menu_label_bg"; + type: RECT; + description { state: "default" 0.0; + min: 338 87; + max: 338 87; + align: 0.0 0.0; + color: 255 255 255 255; + rel1 { + to: "thumbnail_item"; + relative: 0.0 1.0; + } + rel2 { + relative: 1.0 1.0; + } + } + description { state: "selected" 0.0; + inherit: "default" 0.0; + color: 70 143 254 255; + } + } + + part { name: "menu_label"; + type: TEXT; + description { state: "default" 0.0; + min: 338 87; + max: 338 87; + align: 0 0; + fixed: 0 0; + visible: 1; + rel1 { + to: "menu_label_bg"; + relative: 0.0 0.0; + } + rel2 { + to: "menu_label_bg"; + relative: 1.0 1.0; + } + color: 92 92 92 255; + text { + text: "Web page title"; + font: "Sans"; + size: 28; + align: 0.5 0.5; + } + } + description { state: "selected" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + + part { name: "thumbbutton_item"; + type: SWALLOW; + description { state: "default" 0.0; + rel1.to: "thumbnail_bg"; + rel2.to: "thumbnail_bg"; + } + } + + part { name: "over2"; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + color: 0 0 0 0; + rel1.to: "thumbnail_bg"; + rel2.to: "menu_label_bg"; + } + } + part { name: "over3"; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { state: "default" 0.0; + color: 0 0 0 0; + rel1.to: "menu_label_bg"; + rel2.to: "menu_label_bg"; + } + } + } + + programs{ + program { name: "mouse_in"; + signal: "mouse,in"; + source: "over2"; + action: STATE_SET "selected" 0.0; + target: "menu_label_bg"; + target: "highlight_focus"; + target: "thumbnail_bg"; + target: "menu_label"; + } + program { name: "mouse_out"; + signal: "mouse,out"; + source: "over2"; + action: STATE_SET "default" 0.0; + target: "menu_label_bg"; + target: "highlight_focus"; + target: "thumbnail_bg"; + target: "menu_label"; + } + } +} +} diff --git a/services/MoreMenuUI/edc/NewFolderPopup.edc b/services/MoreMenuUI/edc/NewFolderPopup.edc new file mode 100644 index 0000000..7be85ae --- /dev/null +++ b/services/MoreMenuUI/edc/NewFolderPopup.edc @@ -0,0 +1,463 @@ +#define CONTENT_HEIGHT 99; +#define POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC 40 +#define POPUP_CONTENT_DEFAULT_PADDING_LEFT_MIN_INC 65 +#define POPUP_CONTENT_DEFAULT_PADDING_RIGHT_MIN_INC 65 +#define CONTENT_BG_HEIGHT (CONTENT_HEIGHT+294); +#define DEBUG_RECT_OVER(over_part, r, g, b) \ + part { name: __CONCAT("dbg_rect_at_", __stringify(__LINE__)); \ + \ +scale:1; \ + type : RECT; \ + repeat_events: 1; \ + description { \ + state: "default" 0.0; \ + visible: 1; \ + color: r g b 128; \ + rel1 { to: over_part; relative: 0 0; } \ + rel2 { to: over_part; relative: 1 1; } \ + } \ + } +#define SPACER_ITEM_BR(spacer_name, W, H, elem) \ + part { name: spacer_name; \ + type: RECT; \ + scale:1; \ + description { \ + state: "default" 0.0; \ + visible: 1; \ + align: 0 0; \ + min: W H; \ + max: W H; \ + fixed: 1 1; \ + color: 227 227 227 255; \ + rel1 { relative: 0.0 1.0; to: elem;} \ + rel2 { relative: 1.0 1.0; } \ + } \ + description { \ + state: "focus" 0.0; \ + inherit: "default" 0.0; \ + color: 0 119 246 255; \ + } \ + } +#define SPACER_ITEM_HOR(spacer_name, W, H, elem) \ + part { name: spacer_name; \ + type: RECT; \ + scale:1; \ + description { \ + state: "default" 0.0; \ + visible: 1; \ + align: 0 0; \ + min: W H; \ + max: W H; \ + fixed: 1 1; \ + color: 227 227 227 255; \ + rel1 { relative: 0.0 0.0; to: elem;} \ + rel2 { relative: 1.0 1.0; to: elem;} \ + } \ + description { \ + state: "focus" 0.0; \ + inherit: "default" 0.0; \ + color: 0 119 246 255; \ + } \ + } \ + +collections{ + group { name: "new_folder_popup"; + images{ + image: "modal_dialogs_bg.png" COMP; + image: "modal_dialogs_title_bg.png" COMP; + } + parts{ +part{ name: "content_bg"; + type: RECT; + scale: 1; + description{ + state: "default" 0.0; + visible: 1; + fixed: 1 1; + color: 255 255 255 255; + align: 0.5 0.5; + min: 740 378; + max: 740 378; + rel1 {relative: 0.0 0.0;} + rel2 {relative: 1.0 1.0;} + } + } + part{ name: "title_bg"; + type: RECT; + description{ + state: "default" 0.0; + visible: 1; + color: 255 255 255 255; + min: 740 144; + max: 740 144; + align: 0.0 0; + rel1 {relative: 0.0 0.0; to: "content_bg"; offset: 0 0;} + rel2 {relative: 1.0 1.0; to: "content_bg";} + } + } + part{ name: "title_text_bm"; + type: TEXT; + description{ + state: "default" 0.0; + visible: 1; + fixed: 1 1; + rel1 {relative: 0.0 0.0; to: "title_bg"; offset: 40 46;} + rel2 {relative: 1.0 1.0; to: "title_bg"; offset: -40 0;} + color: 51 51 51 255; + text{ + text: "Add New Folder"; + font: "Sans"; + size: 42; + align: 0.5 0.0; + } + } + } + part{ name: "sub_title_text_bm"; + type: TEXT; + description{ + state: "default" 0.0; + visible: 1; + fixed: 1 1; + rel1 {relative: 0.0 0.0; to: "title_bg"; offset: 40 112;} + rel2 {relative: 1.0 1.0; to: "title_bg"; offset: -40 0;} + color: 104 104 104 255; + text{ + text: "Add folder for adding to bookmark"; + font: "Sans"; + size: 32; + align: 0.5 0.0; + } + } + } + part{ name: "content"; + type: SWALLOW; + scale: 1; + description{ + state: "default" 0.0; + visible: 1; + rel1 {relative: 0.0 1.0; to: "title_bg"; offset: 100 0;} + rel2 {relative: 1.0 1.0;} + fixed: 1 1; + color: 0 0 0 255; + align: 0.0 0.0; + min: 540 144; + max: 540 144; + } + } + SPACER_ITEM_BR("horizontal_line", 740, 1, "content") + part{ + name: "buttons"; + type: SWALLOW; + scale: 1; + description{ + state: "default" 0.0; + visible: 1; + rel1 {relative: 0.0 1.0; to: "content"; offset: -100 1;} + rel2 {relative: 1.0 1.0;} + align: 0.0 0.0; + min: 740 90; + max: 740 90; + } + } + } + } + /*****************************************************************/ + group { + name: "elm/button/base/bookmark_button"; + parts { + part { + name: "bg"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + visible: 1; + align: 0.5 0.5; + fixed: 1 1; + color: 225 225 225 255; + min: 370 90; + max: 370 90; + } + description { state: "focus" 0.0; + inherit: "default" 0.0; + color: 0 119 246 255; + } + description { state: "dim" 0.0; + inherit: "default" 0.0; + color: 225 225 225 102; + } + } + SPACER_ITEM_HOR("vertical_line", 1, 90,"bg") + part { + name: "elm.text"; + type: TEXT; + scale: 1; + description { state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.5 0.5; + min: 360 70; + rel1 { relative: 0.0 0.0; to: "bg"; offset: 30 0;} + rel2 { relative: 1.0 1.0; to: "bg"; offset: -30 0;} + color: 87 87 87 255; + text { + text: "dshfj"; + font: "font_name"; + size: 36; + align: 0.5 0.5; + min: 1 1; + } + } + description { state: "focus" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + text.font: "Tizen:style=Bold"; + } + description { state: "dim" 0.0; + inherit: "default" 0.0; + color: 89 89 89 102; + } + } + part { + name: "over"; + scale:1; + mouse_events: 1; + type: RECT; + description { + state: "default" 0.0; + visible: 1; + rel1 { relative: 0.0 0.0; to: "bg";} + rel2 { relative: 1.0 1.0; to: "bg";} + color: 0 0 0 0; + } + } + } + programs{ + program { + name: "mouse_in"; + signal: "mouse,in"; + source: "over"; + action: STATE_SET "focus" 0.0; + target: "elm.text"; + target: "bg"; + script { + new st[31]; + new Float:vl; + get_state(PART:"elm.text", st, 30, vl); + if(!strcmp(st, "default")) { + set_state(PART:"bg", "focus", 0.0); + set_state(PART:"elm.text", "focus", 0.0); + } + } + } + program { + name: "mouse_out"; + signal: "mouse,out"; + source: "over"; + action: STATE_SET "default" 0.0; + target: "elm.text"; + target: "bg"; + script { + new st[31]; + new Float:vl; + get_state(PART:"elm.text", st, 30, vl); + if(!strcmp(st, "focus")) { + set_state(PART:"bg", "visible", 0.0); + set_state(PART:"elm.text", "visible", 0.0); + } + } + } + program { + name: "mouse_click"; + signal: "mouse,clicked,1"; + source: "over"; + script { + emit("elm,action,click", ""); + } + } + program { + name: "disable"; + signal: "elm,state,disabled"; + source: "elm"; + action: STATE_SET "dim" 0.0; + target: "elm.text"; + target: "bg"; + } + program { + name: "enable"; + signal: "elm,state,enabled"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.text"; + target: "bg"; + } + } + } +group { name: "elm/entry/selection/browser_entry"; + parts { + part { name: "bg"; + scale:1; + type: RECT; + mouse_events: 0; + description { state: "default" 0.0; + color: 255 255 255 255; + } + } + } +} +group { name: "elm/entry/cursor/browser_entry"; + parts { + part { name: "bg"; + scale:1; + type: RECT; + mouse_events: 0; + description { state: "default" 0.0; + color: 22 120 237 255; + min: 2 36; + max: 2 36; + visible: 0; + } + description { + state: "focused" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { name: "focused"; + signal: "elm,action,focus"; + source: "elm"; + action: STATE_SET "focused" 0.0; + target: "bg"; + } + program { name: "unfocused"; + signal: "elm,action,unfocus"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "bg"; + } + } +} + group { + name: "elm/entry/base-single/uri_entry_popup"; + styles { + style { + name: "browser-entry-uri-style-unselected"; + base: "font=Sans:style=SVD_Medium font_size="34" wrap=none color=#515151"; + } + style { + name: "browser-entry-uri-style-selected"; + base: "font=Sans:style=SVD_Medium font_size="34" wrap=none color=#dddddd"; + } + } + data { + item: focus_highlight "off"; + } + parts { + + part { name: "bg"; + scale:1; + type: RECT; + mouse_events: 0; + description { state: "default" 0.0; + color: 255 255 255 255; + } + } + + part { + name: "elm.guide"; + scale:1; + type: TEXTBLOCK; + mouse_events: 0; + description { state: "default" 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + align: 0.0 0.0; + text { + style: "browser-entry-uri-style-unselected"; + min: 0 1; + } + } + description { state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "label.text.clip"; + scale:1; + type: RECT; + description { + state: "default" 0.0; + } + } + part { + name: "elm.text"; + scale:1; + multiline: 0; + entry_mode: EDITABLE; + select_mode: DEFAULT; + cursor_mode: BEFORE; + type: TEXTBLOCK; + clip_to: "label.text.clip"; + source: "elm/entry/selection/browser_entry"; + source4: "elm/entry/cursor/browser_entry"; + description { state: "default" 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + align: 0.0 0.0; + text { + style: "browser-entry-uri-style-unselected"; + min: 0 1; + } + } + } + } + programs { + program { name: "focus"; + signal: "load"; + source: ""; + action: FOCUS_SET; + target: "elm.text"; + } + program { name: "gdisabled"; + signal: "elm,guide,disabled"; + source: "elm"; + action: STATE_SET "hidden" 0.0; + target: "elm.guide"; + } + program { name: "genabled"; + signal: "elm,guide,enabled"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.guide"; + } + } +}//group + +group { + name: "popup_input_text"; + parts { + part { + name: "elm.swallow.content"; + type: SWALLOW; + scale: 1; + description { + state: "default" 0.0; + min: 0 POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC; + max: -1 POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC; + align: 0.0 0.5; + min: 0 0 ; + max: 540 100 ; + rel1 { + relative: 0.0 0.0 ; + } + rel2 { + relative: 1.0 1.0; + } + } + } + } + } + + +} diff --git a/services/MoreMenuUI/edc/error.edc b/services/MoreMenuUI/edc/error.edc new file mode 100644 index 0000000..0291971 --- /dev/null +++ b/services/MoreMenuUI/edc/error.edc @@ -0,0 +1,144 @@ +collections { + images { + image: "web_browsing_icon_error.png" COMP; + } + group { name: "error_message"; + styles { + style { name: "mssage_style"; + base: "font=Sans font_size=35 color=#d3d3d3 wrap=word align=0.5"; + } + style { name: "mssage_hint_style"; + base: "font=Sans font_size=24 color=#868686 wrap=word align=0.5"; + } + } + parts { + part{ + name: "message_background"; + type: RECT; + description{ + state: "default" 0.0; + visible: 1; + rel1.relative: 0 0; + rel2.relative: 1 1; + color: 42 50 64 255; + } + } + part{ + name: "error_message_background"; + type:RECT; + description{ + state: "default" 0.0; + visible: 1; + min: 1582 730; + max: 1582 730; + fixed: 1 1; + align: 0.5 0.5; + color: 30 38 50 153; + } + } + part{ + name: "err_ico"; + type: IMAGE; + description{ + state: "default" 0.0; + visible: 1; + min: 140 140; + max:140 140; + fixed: 1 1; + align: 0.5 0; + rel1{ + relative: 0 0; + offset:0 163; + to: "error_message_background"; + } + rel2{ + relative: 1 1; + to: "error_message_background"; + } + image{ + normal: "web_browsing_icon_error.png"; + } + } + } + + part{ + name: "error_text"; + type: TEXTBLOCK; + description{ + state: "default" 0.0; + visible: 1; + fixed: 1 1; + min: 1502 96; + max: 1502 96; + //color: 211 211 211 255; + align: 0.5 0; + rel1{ + relative: 0 1; + to_x: "error_message_background"; + to_y: "err_ico"; + } + rel2{ + relative: 1 1; + to: "error_message_background"; + } + text{ + style: "mssage_style"; + text: "Server not found.
sdf Please check the followings:"; + //min: 0 0; + //max: 1 1; + //align: 1 0; + //size: 35; + } + } + } + + + part{ + name: "error_hint"; + type: TEXTBLOCK; + description{ + state: "default" 0.0; + visible: 1; + fixed: 1 1; + min: 1502 117; + max: 1502 117; + color: 134 134 134 255; + align: 0.5 0; + rel1{ + relative: 0 1; + to_x: "error_message_background"; + to_y: "error_text"; + } + rel2{ + relative: 1 1; + to: "error_message_background"; + } + text{ + max: 0 1; + style: "mssage_hint_style"; + text: "Check for any typing error in URL.
" + "Check your network settings.
" + "Try again later.
" + "Click refresh to reload."; + } + } + } + } +/* + programs { + program { name: "mouse_down"; + signal: "mouse,down,1"; + source: "logo"; + action: STATE_SET "hide" 0.0; + target: "logo"; + } + program { name: "mouse_up"; + signal: "mouse,up,1"; + source: "logo"; + action: STATE_SET "default" 0.0; + target: "logo"; + } + } +*/ + } +} diff --git a/services/MoreMenuUI/images/btn_bar_new_dis.png b/services/MoreMenuUI/images/btn_bar_new_dis.png new file mode 100644 index 0000000000000000000000000000000000000000..af49c5af52731fb146af572791cd28382e524afb GIT binary patch literal 2980 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 literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/btn_bar_stop_nor.png b/services/MoreMenuUI/images/btn_bar_stop_nor.png new file mode 100644 index 0000000000000000000000000000000000000000..c5cdc11ca8ea537497a1a794d79d40362f8659a9 GIT binary patch literal 3255 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 PM;~=nZIv>mm#_a1)GRY* literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/ic_add_bookmark.png b/services/MoreMenuUI/images/ic_add_bookmark.png new file mode 100644 index 0000000000000000000000000000000000000000..0ea3265455d6c20f2682df08e0690120fa1e3adb GIT binary patch literal 2036 zcmbVNYg7|w8V(xJg^f!!r&=ye2#P|;Jq$^j;7KxxL`@730bLP8GJy!mgk)m4gd!>` zQhGsYi$yN3N3049EGoi^R`3Fr&;|tc2=rJ%P}J_S1**vIM8Vx3p8nW5GxJ^Md7k(3 zz3-UD;R8exkHo+_#HKbw7@-zUf`~GM zIvI+F)Y{DS4v3GzEY#^$@kqRUBToYxsA?C6nqe@ZYz&6KHp8UWq(TTW2};%*1*GRK zmq|puRzQjilhfrUF_fZ@%rZkUSqhaVD^NbjZ^V*B~c8UAz~PnMbXe13?cwf8SF3sV1yExbOw_~M{j__VDrKN z9y6RccaczQX047F4NB*1p(_C?1wl+a8qH?2QEejIK#(O27lku9l5obn#=E#|wwMV>gd#ef2{IUx zFfNzD7K)f$7Cl@j1|{NouFPmb)J6?7Zno#P6Bm&+5IAvFSA zD`lWim2vO;_=Jtiw%}WjjWzacJykQ@ec)I9;VzGD1&bL6E6Hw$bFL-?)*fo+|8hQP zc4dSQfz8lW06(^$YPsG%9;74Ke^|se+$EgYO^%LT`ra;UzA~jMxA9o%i(?*ULeESBKaXy@}Y<_EJE2La#p|N2I5zg@n}SmBe1M3%h| z2X%DTH;~f3_8YcN_h420szwaH@LI{2R=3BWwcvKi);|k9?^}AjZfF0dmcl+iRVbA} zwH{n>V{CAnOI=>Gd!T2qZ$DNQWc8BbNnWYt_fK2wh_bYo!fXF~uNqIEnf%M% z1(HPvPp6&yQsl4iYO5`Xz&@(}?S9j%i6UL^YDM*}-8+cIUwKb7*N-Hu z8V(i$g)`qO!RD!J$$bsquh??W?M8#!`b)um8-RjsF@}0*RjYlL^Mv5}2~7XT5X~8v zdw;lL3vPHY?z?qO(dhxB7t8vicRTYakM@?c*h{tD2ac%%MlB`!`$5O{TV_zBudJiVw>?+vD6*vVt75c0izI z{`2-l%5`F3@9~;aL+5(j)vh0I5S(~CQ?z`;8u>$h z-1tKdv~=`(Vr}0qNAt{?_M+IrpS+9g=Z$$GEcc0_rebzCySaNS@lG(7y)gfH|Ir$G zK)}7#5pd;=mpg%T@OQw^v)t)`+|xp?pw)xlgnugE`DskRK=Ggg{HtUC37^Po zkiQ^3|aES2b@?dbWa?L4^RkD=qN1MjFz$4sjJIqMC*FR_-`DyIg*>eZ_ zF3&h}K0GE1oV*<1rg%wB+l=$Rq+-?K$b9gl^mOkBoZiO6QBxG?#p6G7Ko5+++9e51*?vV;FSV` zidBcfs}3p@HLYl^TGm)c9S3z3tHlU%nUZpdNa+T|w$^bv-PzrL-~W#9d+&d5c1uKf zu;awJ6DbsmV`vBzNv>tK$6*5bp0od|o?KjTNjx5fq~Tf_3R40VNGc43s$}VKBrH?t zS6_wwD3oz&%IJ7JK5Us#j;QD|n+;v3(vaR1ieG?EBa>&sIFJgbE7c;Z<@*a%K&cQ> zKVd`~g3mkPM)LaT%afWvMZtPDCAvDd+YBl& zVuELisH3Ff!y*7Ng2Dio&ZfzkAPDeybdba4@jxGd#RORlCVBH{AVx)XF zp^7wNBqV)}MM@%S299fl42D*#rEA%A1Wjjv0)fC5gT90Ku3X zRcdf0q6TacWvNIuE~1i5M^jK~!ouDJR%5RVMV5@AlW7 zaaeqApg zN?1$@4-}92hN>}Krk2BFxJnZDwXgWSzCtky%WwpZMv$zr4v5G=a0JUhG=MmY2P}+J zsuhS9TVy+)(QF|YRp!77DT=6ok@^ai@4y!eSR6slEM%b3WeRakMQi=28Ce-4nTK z)v5;*_|q%Q)4ogwoIj!OoMg5m#-r51_+y^%udM~%s?UXQH8 z&K<92D-ZLF4C4%wHfbVTCRm4!PSm6cJ%@%B4(lBy)z^&@c-97v<%fvyka`a+ z>YT@BuXOWJW6OWU8X@)`F7G4$Cb8=avBsgCcI_e61J8<*zBvns{5i%0K6YlIXV&&6 z!x`W%#HU#m=1O9wK55?m_M7E5hdt^8jY~xJX)k2%~xwoJ-mg6W(*lKyyE}=L^66m3PW9Y;bThu*s0gvb@M1XhYUC z_C=YiiEkQC4b>SMmcZS0#6E*Zn%=x8+ek0+b5BUA>)O%eHn7U<d$q3HEFo5Tco8 zcX;(_zMzI}jrG3s$gr83RJJJg*K0(TaVUPLqv4F#)RvA#MQkRjB5tipYV6B1_Yr$% zKD*ZEQ`>Rube^CvFVj4i9>=Ym-KW|&^MXDob@ngBa>JnTY5x^E~#!zsOgLK zG8udl%7V}D{jDQ!rjfeTVrbtWo{q#RN^AIAYtDk!&KbpBEM-dky7Q%4k-RMBe)0Ss1Z>O>o zAD^3VeKN8C@Nw;mhg+RiIoEa_?@Y&f=N*7MV`u1lSd z4tkbe@ig@&{cf=&*3U66LC*#c(JI@%_IV&TUFp7k-S{%NKA+>%aU-oKyWDln{Mh0l zqd%I`SKC(5TPuiLd+)aXRf72|qEck(f8Lqi|KkgJOS0(xj^spsKr5|k)*t?op%ho+ zL6^MJ*4qSo+l3_iG-Q$8KL+Jr&H2_Ky`|5+5@0u(B6V#uU49zrVEfmGO2VP)pq1%TFcyz$IH~)zoOYnEdhiig-FD*2(uDLX_0Cy69r;* z%4{?NRjRFPn$d6?ZAO+xkwT=%Rti;^j-hnhFf2L)R4JO;#tc|0ftV6z}LlSSRUP>3spc|tZH zn7TkJ8m`U~CLq$OSd=6Ja|ps9WHQZWGsDbbV0bnY5(ort3^qHIvIsR=^@P$AsyEW7 z5fIdH(TbLTZ_Z6p%V ze`q|_+NiJ^P-X&Z#PVkM+yXzFbNle!uT8>f^Z`FQG9logbz()Jk6KGj*@T@7Kg>+gh7x54ue=+ zi2#xa5CMx7$>C4?#_ElPQm;a%<7%k5Q@-qH`U=H3sw6O6fnmAR9T1m;5tuOtGXUa5 z9f~I~lAKMZaQX2stKfhzk>R>YYC7EKktSg0^8Iqe6GVgdqK|xu=CcE#Z z{+%A31!axz?ahgzCsob-%yUuyt6(5_A!ou$Iz2KNX2VLBE1AusH^MKm&k@liV9=a^aI+4CYv!#}2k2!>m5%%lXjzQoh5$6uiI zkBlQ2t$_#6++Wn$_h4sAcu=ZuK+x~S_)EZ!JkZSZ%ctK$oLB0=5bhhpm<%Nl~IO{&nw)VK2f+0tUx-Qd%9z) z%N~60<4b;VX0s#OHh84wSLd}iU4ORuyhaw4cF@!4#nJNC8g{5*ea}^gx9zvD#}7G5 z9a{2rM;_8h9|N_c(#qFtWybLz90QKax8U30T6}GZc6M+0t#-#Oo6%m?TC#jT$+g$t z8y-tM6q?jUlH-jRe=0ZOZL0Z_%Ui?!16pb_aBeM(-}mU+^B@h>(r4MLawlSXc62kz z>%o1dwP@*y%F63==q+GZ5zg-#IIz0T5o};;cy*m&$yT1>* zJFw4zlI!nn9=v25p^qT*OSBudBz-$H0*lQ>Twgst!0_%tAYUtj85W`!x7<9=ZRoV_uZ=&eBBNaH=7q3fNq1-au1Q6k)B)|Q{it^Ldu&b$o2{OIUl(B#8Go^iG_xRVuJ<-6= i9?ufb8E2Qj=tUd$KmDuzZsJn+&pTEkN2;Sf-1Ilgk4q*1 literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/ic_more_desktopview_foc.png b/services/MoreMenuUI/images/ic_more_desktopview_foc.png new file mode 100644 index 0000000000000000000000000000000000000000..21bcc68b5136282a2a51cfc0d5a9a0f79cf36103 GIT binary patch literal 4066 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 G%D(^(M#QiH literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/ic_more_exit_foc.png b/services/MoreMenuUI/images/ic_more_exit_foc.png new file mode 100644 index 0000000000000000000000000000000000000000..779fc486324ba4350b68c6f8f9f49d1077f9f089 GIT binary patch literal 1558 zcmbVMZ%i9y7_T+xfM6IHTKS;IEj3eUd)GhL-i?m6y{qk@&;UZ6NI2R9E^xi}dW=HI z9E(Iz=Z6I(PLVHW8nz)i6&8^3r^}pyu#G6$KtC`yW&%ON!ZH?(Z=r=@$Ubb`qe216)FIlhMpcNK<0AXo@D7TF%yt^P zdIyUe{fxSh3G(%V2h^i#UknVidvc(NBglp*5Li$Yx{l;M^&I099i#~cUsPV!OIS!u zr!nfyI8GTU9f}$aT8t#MW`o6`F;WIJ#<3gLXtC(c7-d8dtrn?;Y2ItzuN zIy{DT_<|zs^DwcvEQlM$8lH$HtO7%eyim;Zb+Ha`)$k%8tl|BTwFraum$E)D-w=Ey zQl8D-l8nF}WxO_l=b#OJ33iwGR$QYaahpvGGNAM*iraLES*x?+HjN%JAXYev_5L5t z)F2skq&XgImY4~2U}U=0`e3njco-izF#*n+*^E<5njRL)rM=`){< zB>%7|4Yv*)Dtj+6&@zxLo0kSMRN=UJ3ornCvJBWWRKRX2gH%z+@a3;=6L}Zx(;qgc zo#m9aj?qUKZ*>j7`O`n;XKtp>+-+Z5yV%p7bbcxH_M!ZHdv~MQ5i9-ds&00^@;Bd& zi5qj&b6NchX}O{A7Qg1Q53gQ(*xY?LYjUvTgW(sa=Z+riCf^zjcYOJ$T$u+f3G z^;voON1t9kS&}&u`o5)$$kM#C=E74;%X=y=XdkY>JJwA*yRJks5i2LCvj*2#%(a$D0Kf^3O@zkPNPPS0uUsO|bVZfUtR!2QZ( z9Qa!?NjU;{{+feJ{!^K4mYo&bwm)9l`)e5^k{sz5Q!dAxI`XG>Q2Au9rQ*cDFX1^0 literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/ic_more_exit_nor.png b/services/MoreMenuUI/images/ic_more_exit_nor.png new file mode 100644 index 0000000000000000000000000000000000000000..b6dcd889bc6efa4962b1f43b02b21f093e04a136 GIT binary patch literal 1604 zcmeAS@N?(olHy`uVBq!ia0vp^(?OVn4M{( zJaZG%Q-e|yQz{EjrrIztFsEgPM3hAM`dB6B=jtVb)aX^@765fKFxc2v6eK2Rr0UTq__OB&@Hb09I0xZL0)vRD^GUf^&XRs)DJWv2L<~p`n7AnVzAE zshOFfj)IYap^?4;5Si&3npl~dSs9rtK!Fm_wxX0Ys~{IQs9ivwtx`rwNr9EVetCJh zUb(Seeo?xx^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal@=Hr> zm4GgVcpk{1iHq`zbF$JDTz5Q`N^fZsd*)yF1AWQ8NHOu6e}keGZP~V zQ%6fnR|{7YLqiL5V>1^QV@Go*b0Z5^b3>RJ*z{T$I-58*DVb5UwyNq$jCetr%t1q5W|m*f{` zkk2Xf$O6-{>>&nPlIHs5ftw?$;v=Fj^o_siF;=smON@8`6;S2w==UB{SwVoL4ooi-LIQ3->Ut_0t!Xu#@ z@r}C1GJh^T-Y$BUomqO$T2?cOxK%%LpC|RmzFGF=tYgec=Iq;LntH3aePWn|#eXsh zPd{+Pb>D#_Q)8}|9%Z}s6g@OJN^?Y+a?*0Dv@|MJ#JKq46hV9#ML{+CS^jYwk=Wh}_SNqr}`GwoF zEa5%v-~IHL+-KuwhMzre>^${##$Oh^5djXrtiW6G|G&rySzlMP4c~Ha|B(Q(~_ctdz#}%)*#F69spxPb|0|sNUYU84BRck=yx~Hq3%Q~loCIDqOQbYg% literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/ic_more_focusmode_foc.png b/services/MoreMenuUI/images/ic_more_focusmode_foc.png new file mode 100644 index 0000000000000000000000000000000000000000..f5fdac8488ea3b34dadac6f9e03d71b2326fa922 GIT binary patch literal 2053 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 literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/ic_more_history_foc.png b/services/MoreMenuUI/images/ic_more_history_foc.png new file mode 100644 index 0000000000000000000000000000000000000000..a397ea056b2ad8e5d6971886c1f9b8a449bfa982 GIT binary patch literal 2892 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

;4pTXqLd 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 literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/ic_more_mobileview_nor.png b/services/MoreMenuUI/images/ic_more_mobileview_nor.png new file mode 100644 index 0000000000000000000000000000000000000000..91aebfe29e531e5f9607b9b6995b2e94bb628e17 GIT binary patch literal 4205 zcmbVQXIN8Pv!;khvjmZ@Az(vD0g{kNkrIj$PyquRS_q+&4g{o#g7juXKt!Y{pb-!? zfD{!%3+*W7DAIBe1q2bL2*M4PbMKGye9ygiKYOpWXV%R7&YGFEf9!;l*5*>;3gQ9+ z0#cS1rl48Ri433z(c71#51OlO00DhH^+7l| z7K){q5Pf_t!e~U>Fl#$Pm_GsK2{JSQ>M_xLfIuPx4`c=gkmzWpKIjK7n*YA3hJb)S zOc?(9pr1iGU{3-~$TT7l4%XHrKw&T-0s)5Uz!3Lck%~U^2}c0z;utn;2SJntTgQdMJs3XKIq@ zs=pCTiF5+Zm%{KRlYpCucn@+ALm$MC^yd}=DOl`3z$E&wMDbGwVd5ze7#Io(4BXt; z4{JK(H1WT~_*ZMXT_}YJIZdRKgJ=YPJ-k$ZJM(k*pNTdN`O%$Pi-Anhs-mje;qA%Xa`rf&*u{yFk<6@7)$!^J)8?Av7GC?9W5kK%2y)gr1u1nY$}170 zqH*x;!HOYrNQD78H>g2(Ls`lOIBx5`l9CMe@fda9*%V$1!O;NPJ^lL9&bRXw8*^F) z{%g7Oc%C>fidgoi3M-nkkm9X)c2EAgaPo^b$12j2;@qwGF=zJB>pGa%<}G=2P6vJ4 zG?CXoSn(tosn{Y{+w1b&4dUAf3M_c@r4jC?Wk7KDy%7+gN`18bl+m{7%H{e=1SmQ@+Mb5-YRk$ zPjxXz)(k8wip!Cfop{r;dhzQjyzUfzHP&a&!Rrdw->0f*Lf#MVO7zg(VMB1mVF+j0^=*V)V=dU z9IxoQ>W-!Py}^HiNPHT`BkEJ^{Gzv&Y`#7Z7XKNTP^L#IoQLt6X9o>^q#9qFv2wk_ zcXYJcV72OP8|$7njT#D}#Sc#EhNu#1U{Ar%cQ5*#wQw%N?BhvuY~NN8Inut56kg;f z-vcU7V4L@-JTqv=3+t-I5%j7RBy-W_Xrs|urpZ}4>>^5XfEF^#Y z{FHUnWvnz^xopO4dWZ#&FB|g0a07vhOhftVC+3!tJ0EoHio()}O_)um)~*Kbs8YWu zFC)og(r#W<`%1r`-Hhn&Wz;9aK93vTYv-G;D)sQPXI%-~is&;+lGEYYTcA0D@^m$` zfj`^7_c2pz-_3$XkfzkMdG-36tqjqNMO#m6#229vr*;^San}s@X@%Bd0Jt&T8-gJ+ zZV<2TozdUTopBpIgFzqV(^68uw%!hdrt4{VZq3}KM+S|6a*{3#w!J?t+n)uy)NP+@ zgow?xdZ@?k>Oe<|+AeR1SlO<*jH^oy96b`tUG+YENlKD4x!`J3{D*uOyYvs?Ap2@9 zk4*oZR(&JSvåVi8Fk3zl%xu>xL1@oxdE-SWG$8F*Q>W@6viF{00S*N6VpKxB? z?r=?F$e$Y>_Aq(@cuvN13)i@Dt>jsklvKRfJs5-XAyrMV*8reJpT(WBdlc#%7d_h@ zV->k0Pf#0Xt-W3YXtuX+|GuZJtZa$E)rpClO=>>Ti9tHmA1k9^xUoUrr3DefV8p(e zTSafUOGY=UG6eNKO39z}nw-B&EGrpmxi)7XguA%9 z;z}^oaJv7(`S`o^^ej}(LC-rKK=%#xusYoV9TRP* z!@K<=-YRFe*qNw&y70zEhe}em-Tf%}V`D@4WOci8*+eK-3ia{!s{eb}Y>60=$ojwf zL^x+Z0A$bF^`6tY_Z%zs>Vx8!Hb8jsgjm9np3{MN`MS3YyL%?nPPl{`9n$Oli&H&V z<1jjM`ug6f$tm$?!Nor6d-hj2zXN16D2xfsg^Jl71$yRHl>{|}sSruj$`i60__VT< zlC+7*S5+Tm26p4D{nV55W-FbrImXni6HSZ}pPoH!oI*g1!Go$Z*c|H)`0!O&@wHca zWv;9>Bs>t^{5AhN`;svkH+-uYo5kkt2YrQcmBaM%OJQ#H5*-#^^{iq|eJ6BxEUfZ9 zzUOszcJ=_kX|1z6b#Tx)Pegt}(d2veH_g<+r8sAmt%?t-<`#3S68ukQgfSvPt|um* zkhW!+544LZhuU0!9by041DpqT$aJsEJq~0|ovdd=Q%DtQM;cC!jenkVv@hNI#g@dy z^usCSk_zX@q6XO`Lz?2m1K3ahZ^D2|h>@K?)w|xwg zjQ(2<=dJ!!5SMYU-jZ-)r@D>vI;yU#KZSLB_3)L*Gt(i`rM7pW)WEh~L$Zl3tnhO` zkjeyuEz5`XQD`aS#HO#MN0u}%VP@`nVehd0T&mqNn))m|v#qHsA6i=WJIwWinrX%& z2_1%4waYCkhBEy68Ho~fc5vm;otm1Ov&LUNKHjg>AUw0b^hex@k+MD<&`xW)3)R3L3O+I38C^RMlL<&E#NLad8e0Zs(%Gb%rKE^tBYsCaP3I%;D zQjaSMwN(exQ_6MdLn>CwM@t+1zGoMv?DrW=$Rtt&sh$*X@o)IP48aHeYb*DAzV`Nq33cJKj7#LC4L5^}-tHZ!O&sjvCob&{} z!C`FT*frQKeO1qE+v6XfekPfi>-X(Tyo6NRRmVuqfV7We_UpV!nc{uxa#}A#(=8$r zCU`3=z~W}VsV|8Vjf*dy#LQegPQ^b9#J{=H(ki1;D;R2`99ylytC&@Q2ek`*Q=09a z3y)U0UBt*Rhjtko1X!v*7n&9OYixg^%(s$~{a}qp%;I_Y08g>&dI{>y6ZdCtiLBJ5 zzE=R;t#SjU$`cwYHnCDKbB_A=?SSwb_hSb%41S6a&p*%7g;>TFqw{YVsT{T2 z;$G7=lio&lk)C>>pj?D3MwcO9GmjE7Uq`X0GvrJ*!C7K=G$M9M&o|=7R?0z*Eccg?9K0s8rVoM0wt{NS@0Hp z{MzOA3Kc)cnFY;`M{|cJy;Wq}Y4(V6^p4ZwQ00lwp1o%hBhR3Qtn6KK5f5em-Xro8 yU>v|l`2oitjDASt06zFX4F3m%o$(uDP=UC0a)>x0%4G8gfF;J-lx6IG{=WdHF?!Dc literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/ic_more_pointermode_foc.png b/services/MoreMenuUI/images/ic_more_pointermode_foc.png new file mode 100644 index 0000000000000000000000000000000000000000..8785d75a32e56194cfad14a628c2d55bf920e36e GIT binary patch literal 3180 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 literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/ic_more_readermode_foc.png b/services/MoreMenuUI/images/ic_more_readermode_foc.png new file mode 100644 index 0000000000000000000000000000000000000000..d257732fc053c20177ace08285da20d483e3a8f1 GIT binary patch literal 1943 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%0DrRk}1lz^~^m?n2h%Dr_fV`tEOTsZ!6`V9w zY(@F2zM_Zar$^n0#fWmt4ou8}MfiFHbhOEFK74$#_t8ZJ=8XDgs_lW^!9V!(5~nUu z@;2P>9L|<&*?TZdP`>xPq_k7$ab==TfRDanRguX2{i}?*BaTQOVL>SMIU_uFbsWmZ zu!#6jN4!7HlCL6=a-WESjeKR`B~84(2M=Ne-lJ2W*2>8T(yZV60j~NXQUkn0$C4jT z+$evj!T^Yi^@3D-dt5+PH)kIodhA`D)r5A-*maYZ#kW7fA99V?G(wEt_4biZdj`4D zQ|d&Ae`&L2%%!G l{a?cWOSdqekKD!2b=X+%5%rL~`_8`@TT2HEhM8B?zW}&QFVFx0 literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/ic_more_setting_nor.png b/services/MoreMenuUI/images/ic_more_setting_nor.png new file mode 100644 index 0000000000000000000000000000000000000000..284d4237339ebbe4cc5aa8c24486c5d01a726fba GIT binary patch literal 4936 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 literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/ic_more_share_foc.png b/services/MoreMenuUI/images/ic_more_share_foc.png new file mode 100644 index 0000000000000000000000000000000000000000..dadf09bd38e1a78fe7647a38af172a99a08caf5d GIT binary patch literal 2653 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\~q?AZkE8C<^8=}1$>cC9>Z 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 literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/modal_dialogs_bg.png b/services/MoreMenuUI/images/modal_dialogs_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..6ce45069dc7bbb227b25b6933ded0d229002daba GIT binary patch literal 18648 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 Mwux4ero+kq0-UcVr~m)} literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/modal_dialogs_title_bg.png b/services/MoreMenuUI/images/modal_dialogs_title_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..36aaab46b500605f4e162c0f3fe92a999493bd13 GIT binary patch literal 18226 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 gv42GTqd&s{nR>0AJ7j&G*sAP;h0FNNd*k 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 SOF&k3)ON6OvCgyFvg_YNdqf}r literal 0 HcmV?d00001 diff --git a/services/MoreMenuUI/images/web_shadow.png b/services/MoreMenuUI/images/web_shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..f9018b0a6e15ae5670b67d580b890d1950636066 GIT binary patch literal 17700 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 literal 0 HcmV?d00001 diff --git a/services/SimpleUI/CMakeLists.txt b/services/SimpleUI/CMakeLists.txt index 6234cb8..4a5c6d7 100644 --- a/services/SimpleUI/CMakeLists.txt +++ b/services/SimpleUI/CMakeLists.txt @@ -79,8 +79,7 @@ add_dependencies(${PROJECT_NAME} SessionStorage) target_link_libraries(${PROJECT_NAME} SimpleURI) target_link_libraries(${PROJECT_NAME} StorageService) target_link_libraries(${PROJECT_NAME} HistoryService) -#MERGE_ME -#target_link_libraries(${PROJECT_NAME} MoreMenuUI) +target_link_libraries(${PROJECT_NAME} MoreMenuUI) target_link_libraries(${PROJECT_NAME} MainUI) #MERGE_ME #target_link_libraries(${PROJECT_NAME} HistoryUI) diff --git a/services/SimpleUI/SimpleUI.cpp b/services/SimpleUI/SimpleUI.cpp index e585130..d5e6a6d 100644 --- a/services/SimpleUI/SimpleUI.cpp +++ b/services/SimpleUI/SimpleUI.cpp @@ -64,8 +64,8 @@ SimpleUI::SimpleUI() , m_popup(nullptr) #if MERGE_ME , m_settings() - , m_moreMenuUI() #endif + , m_moreMenuUI() , m_tabUI() , m_bookmarkManagerUI() , m_mainUI() @@ -1118,7 +1118,6 @@ void SimpleUI::closeSettingsUI(const std::string& str) void SimpleUI::showMoreMenu() { -#if MERGE_ME BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); bool current_tab_as_new_tab = isHomePageActive() || (m_historyService->getHistoryItemsCount() == 0); if(!m_moreMenuUI){ @@ -1140,15 +1139,12 @@ void SimpleUI::showMoreMenu() m_moreMenuUI->showCurrentTab(current_tab_as_new_tab ? nullptr : m_historyService->getHistoryItems().front()); BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); } -#endif } void SimpleUI::closeMoreMenu(const std::string& str) { -#if MERGE_ME BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__); m_moreMenuUI.reset() ; -#endif } void SimpleUI::showBookmarkManagerMenu() diff --git a/services/SimpleUI/SimpleUI.h b/services/SimpleUI/SimpleUI.h index a6c4acc..9d64421 100644 --- a/services/SimpleUI/SimpleUI.h +++ b/services/SimpleUI/SimpleUI.h @@ -34,8 +34,8 @@ // components #include "AbstractWebEngine.h" -#if MERGE_ME #include "MoreMenuUI.h" +#if MERGE_ME #include "HistoryUI.h" #include "SettingsUI.h" #endif @@ -292,9 +292,7 @@ private: std::shared_ptr rightButtonBar; std::shared_ptr m_favoriteService; std::shared_ptr m_historyService; -#if MERGE_ME std::shared_ptr m_moreMenuUI; -#endif std::shared_ptr m_bookmarkManagerUI; std::shared_ptr m_mainUI; #if MERGE_ME -- 2.7.4