Dolphin reporting opened locations to activity manager

This commit is contained in:
Ivan Čukić 2012-08-10 17:49:39 +02:00
parent 49664470eb
commit 54fd01a827
5 changed files with 60 additions and 0 deletions

View file

@ -12,6 +12,13 @@ find_package(ZLIB REQUIRED)
include (KDE4Defaults)
include (MacroLibrary)
find_package(KActivities)
macro_log_feature(KActivities_FOUND
"KActivities" "Interface library for the activity manager"
"http://projects.kde.org/kde/kdelibs/kactivities/" FALSE ""
"STRONGLY_RECOMMENDED: Needed for Dolphin integration with activities"
)
include(ConfigureChecks.cmake)
configure_file (config-apps.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-apps.h )
include_directories (${CMAKE_CURRENT_BINARY_DIR})
@ -20,6 +27,10 @@ add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS} -DDISABLE_NEPOMUK_LEGACY)
add_definitions (-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
include_directories (${CMAKE_CURRENT_SOURCE_DIR}/lib/konq ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})
if ( KActivities_FOUND )
include_directories (${KACTIVITIES_INCLUDE_DIR})
endif ( KActivities_FOUND )
add_subdirectory( lib )
add_subdirectory( dolphin )
add_subdirectory( kdialog )

View file

@ -66,6 +66,9 @@
/* Define to 1 if you have the `vsnprintf' function. */
#cmakedefine HAVE_VSNPRINTF 1
/* Define to 1 if you have the KActivities library. */
#cmakedefine KActivities_FOUND 1
/* Define to 1 if the QtDBus module is present. */
#cmakedefine QT_QTDBUS_FOUND 1

View 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})

View file

@ -44,6 +44,10 @@
#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)

View file

@ -31,6 +31,13 @@
#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