*/
boost::signals2::signal<void ()> minimizeBrowser;
+ /**
+ * Switch fullscreenmode.
+ */
+ boost::signals2::signal<void(bool)> fullscreenModeSet;
+
/**
* FavIcon of current page changed
*/
m_webPageUI->qaOrientationChanged.connect(boost::bind(&QuickAccess::orientationChanged, m_quickAccess));
m_webPageUI->getURIEntry().secureIconClicked.connect(boost::bind(&SimpleUI::showCertificatePopup, this));
m_webPageUI->getURIEntry().isValidCert.connect(boost::bind(&services::CertificateContents::isValidCertificate, m_certificateContents, _1));
+ m_webEngine->fullscreenModeSet.connect(boost::bind(&WebPageUI::fullscreenModeSet, m_webPageUI.get(), _1));
#endif
M_ASSERT(m_quickAccess.get());
webView->getRotation.connect(boost::bind(&WebEngineService::_getRotation, this));
webView->unsecureConnection.connect(boost::bind(&WebEngineService::_unsecureConnection, this));
webView->findOnPage.connect(boost::bind(&WebEngineService::_findOnPage, this, _1));
+ webView->fullscreenModeSet.connect([this](bool state){fullscreenModeSet(state);});
#endif
}
webView->getRotation.disconnect(boost::bind(&WebEngineService::_getRotation, this));
webView->unsecureConnection.disconnect(boost::bind(&WebEngineService::_unsecureConnection, this));
webView->findOnPage.disconnect(boost::bind(&WebEngineService::_findOnPage, this, _1));
+ webView->fullscreenModeSet.disconnect_all_slots();
#endif
}
auto self = static_cast<WebView*>(data);
self->m_fullscreen = true;
+ self->fullscreenModeSet(self->m_fullscreen);
}
void WebView::__fullscreen_exit_cb(void *data, Evas_Object*, void*) {
auto self = static_cast<WebView*>(data);
self->m_fullscreen = false;
+ self->fullscreenModeSet(self->m_fullscreen);
}
#endif
boost::signals2::signal<void (const std::string&, const std::string&)> redirectedWebPage;
boost::signals2::signal<void()> unsecureConnection;
+ boost::signals2::signal<void(bool)> fullscreenModeSet;
protected:
std::string getRedirectedURL() {return m_redirectedURL;};
, m_WebPageUIvisible(false)
#if PROFILE_MOBILE && GESTURE
, m_gestureLayer(nullptr)
+#endif
+#if PROFILE_MOBILE
, m_uriBarHidden(false)
+ , m_fullscreen(false)
#endif
{
BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
qaOrientationChanged();
}
}
+
+void WebPageUI::fullscreenModeSet(bool state)
+{
+ BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
+ auto landscape = isLandscape();
+ m_fullscreen = state;
+ if (!state)
+ elm_object_signal_emit(m_mainLayout, "show_uri_bar", "ui");
+ else if (landscape && state) {
+ (*landscape) ?
+ elm_object_signal_emit(m_mainLayout, "hide_uri_bar_landscape", "ui") :
+ elm_object_signal_emit(m_mainLayout, "hide_uri_bar_vertical", "ui");
+ }
+}
#endif
void WebPageUI::createLayout()
void createDummyButton();
#if PROFILE_MOBILE
virtual void orientationChanged() override;
+ void fullscreenModeSet(bool state);
#endif
void loadStarted();
void progressChanged(double progress);
#if PROFILE_MOBILE && GESTURE
Evas_Object* m_gestureLayer;
- bool m_uriBarHidden;
static const int SINGLE_FINGER = 1;
static const int SWIPE_MOMENTUM_TRESHOLD = 400;
#endif
+#if PROFILE_MOBILE
+ bool m_uriBarHidden;
+ bool m_fullscreen;
+#endif
};
description {
state: "hidden_vertical" 0.0;
inherit: "default" 0.0;
- rel1 {relative: 0.0 -URI_BG_HEIGHT/1228; to:"bg";}
+ rel1 {relative: 0.0 -2*URI_BG_HEIGHT/1228; to:"bg";}
}
description {
state: "hidden_landscape" 0.0;
inherit: "default" 0.0;
- rel1 {relative: 0.0 -URI_BG_HEIGHT/668; to:"bg";}
+ rel1 {relative: 0.0 -2*URI_BG_HEIGHT/668; to:"bg";}
}
}
ADD_SPACER_OVER("left_spacer", "uri_bar_bg", 16, URI_BG_HEIGHT)