From 571cf603958864b0df21cb070d5b7a281c11d2e6 Mon Sep 17 00:00:00 2001 From: Maciej Skrzypkowski Date: Mon, 14 Sep 2015 13:07:04 +0200 Subject: [PATCH] Added proper handler for bookmark click in Quick Access view. [Issue] N/A [Problem] Clicking on bookmark caused opening popup or crashing. [Cause] Wrong callback was assigned to bookmark click. [Solution] Changed callback to opening new tab. Change-Id: I85dbaa29ba83005e25a4796f80a80c901a23a1f9 Signed-off-by: Maciej Skrzypkowski --- services/MainUI/MainUI.cpp | 6 +++--- services/MainUI/MainUI.h | 3 ++- services/SimpleUI/SimpleUI.cpp | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/services/MainUI/MainUI.cpp b/services/MainUI/MainUI.cpp index afddf7c..3822075 100644 --- a/services/MainUI/MainUI.cpp +++ b/services/MainUI/MainUI.cpp @@ -340,17 +340,17 @@ Evas_Object * MainUI::_grid_bookmark_content_get(void *data, Evas_Object *obj, c else if (!strcmp(part, "elm.thumbButton")) { Evas_Object *thumbButton = elm_button_add(obj); elm_object_style_set(thumbButton, "thumbButton"); - evas_object_smart_callback_add(thumbButton, "clicked", _thumbSelected, data); + evas_object_smart_callback_add(thumbButton, "clicked", _thumbBookmarkClicked, data); return thumbButton; } return nullptr; } -void MainUI::_thumbSelected(void * data, Evas_Object * , void *) +void MainUI::_thumbBookmarkClicked(void * data, Evas_Object * , void *) { BROWSER_LOGD("%s:%d %s", __FILE__, __LINE__, __func__); HistoryItemData * itemData = reinterpret_cast(data); - itemData->mainUI->mostVisitedTileClicked(itemData->item, DetailPopup::HISTORY_ITEMS_NO); + itemData->mainUI->openURLInNewTab(itemData->item, itemData->mainUI->isDesktopMode()); } void MainUI::_thumbClicked(void* data, Evas_Object *, const char *, const char *) diff --git a/services/MainUI/MainUI.h b/services/MainUI/MainUI.h index 7994674..94fa9d9 100644 --- a/services/MainUI/MainUI.h +++ b/services/MainUI/MainUI.h @@ -59,6 +59,7 @@ public: void addBookmarkItems(std::vector >); boost::signals2::signal, int)> mostVisitedTileClicked; + boost::signals2::signal, bool)> openURLInNewTab; boost::signals2::signal mostVisitedClicked; boost::signals2::signal bookmarkClicked; boost::signals2::signal bookmarkManagerClicked; @@ -77,7 +78,7 @@ private: static char* _grid_bookmark_text_get(void *data, Evas_Object *obj, const char *part); static Evas_Object * _grid_bookmark_content_get(void *data, Evas_Object *obj, const char *part); - static void _thumbSelected(void * data, Evas_Object * obj, void * event_info); + static void _thumbBookmarkClicked(void * data, Evas_Object * obj, void * event_info); static void _thumbClicked(void *data, Evas_Object *obj, const char *emission, const char *source); void setEmptyView(bool empty); void showNoHistoryLabel(); diff --git a/services/SimpleUI/SimpleUI.cpp b/services/SimpleUI/SimpleUI.cpp index 43dea86..6d39786 100644 --- a/services/SimpleUI/SimpleUI.cpp +++ b/services/SimpleUI/SimpleUI.cpp @@ -286,6 +286,7 @@ void SimpleUI::connectUISignals() M_ASSERT(m_mainUI.get()); m_mainUI->getDetailPopup().openURLInNewTab.connect(boost::bind(&SimpleUI::onOpenURLInNewTab, this, _1, _2)); + m_mainUI->openURLInNewTab.connect(boost::bind(&SimpleUI::onOpenURLInNewTab, this, _1, _2)); m_mainUI->mostVisitedTileClicked.connect(boost::bind(&SimpleUI::onMostVisitedTileClicked, this, _1, _2)); m_mainUI->mostVisitedClicked.connect(boost::bind(&SimpleUI::onMostVisitedClicked, this,_1)); m_mainUI->bookmarkClicked.connect(boost::bind(&SimpleUI::onBookmarkButtonClicked, this,_1)); -- 2.7.4