m_webEngine->IMEStateChanged.connect(boost::bind(&SimpleUI::setwvIMEStatus, this, _1));
m_webEngine->favIconChanged.connect(boost::bind(&MoreMenuUI::setFavIcon, m_moreMenuUI.get(), _1));
m_webEngine->titleChanged.connect(boost::bind(&MoreMenuUI::setWebTitle, m_moreMenuUI.get(), _1));
+ m_webEngine->titleChanged.connect(boost::bind(&WebPageUI::setPageTitle, m_webPageUI.get(), _1));
m_favoriteService->bookmarkAdded.connect(boost::bind(&SimpleUI::onBookmarkAdded, this,_1));
m_favoriteService->bookmarkDeleted.connect(boost::bind(&SimpleUI::onBookmarkRemoved, this, _1));
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
M_ASSERT(m_viewManager);
- m_webPageUI->switchViewToWebPage(m_webEngine->getLayout(), m_webEngine->getURI());
+ m_webPageUI->switchViewToWebPage(m_webEngine->getLayout(), m_webEngine->getURI(), m_webEngine->getTitle());
}
void SimpleUI::switchToTab(const tizen_browser::basic_webengine::TabId& tabId)
m_entryBtn = elm_button_add(m_entry_layout);
- evas_object_event_callback_add(m_entryBtn, EVAS_CALLBACK_MOUSE_IN, __cb_mouse_in, this);
evas_object_smart_callback_add(m_entryBtn, "focused", URIEntry::focusedBtn, this);
evas_object_smart_callback_add(m_entryBtn, "unfocused", URIEntry::unfocusedBtn, this);
return m_entry_layout;
}
-void URIEntry::changeUri(const std::string newUri)
+void URIEntry::changeUri(const std::string& newUri)
{
BROWSER_LOGD("%s: newUri=%s", __func__, newUri.c_str());
- elm_entry_entry_set(m_entry, elm_entry_utf8_to_markup(newUri.c_str()));
+ m_URI = newUri;
+ if (m_URI.empty()) {
+ elm_entry_entry_set(m_entry, elm_entry_utf8_to_markup(""));
+ m_pageTitle = std::string();
+ }
}
void URIEntry::setFavIcon(std::shared_ptr< tizen_browser::tools::BrowserImage > favicon)
elm_object_signal_emit(m_entry_layout, "set_doc_icon", "model");
}
+void URIEntry::setPageTitle(const std::string& title)
+{
+ BROWSER_LOGD("%s", __func__);
+ m_pageTitle = title;
+ elm_entry_entry_set(m_entry, elm_entry_utf8_to_markup(m_pageTitle.c_str()));
+}
+
+void URIEntry::setURI(const std::string& uri)
+{
+ BROWSER_LOGD("%s, URI: %s", __func__, uri.c_str());
+ m_URI = uri;
+}
+
+void URIEntry::showPageTitle()
+{
+ BROWSER_LOGD("%s, Page title: %s", __func__, m_pageTitle.c_str());
+ if (!m_pageTitle.empty())
+ elm_entry_entry_set(m_entry, elm_entry_utf8_to_markup(m_pageTitle.c_str()));
+ else if (!m_URI.empty())
+ elm_entry_entry_set(m_entry, elm_entry_utf8_to_markup(m_URI.c_str()));
+ else
+ elm_entry_entry_set(m_entry, elm_entry_utf8_to_markup(""));
+}
+
URIEntry::IconType URIEntry::getCurrentIconTyep()
{
return m_currentIconType;
self->m_entrySelectedAllFirst = false;
elm_object_signal_emit(self->m_entry_layout, "mouse,out", "over");
+ elm_entry_entry_set(self->m_entry, elm_entry_utf8_to_markup(self->m_pageTitle.c_str()));
}
void URIEntry::focused(void* data, Evas_Object* /* obj */, void* /* event_info */)
{
URIEntry* self = static_cast<URIEntry*>(data);
elm_object_signal_emit(self->m_entry_layout, "mouse,in", "over");
- BROWSER_LOGD("%s", __func__);
+ elm_entry_entry_set(self->m_entry, elm_entry_utf8_to_markup(self->m_URI.c_str()));
+ BROWSER_LOGD("%s, URI: %s", __func__, self->m_URI.c_str());
}
void URIEntry::fixed_entry_key_down_handler(void* data, Evas* /*e*/, Evas_Object* /*obj*/, void* event_info)
elm_entry_input_panel_hide(m_entry);
uriChanged(rewriteURI(userString));
+ elm_object_focus_set(m_entryBtn, EINA_TRUE);
}
std::string URIEntry::rewriteURI(const std::string& url)
return elm_object_focus_get(m_entry) == EINA_TRUE ? true : false;
}
-void URIEntry::__cb_mouse_in(void* /*data*/, Evas* /*e*/, Evas_Object* obj, void* /*event_info*/)
-{
- elm_object_focus_set(obj, EINA_TRUE);
-}
-
-void URIEntry::__cb_mouse_out(void* /*data*/, Evas* /*e*/, Evas_Object* obj, void* /*event_info*/)
-{
- elm_object_focus_set(obj, EINA_FALSE);
-}
-
void URIEntry::focusedBtn(void* data, Evas_Object* /*obj*/, void* /*event_info*/)
{
URIEntry* self = static_cast<URIEntry*>(data);
{
URIEntry* self = static_cast<URIEntry*>(data);
elm_object_signal_emit(self->m_entry_layout, "mouse,out", "over");
+ //elm_entry_entry_set(self->m_entry, elm_entry_utf8_to_markup(self->m_pageTitle.c_str()));
}
void URIEntry::setDisabled(bool disabled)
Evas_Object* getContent();
- void changeUri(const std::string);
+ void changeUri(const std::string&);
boost::signals2::signal<void (const std::string&)> uriChanged;
void setFavIcon(std::shared_ptr<tizen_browser::tools::BrowserImage> favicon);
void setCurrentFavIcon();
void setSearchIcon();
void setDocIcon();
+ void setPageTitle(const std::string& title);
+ void setURI(const std::string& uri);
+ void showPageTitle();
IconType getCurrentIconTyep();
/**
* \brief Adds Action to URI bar.
static void _uriEntryClicked(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);
static void focusedBtn(void* data, Evas_Object* obj, void* event_info);
static void unfocusedBtn(void* data, Evas_Object* obj, void* event_info);
Evas_Object* m_entryBtn;
bool m_entrySelectedAllFirst;
std::string m_oryginalEntryText;
+ std::string m_pageTitle;
+ std::string m_URI;
bool m_searchTextEntered;
};
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
elm_object_signal_emit(m_mainLayout, "hide_progressbar_bg", "ui");
m_leftButtonBar->setActionForButton("refresh_stop_button", m_reload);
+ m_URIEntry->showPageTitle();
}
bool WebPageUI::isErrorPageActive()
return elm_object_part_content_get(m_mainLayout, "web_view") == m_errorLayout;
}
+void WebPageUI::setPageTitle(const std::string& title)
+{
+ BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
+ m_URIEntry->setPageTitle(title);
+}
+
void WebPageUI::setMainContent(Evas_Object* content)
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
refreshFocusChain();
}
-void WebPageUI::switchViewToWebPage(Evas_Object* content, const std::string uri)
+void WebPageUI::switchViewToWebPage(Evas_Object* content, const std::string uri, const std::string title)
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
if (m_homePageActive)
}
setMainContent(content);
updateURIBar(uri);
+ m_URIEntry->setPageTitle(title);
+ m_URIEntry->showPageTitle();
refreshFocusChain();
evas_object_show(m_leftButtonBar->getContent());
elm_object_focus_custom_chain_append(m_mainLayout, content, NULL);
void WebPageUI::updateURIBar(const std::string& uri)
{
- BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
+ BROWSER_LOGD("[%s:%d] URI:%s", __PRETTY_FUNCTION__, __LINE__, uri.c_str());
m_URIEntry->changeUri(uri);
m_leftButtonBar->setActionForButton("refresh_stop_button", m_reload);
+ m_URIEntry->setURI(uri);
m_stopLoading->setEnabled(true);
m_reload->setEnabled(true);
bool isErrorPageActive();
bool isHomePageActive() { return m_homePageActive; }
void switchViewToErrorPage();
- void switchViewToWebPage(Evas_Object* content, const std::string uri);
+ void switchViewToWebPage(Evas_Object* content, const std::string uri, const std::string title);
void switchViewToQuickAccess(Evas_Object* content);
URIEntry& getURIEntry() const { return *m_URIEntry.get(); }
+ void setPageTitle(const std::string& title);
void setTabsNumber(int tabs);
void setBackButtonEnabled(bool enabled) { m_back->setEnabled(enabled); }
void setForwardButtonEnabled(bool enabled) { m_forward->setEnabled(enabled); }