Refactored MoreMenuUI service 90/45590/3
authorJanusz Majnert <j.majnert@samsung.com>
Fri, 7 Aug 2015 10:01:38 +0000 (12:01 +0200)
committerSungwon Han <sungwon2.han@samsung.com>
Mon, 10 Aug 2015 07:18:03 +0000 (00:18 -0700)
[Issue#]   https://bugs.tizen.org/jira/browse/TT-72
[Problem]  Lots of style fixes, several fixes for build warnings
[Cause]    n/a
[Solution] Reformat code, fix casting and remove unused variables
[Verify]   1. Check that there are no build problems caused by this change
           2. Run the browser and explore the More Menu to see if nothing's broken

List of changes:
* tabs -> spaces
* proper indentation
* other minor style fixes
* removing unused variables' declarations
* renaming a few class members to better express their use
* replacing reinterpret_Cast with static_cast where appropriate
* adding null-checks in callback functions
* replacing shared_ptr copy-assignments with make_shared

Change-Id: I6a65bbcf9efaef42db955c689ba81673cb12e1fa

services/MoreMenuUI/AddBookmarkPopup.cpp
services/MoreMenuUI/AddBookmarkPopup.h
services/MoreMenuUI/MoreMenuUI.cpp
services/MoreMenuUI/MoreMenuUI.h
services/MoreMenuUI/NewFolderPopup.cpp
services/MoreMenuUI/NewFolderPopup.h

index fea26c4..a455589 100644 (file)
@@ -34,9 +34,9 @@ typedef struct _BookmarkFolderItemData
 
 
 AddBookmarkPopup::AddBookmarkPopup(Evas_Object* main_layout):
+    m_mainLayout(main_layout),
     m_popup(nullptr),
     m_gengrid(nullptr),
-    m_mainLayout(main_layout),
     m_itemClass(nullptr)
 {
 }
@@ -47,15 +47,15 @@ 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_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);
 
@@ -175,7 +175,7 @@ char* AddBookmarkPopup::_grid_text_get(void *data, Evas_Object *, const char *pa
         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());
@@ -186,17 +186,9 @@ char* AddBookmarkPopup::_grid_text_get(void *data, Evas_Object *, const char *pa
 
 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;
 }
@@ -206,7 +198,7 @@ Evas_Object * AddBookmarkPopup::_grid_content_get(void *data, Evas_Object *obj,
     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";
@@ -220,7 +212,7 @@ Evas_Object * AddBookmarkPopup::_grid_content_get(void *data, Evas_Object *obj,
             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;
         }
@@ -251,7 +243,7 @@ void AddBookmarkPopup::__cb_mouse_in(void * data, Evas *, Evas_Object *obj, void
     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"];
@@ -260,46 +252,54 @@ void AddBookmarkPopup::__cb_mouse_in(void * data, Evas *, Evas_Object *obj, void
             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()
@@ -307,7 +307,7 @@ 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();
 }
@@ -320,24 +320,28 @@ void AddBookmarkPopup::updateGengrid()
     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);
+    }
 }
 
 }
index 62d86e7..bce7ada 100644 (file)
@@ -39,7 +39,7 @@ public:
 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 _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);
@@ -56,7 +56,7 @@ private:
 
     Elm_Gengrid_Item_Class * m_itemClass;
     std::map<std::string,Elm_Object_Item*> m_map_bookmark_folder_views;
-    std::string bm_edjFilePath;
+    std::string m_edjFilePath;
     bool m_gengridSetup;
 
     static void __cb_mouse_in(void *data, Evas *e, Evas_Object *obj, void *event_info);
index 492f3ea..0a61323 100644 (file)
@@ -40,8 +40,8 @@ struct ItemData{
 
 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()
@@ -50,8 +50,8 @@ 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()
@@ -62,9 +62,9 @@ void MoreMenuUI::show(Evas_Object* parent)
 {
     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);
@@ -101,7 +101,7 @@ void MoreMenuUI::show(Evas_Object* parent)
 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);
@@ -125,12 +125,12 @@ void MoreMenuUI::showCurrentTab(const std::shared_ptr<tizen_browser::services::H
     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__);
@@ -139,114 +139,133 @@ void MoreMenuUI::showCurrentTab(const std::shared_ptr<tizen_browser::services::H
 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());
         }
     }
@@ -255,166 +274,194 @@ char* MoreMenuUI::listItemTextGet(void* data, Evas_Object* /* obj */, const char
 
 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;
+        }
     }
 }
 
@@ -431,30 +478,39 @@ void MoreMenuUI::clearItems()
     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__);
+//}
 
 }
 }
index 7bff048..7f0812b 100644 (file)
@@ -18,6 +18,7 @@
 #define MOREMENUUI_H
 
 #include <Evas.h>
+#include <memory>
 #include <boost/signals2/signal.hpp>
 
 #include "AbstractUIComponent.h"
@@ -73,7 +74,6 @@ public:
 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);
@@ -85,7 +85,7 @@ private:
 
     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);
 
@@ -94,21 +94,22 @@ private:
 
 private:
     Evas_Object *m_genList;
-    std::shared_ptr<tizen_browser::base_ui::NewFolderPopup > m_popup;
+    std::shared_ptr<tizen_browser::base_ui::NewFolderPopup> m_new_folder_popup;
     Evas_Object *m_mm_layout;
-    std::shared_ptr<tizen_browser::base_ui::AddBookmarkPopup > popup;
+    std::shared_ptr<tizen_browser::base_ui::AddBookmarkPopup> m_add_bookmark_popup;
     Elm_Genlist_Item_Class *m_itemClass;
     Evas_Object *m_gengrid;
     Evas_Object *m_parent;
     Elm_Gengrid_Item_Class * m_item_class;
     std::map<ItemType,Elm_Object_Item*> m_map_menu_views;
     std::vector<std::shared_ptr<tizen_browser::services::BookmarkItem> > m_map_bookmark_folder_list;
-    std::string edjFilePath;
+    std::string m_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);
+    //static void focusItem(void* data, Evas_Object* obj, void* event_info);
+    //static void unFocusItem(void* data, Evas_Object* obj, void* event_info);
+    //static void _itemSelected(void * data, Evas_Object * obj, void * event_info);
 };
 
 }
index 32b8f69..ca5ef0f 100644 (file)
@@ -28,21 +28,26 @@ namespace tizen_browser{
 namespace base_ui{
 
 NewFolderPopup::NewFolderPopup(Evas_Object* main_layout) :
-    m_popup(NULL),
-    m_content(NULL),
+    m_popup(nullptr),
+    m_content(nullptr),
     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),
+NewFolderPopup::NewFolderPopup(Evas_Object *main_layout
+                             , Evas_Object *content
+                             , const char *message
+                             , const char *title
+                             , const char *okButtonText
+                             , const char *cancelButtonText) :
+    m_popup(nullptr),
     m_content(content),
     m_message(message),
     m_title(title),
     m_okButtonText(okButtonText),
-    m_cancelButtonText(cancelButtonText)
+    m_cancelButtonText(cancelButtonText),
+    m_mainLayout(main_layout)
 {
 
 }
@@ -153,17 +158,21 @@ void NewFolderPopup::hide()
    elm_object_signal_emit(m_mainLayout, "elm,state,hide", "elm");
 }
 
-void NewFolderPopup::popup_ok_cb(void *data, Evas_Object *btn, void*)
+void NewFolderPopup::popup_ok_cb(void *data, Evas_Object*, void*)
 {
     BROWSER_LOGD("[%s],", __func__);
-    NewFolderPopup *ownPopup = static_cast<NewFolderPopup*>(data);
-    ownPopup->on_ok(ownPopup->m_editfield_entry);
+    if (data) {
+        NewFolderPopup *ownPopup = static_cast<NewFolderPopup*>(data);
+        ownPopup->on_ok(ownPopup->m_editfield_entry);
+    }
 }
-void NewFolderPopup::popup_cancel_cb(void *data, Evas_Object *btn, void*)
+void NewFolderPopup::popup_cancel_cb(void *data, Evas_Object*, void*)
 {
     BROWSER_LOGD("[%s],", __func__);
-    NewFolderPopup *ownPopup = static_cast<NewFolderPopup*>(data);
-    ownPopup->on_cancel(ownPopup->m_editfield_entry);
+    if (data) {
+        NewFolderPopup *ownPopup = static_cast<NewFolderPopup*>(data);
+        ownPopup->on_cancel(ownPopup->m_editfield_entry);
+    }
 }
 
 }
index 18edd11..e0fd051 100644 (file)
@@ -17,7 +17,12 @@ 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);
+    NewFolderPopup(Evas_Object *main_layout
+                 , Evas_Object *content
+                 , const char *message
+                 , const char *title
+                 , const char *okButtonText
+                 , const char *cancelButtonText);
 
     /**
      * Theese setters should be called before showing popup.