AddBookmarkPopup::AddBookmarkPopup(Evas_Object* main_layout):
+ m_mainLayout(main_layout),
m_popup(nullptr),
m_gengrid(nullptr),
- m_mainLayout(main_layout),
m_itemClass(nullptr)
{
}
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_edjFilePath = EDJE_DIR;
+ m_edjFilePath.append("MoreMenuUI/AddBookmarkPopup.edj");
+ elm_theme_extension_add(0, m_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());
+ elm_layout_file_set(m_popup, m_edjFilePath.c_str(), "bookmark_popup");
+ BROWSER_LOGI("PATH: %s", m_edjFilePath.c_str());
m_gengrid = elm_gengrid_add(m_popup);
static const char* part_name = "page_title";
static const int part_len = strlen(part_name);
- BookmarkFolderItemData *itemData = reinterpret_cast<BookmarkFolderItemData*>(data);
+ BookmarkFolderItemData *itemData = static_cast<BookmarkFolderItemData*>(data);
if (!strncmp(part, part_name, part_len)) {
if(itemData->item)
return strdup(itemData->item->getTittle().c_str());
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";
- }
+ static const char *file_name = "";
+ if (index == 1) {
+ file_name = focused ? "btn_bar_new_foc.png" : "btn_bar_new_nor.png";
}
return file_name;
}
BROWSER_LOGD("%s:%d %s part=%s", __FILE__, __LINE__, __func__, part);
if ((data != nullptr) && (obj != nullptr) && (part != nullptr))
{
- BookmarkFolderItemData *itemData = reinterpret_cast<BookmarkFolderItemData*>(data);
+ BookmarkFolderItemData *itemData = static_cast<BookmarkFolderItemData*>(data);
static const char* part1_name = "elm.thumbnail";
static const char* part2_name = "elm.thumbButton";
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);
+ elm_image_file_set(thumb_nail, itemData->addBookmarkPopup->m_edjFilePath.c_str(), file_name);
}
return thumb_nail;
}
if ((data != nullptr) && (obj != nullptr))
{
elm_object_focus_set(obj, EINA_TRUE);
- BookmarkFolderItemData *itemData = reinterpret_cast<BookmarkFolderItemData*>(data);
+ BookmarkFolderItemData *itemData = static_cast<BookmarkFolderItemData*>(data);
const char* file_name = getImageFileNameForType(itemData->index, true);
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");
if (thumb_nail != nullptr)
{
- elm_image_file_set(thumb_nail, itemData->addBookmarkPopup->bm_edjFilePath.c_str(), file_name);
+ elm_image_file_set(thumb_nail, itemData->addBookmarkPopup->m_edjFilePath.c_str(), file_name);
}
}
}
}
-void AddBookmarkPopup::__cb_mouse_out(void * data, Evas *e, Evas_Object *obj, void *event_info)
+void AddBookmarkPopup::__cb_mouse_out(void * data, Evas *, Evas_Object *obj, void* )
{
BROWSER_LOGD("[%s:%d]", __PRETTY_FUNCTION__, __LINE__);
- BookmarkFolderItemData *itemData = reinterpret_cast<BookmarkFolderItemData*>(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);
+ if (data && obj){
+ BookmarkFolderItemData *itemData = static_cast<BookmarkFolderItemData*>(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->m_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<Elm_Object_Item *>(event_info);
- HistoryItemData * itemData = reinterpret_cast<HistoryItemData *>(elm_object_item_data_get(selected));
- AddBookmarkPopup * self = reinterpret_cast<AddBookmarkPopup *>(data);
-
- self->bookmarkClicked(itemData->item);*/
-}
+//void AddBookmarkPopup::_itemSelected(void* , Evas_Object* , void*)
+//{
+// BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__);
+// if (data && event_info) {
+// Elm_Object_Item * selected = static_cast<Elm_Object_Item *>(event_info);
+// HistoryItemData * itemData = static_cast<HistoryItemData *>(elm_object_item_data_get(selected));
+// AddBookmarkPopup * self = static_cast<AddBookmarkPopup *>(data);
+//
+// self->bookmarkClicked(itemData->item);
+// }
+//}
-void AddBookmarkPopup::_newFolderButton(void * data, Evas_Object * /* obj */, void * /* event_info */)
+void AddBookmarkPopup::_newFolderButton(void* data, Evas_Object*, void*)
{
BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__);
- BookmarkFolderItemData * itemData = reinterpret_cast<BookmarkFolderItemData *>(data);
- itemData->addBookmarkPopup->addNewFolderClicked(std::string());
+ if (data) {
+ BookmarkFolderItemData * itemData = static_cast<BookmarkFolderItemData *>(data);
+ itemData->addBookmarkPopup->addNewFolderClicked(std::string());
+ }
}
-void AddBookmarkPopup::_thumbSelected(void * data, Evas_Object * /* obj */, void * /* event_info */)
+void AddBookmarkPopup::_thumbSelected(void* data, Evas_Object*, void*)
{
BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__);
- BookmarkFolderItemData * itemData = reinterpret_cast<BookmarkFolderItemData *>(data);
- itemData->addBookmarkPopup->folderSelected(itemData->item->getId());
+ if (data) {
+ BookmarkFolderItemData * itemData = static_cast<BookmarkFolderItemData *>(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_extension_del(nullptr, m_edjFilePath.c_str());
elm_theme_full_flush();
elm_cache_all_flush();
}
m_map_bookmark_folder_views.clear();
}
-void AddBookmarkPopup::focusItem(void* /*data*/, Evas_Object* /*obj*/, void* event_info)
+void AddBookmarkPopup::focusItem(void*, Evas_Object*, void* event_info)
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
- Elm_Object_Item *item = reinterpret_cast<Elm_Object_Item*>(event_info);
- elm_object_item_signal_emit( item, "mouse,in", "over2");
+ if (event_info) {
+ Elm_Object_Item *item = static_cast<Elm_Object_Item*>(event_info);
+ elm_object_item_signal_emit(item, "mouse,in", "over2");
- // selected manually
- elm_gengrid_item_selected_set(item, EINA_TRUE);
+ // selected manually
+ elm_gengrid_item_selected_set(item, EINA_TRUE);
+ }
}
-void AddBookmarkPopup::unFocusItem(void* /*data*/, Evas_Object* /*obj*/, void* event_info)
+void AddBookmarkPopup::unFocusItem(void*, Evas_Object*, void* event_info)
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
- Elm_Object_Item *item = reinterpret_cast<Elm_Object_Item*>(event_info);
- elm_object_item_signal_emit( item, "mouse,out", "over2");
+ if (event_info) {
+ Elm_Object_Item *item = static_cast<Elm_Object_Item*>(event_info);
+ elm_object_item_signal_emit(item, "mouse,out", "over2");
- // unselected manually
- elm_gengrid_item_selected_set(item, EINA_FALSE);
+ // unselected manually
+ elm_gengrid_item_selected_set(item, EINA_FALSE);
+ }
}
}
typedef struct _MoreItemData
{
- ItemType item;
- std::shared_ptr<tizen_browser::base_ui::MoreMenuUI> moreMenuUI;
+ ItemType item;
+ std::shared_ptr<tizen_browser::base_ui::MoreMenuUI> moreMenuUI;
} MoreMenuItemData;
MoreMenuUI::MoreMenuUI()
, m_item_class(NULL)
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
- edjFilePath = EDJE_DIR;
- edjFilePath.append("MoreMenuUI/MoreMenu.edj");
+ m_edjFilePath = EDJE_DIR;
+ m_edjFilePath.append("MoreMenuUI/MoreMenu.edj");
}
MoreMenuUI::~MoreMenuUI()
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
m_parent = parent;
- elm_theme_extension_add(NULL, edjFilePath.c_str());
+ elm_theme_extension_add(NULL, m_edjFilePath.c_str());
m_mm_layout = elm_layout_add(parent);
- elm_layout_file_set(m_mm_layout, edjFilePath.c_str(), "moremenu-layout");
+ elm_layout_file_set(m_mm_layout, m_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);
void MoreMenuUI::showCurrentTab(const std::shared_ptr<tizen_browser::services::HistoryItem> item)
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
- elm_theme_extension_add(NULL, edjFilePath.c_str());
+ elm_theme_extension_add(NULL, m_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);
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
+ m_itemClass, //item Class
id,
- NULL, //parent item
- ELM_GENLIST_ITEM_NONE, //item type
+ NULL, //parent item
+ ELM_GENLIST_ITEM_NONE, //item type
NULL,
- NULL //data passed to above function
+ 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<ItemData *>(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;
+ if (data && obj && part) {
+ ItemData * id = static_cast<ItemData *>(data);
+ const char *part_name1 = "favicon";
+ static const int part_name1_len = strlen(part_name1);
+ const char *part_name2 = "star_click";
+ static const int part_name2_len =strlen(part_name2);
+ const char *part_name3 = "close_click";
+ static const int part_name3_len = strlen(part_name3);
+
+ if (!strncmp(part_name1, part, part_name1_len) && 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->m_edjFilePath.c_str(), file_name);
+ return thumb_nail;
+ //return tizen_browser::tools::EflTools::getEvasImage(id->h_item->getFavIcon(), obj);
+ }
+
+ if (!strncmp(part_name2, part, part_name2_len)) {
+ 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;
+ }
+
+ if (!strncmp(part_name3, part, part_name3_len)) {
+ 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 */)
+void MoreMenuUI::star_clicked_cb(void* data, Evas_Object*, void*)
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
- ItemData * id = static_cast<ItemData *>(data);
- id->m_moreMenu->AddBookmarkPopupCalled();
+ if (data) {
+ ItemData * id = static_cast<ItemData *>(data);
+ id->m_moreMenu->AddBookmarkPopupCalled();
+ }
}
void MoreMenuUI::AddBookmarkPopupCalled()
-{ //m_map_bookmark_folder_list.clear();
- popup = std::shared_ptr<tizen_browser::base_ui::AddBookmarkPopup> (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));
+{
+ m_add_bookmark_popup = std::make_shared<tizen_browser::base_ui::AddBookmarkPopup>(m_mm_layout);
+ m_add_bookmark_popup->show();
+ m_add_bookmark_popup->addBookmarkFolderItems(m_map_bookmark_folder_list);
+ m_add_bookmark_popup->folderSelected.disconnect_all_slots();
+ m_add_bookmark_popup->folderSelected.connect(boost::bind(&MoreMenuUI::addToBookmarks, this, _1));
+ m_add_bookmark_popup->addNewFolderClicked.disconnect_all_slots();
+ m_add_bookmark_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 <tizen_browser::base_ui::NewFolderPopup > (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();
+ BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
+ m_new_folder_popup =
+ std::make_shared<tizen_browser::base_ui::NewFolderPopup>(m_mm_layout
+ , nullptr
+ , "Add New Folder for adding to Bookmark"
+ , "New Folder"
+ , "Add to bookmark"
+ , "Cancel");
+ m_new_folder_popup->on_ok.disconnect_all_slots();
+ m_new_folder_popup->on_ok.connect(boost::bind(&MoreMenuUI::NewFolderCreate, this, _1));
+ m_new_folder_popup->on_cancel.disconnect_all_slots();
+ m_new_folder_popup->on_cancel.connect(boost::bind(&MoreMenuUI::CancelClicked, this, _1));
+ m_add_bookmark_popup->hide();
+ m_new_folder_popup->show();
}
-void MoreMenuUI::NewFolderCreate(Evas_Object * popup_content)
+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();
+ if (popup_content) {
+ m_folderName = elm_entry_entry_get(popup_content);
+ BookmarkFolderCreated(m_folderName.c_str(), 0,0);
+ m_new_folder_popup->hide();
+ }
}
-void MoreMenuUI::CancelClicked(Evas_Object * popup)
+void MoreMenuUI::CancelClicked(Evas_Object*)
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
- m_popup->hide();
+ m_new_folder_popup->hide();
}
void MoreMenuUI::addToBookmarks(int folder_id)
{
AddBookmarkInput(folder_id);
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
- popup->hide();
- popup.reset();
+ m_add_bookmark_popup->hide();
+ m_add_bookmark_popup.reset();
}
-void MoreMenuUI::close_clicked_cb(void* data, Evas_Object* /* obj */, void* /* event_info */)
+void MoreMenuUI::close_clicked_cb(void* data, Evas_Object*, void*)
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
- ItemData * id = static_cast<ItemData *>(data);
- id->m_moreMenu->closeMoreMenuClicked(std::string());
- id->m_moreMenu->clearItems();
+ if (data) {
+ ItemData * id = static_cast<ItemData*>(data);
+ id->m_moreMenu->closeMoreMenuClicked(std::string());
+ id->m_moreMenu->clearItems();
+ }
}
-char* MoreMenuUI::listItemTextGet(void* data, Evas_Object* /* obj */, const char* part)
+char* MoreMenuUI::listItemTextGet(void* data, Evas_Object*, const char* part)
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
- ItemData * id = static_cast<ItemData *>(data);
- if(!strcmp(part, "webpage_title"))
- {
- if(!id->h_item)
- return strdup("New Tab");
- if(!id->h_item->getTitle().empty()){
+ if (data && part) {
+ ItemData *id = static_cast<ItemData*>(data);
+ const char *part_name1 = "webpage_title";
+ static const int part_name1_len = strlen(part_name1);
+ const char *part_name2 = "webpage_url";
+ static const int part_name2_len = strlen(part_name2);
+
+ if (!strncmp(part_name1, part, part_name1_len)) {
+ if (!id->h_item) {
+ return strdup("New Tab");
+ }
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()){
+
+ if (!strncmp(part_name2, part, part_name2_len)) {
+ if(!id->h_item)
+ return strdup("");
return strdup(id->h_item->getUrl().c_str());
}
}
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);
+ 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<ItemType>(i);;
- itemData->moreMenuUI = std::shared_ptr<tizen_browser::base_ui::MoreMenuUI>(this);
- Elm_Object_Item* bookmarkView = elm_gengrid_item_append(m_gengrid, m_item_class, itemData, NULL, this);
- m_map_menu_views.insert(std::pair<ItemType, Elm_Object_Item*>(itemData->item, bookmarkView));
- elm_gengrid_item_selected_set(bookmarkView, EINA_FALSE);
- }
- BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__);
+ BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__);
+ for (size_t i = 0; i < 10; i++) {
+ MoreMenuItemData *itemData = new MoreMenuItemData();
+ itemData->item = static_cast<ItemType>(i);;
+ itemData->moreMenuUI = std::shared_ptr<tizen_browser::base_ui::MoreMenuUI>(this);
+ Elm_Object_Item* bookmarkView = elm_gengrid_item_append(m_gengrid, m_item_class, itemData, NULL, this);
+ m_map_menu_views.insert(std::pair<ItemType, Elm_Object_Item*>(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)
+char* MoreMenuUI::_grid_text_get(void* data, Evas_Object*, const char* part)
{
- MoreMenuItemData *itemData = reinterpret_cast<MoreMenuItemData*>(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;
+ BROWSER_LOGD("%s:%d %s part=%s", __FILE__, __LINE__, __func__, part);
+ if (data && part) {
+ MoreMenuItemData *itemData = static_cast<MoreMenuItemData*>(data);
+ const char *part_name = "menu_label";
+ static const int part_name_len = strlen(part_name);
+
+ if (!strncmp(part_name, part, part_name_len)) {
+ 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;
+ 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<MoreMenuItemData*>(data);
+ if (data && obj && part) {
+ MoreMenuItemData *itemData = static_cast<MoreMenuItemData*>(data);
+ const char *part_name1 = "thumbnail_item";
+ static const int part_name1_len = strlen(part_name1);
+ const char *part_name2 = "thumbbutton_item";
+ static const int part_name2_len = strlen(part_name2);
+
+ if (!strncmp(part_name1, part, part_name1_len)) {
+ Evas_Object* thumb_nail = elm_icon_add(obj);
+ const char* file_name = getImageFileNameForType(itemData->item, false);
+ elm_image_file_set(thumb_nail, itemData->moreMenuUI->m_edjFilePath.c_str(), file_name);
+ return thumb_nail;
+ }
- 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;
+ if (!strncmp(part_name2, part, part_name2_len)) {
+ 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)
+void MoreMenuUI::__cb_mouse_in(void * data, Evas *, Evas_Object *obj, void *)
{
BROWSER_LOGD("[%s:%d]", __PRETTY_FUNCTION__, __LINE__);
- elm_object_focus_set(obj, EINA_TRUE);
- MoreMenuItemData *itemData = reinterpret_cast<MoreMenuItemData*>(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<MoreMenuItemData*>(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);
+ if (data && obj) {
+ elm_object_focus_set(obj, EINA_TRUE);
+
+ MoreMenuItemData *itemData = static_cast<MoreMenuItemData*>(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->m_edjFilePath.c_str(), file_name);
+ }
}
-void MoreMenuUI::_itemSelected(void * data, Evas_Object * /* obj */, void * event_info)
+void MoreMenuUI::__cb_mouse_out(void * data, Evas *, Evas_Object *obj, void *)
{
BROWSER_LOGD("[%s:%d]", __PRETTY_FUNCTION__, __LINE__);
+ if (data && obj) {
+ elm_object_focus_set(obj, EINA_FALSE);
+
+ MoreMenuItemData *itemData = static_cast<MoreMenuItemData*>(data);
+ 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->m_edjFilePath.c_str(), file_name);
+ }
}
-void MoreMenuUI::_thumbSelected(void * data, Evas_Object * /* obj */, void * /* event_info */)
+void MoreMenuUI::_thumbSelected(void* data, Evas_Object*, void*)
{
BROWSER_LOGD("[%s:%d]", __PRETTY_FUNCTION__, __LINE__);
- MoreMenuItemData *itemData = reinterpret_cast<MoreMenuItemData*>(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;
+ if (data) {
+ MoreMenuItemData *itemData = static_cast<MoreMenuItemData*>(data);
+ switch (itemData->item) {
+ case HISTORY:
+ itemData->moreMenuUI->historyUIClicked(std::string());
+ break;
+ case SETTINGS:
+ itemData->moreMenuUI->settingsClicked(std::string());
+ break;
+ case READER_MODE:
+ case BOOKMARK_MANAGER:
+ case SCREEN_ZOOM:
+ case START_MINIBROWSER:
+ case FOCUS_MODE:
+ case VIEW_MOBILE_WEB:
+ case SHARE:
+ case EXIT_BROWSER:
+ break;
+ }
}
}
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_extension_del(NULL, m_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<Elm_Object_Item*>(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<Elm_Object_Item*>(event_info);
- elm_object_item_signal_emit( item, "mouse,out", "over2");
-
- // unselected manually
- elm_gengrid_item_selected_set(item, EINA_FALSE);
-}
+//void MoreMenuUI::focusItem(void*, Evas_Object*, void* event_info)
+//{
+// BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
+// if (event_info) {
+// Elm_Object_Item *item = static_cast<Elm_Object_Item*>(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*, Evas_Object*, void* event_info)
+//{
+// BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
+// if (event_info) {
+// Elm_Object_Item *item = static_cast<Elm_Object_Item*>(event_info);
+// elm_object_item_signal_emit( item, "mouse,out", "over2");
+//
+// // unselected manually
+// elm_gengrid_item_selected_set(item, EINA_FALSE);
+// }
+//}
+//
+//void MoreMenuUI::_itemSelected(void*, Evas_Object*, void *)
+//{
+// BROWSER_LOGD("[%s:%d]", __PRETTY_FUNCTION__, __LINE__);
+//}
}
}