diff options
Diffstat (limited to 'src/webtab/webtab.cpp')
-rw-r--r-- | src/webtab/webtab.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/webtab/webtab.cpp b/src/webtab/webtab.cpp index 00a3c819..7a3213b0 100644 --- a/src/webtab/webtab.cpp +++ b/src/webtab/webtab.cpp @@ -58,6 +58,10 @@ #include <KParts/Part> #include <KParts/BrowserExtension> +#ifdef HAVE_KACTIVITIES +#include <KActivities/ResourceInstance> +#endif + // Qt Includes #include <QVBoxLayout> #include <QPrintDialog> @@ -75,6 +79,9 @@ WebTab::WebTab(QWidget *parent, bool isPrivateBrowsing) , m_zoomFactor(10) , m_isPrivateBrowsing(isPrivateBrowsing) , m_splitter(new QSplitter(this)) +#ifdef HAVE_KACTIVITIES + , m_activityResourceInstance(0) +#endif { setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -122,6 +129,16 @@ WebTab::WebTab(QWidget *parent, bool isPrivateBrowsing) // Session Manager connect(view(), SIGNAL(loadFinished(bool)), SessionManager::self(), SLOT(saveSession())); + +#ifdef HAVE_KACTIVITIES + if (m_isPrivateBrowsing) + return; + + m_activityResourceInstance = new KActivities::ResourceInstance(window()->winId(), this); + + connect(this, SIGNAL(urlChanged(const QUrl &)), m_activityResourceInstance, SLOT(setUri(const QUrl &))); + connect(this, SIGNAL(titleChanged(const QString &)), m_activityResourceInstance, SLOT(setTitle(const QString &))); +#endif } @@ -482,3 +499,21 @@ void WebTab::toggleInspector(bool on) page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, on); } + + +void WebTab::focusIn() +{ + if (m_isPrivateBrowsing || !m_activityResourceInstance) + return; + + m_activityResourceInstance->notifyFocusedIn(); +} + + +void WebTab::focusOut() +{ + if (m_isPrivateBrowsing || !m_activityResourceInstance) + return; + + m_activityResourceInstance->notifyFocusedOut(); +} |