]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Dolphin reporting opened locations to activity manager
authorIvan Čukić <ivan.cukic@kde.org>
Fri, 10 Aug 2012 15:49:39 +0000 (17:49 +0200)
committerIvan Čukić <ivan.cukic@kde.org>
Wed, 15 Aug 2012 06:22:30 +0000 (08:22 +0200)
src/CMakeLists.txt
src/dolphinviewcontainer.cpp
src/dolphinviewcontainer.h

index 5c1a6dad58cb579ee85731d4bfa0ebe9a6a1bea4..2ab6e5e33c375e7f2c0ce77c2e586ac01d9c5d86 100644 (file)
@@ -233,6 +233,13 @@ if (Nepomuk_FOUND)
     )
 endif (Nepomuk_FOUND)
 
+if (KActivities_FOUND)
+    target_link_libraries(
+        kdeinit_dolphin
+        ${KACTIVITIES_LIBRARY}
+    )
+endif (KActivities_FOUND)
+
 install(TARGETS kdeinit_dolphin ${INSTALL_TARGETS_DEFAULT_ARGS})
 install(TARGETS dolphin ${INSTALL_TARGETS_DEFAULT_ARGS})
 
index 31c82d60699c29a830e5a0b9d1b8bf24a3afa7ae..8a566cffd601ab8bec16f534bcfef186b39d73e6 100644 (file)
 #include <KUrlNavigator>
 #include <KRun>
 
+#ifdef KActivities_FOUND
+#include <KActivities/ResourceInstance>
+#endif
+
 #include "dolphin_generalsettings.h"
 #include "filterbar/filterbar.h"
 #include "search/dolphinsearchbox.h"
@@ -64,6 +68,9 @@ DolphinViewContainer::DolphinViewContainer(const KUrl& url, QWidget* parent) :
     m_statusBarTimer(0),
     m_statusBarTimestamp(),
     m_autoGrabFocus(true)
+#ifdef KActivities_FOUND
+    , m_activityResourceInstance(0)
+#endif
 {
     hide();
 
@@ -157,6 +164,14 @@ DolphinViewContainer::DolphinViewContainer(const KUrl& url, QWidget* parent) :
     m_topLayout->addWidget(m_statusBar);
 
     setSearchModeEnabled(isSearchUrl(url));
+
+    // Initialize kactivities resource instance
+
+    #ifdef KActivities_FOUND
+    m_activityResourceInstance = new KActivities::ResourceInstance(
+            window()->winId(), url);
+    m_activityResourceInstance->setParent(this);
+    #endif
 }
 
 DolphinViewContainer::~DolphinViewContainer()
@@ -172,6 +187,14 @@ void DolphinViewContainer::setActive(bool active)
 {
     m_urlNavigator->setActive(active);
     m_view->setActive(active);
+
+    #ifdef KActivities_FOUND
+    if (active) {
+        m_activityResourceInstance->notifyFocusedIn();
+    } else {
+        m_activityResourceInstance->notifyFocusedOut();
+    }
+    #endif
 }
 
 bool DolphinViewContainer::isActive() const
@@ -338,6 +361,10 @@ void DolphinViewContainer::setUrl(const KUrl& newUrl)
     if (newUrl != m_urlNavigator->locationUrl()) {
         m_urlNavigator->setLocationUrl(newUrl);
     }
+
+    #ifdef KActivities_FOUND
+    m_activityResourceInstance->setUri(newUrl);
+    #endif
 }
 
 void DolphinViewContainer::setFilterBarVisible(bool visible)
index fd52806d95e4d1009bffca89ccc294480ddd9098..8a0309b0c4b8ea8a1464234260a09ddd4da0bffe 100644 (file)
 #include <QWidget>
 
 #include <views/dolphinview.h>
+#include <config-apps.h>
+
+#ifdef KActivities_FOUND
+namespace KActivities {
+    class ResourceInstance;
+}
+#endif
 
 class FilterBar;
 class KMessageWidget;
@@ -308,6 +315,11 @@ private:
     QTimer* m_statusBarTimer;            // Triggers a delayed update
     QElapsedTimer m_statusBarTimestamp;  // Time in ms since last update
     bool m_autoGrabFocus;
+
+#ifdef KActivities_FOUND
+private:
+    KActivities::ResourceInstance * m_activityResourceInstance;
+#endif
 };
 
 #endif // DOLPHINVIEWCONTAINER_H