X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/e9463ffe2ac110193cac4c25fcba887249f52b3c..e348bc58267b3dc06f2fc044f9e5ce5a5dfcd087:/src/dolphinviewcontainer.cpp diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index 31c82d606..6e99437d9 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -44,6 +44,10 @@ #include #include +#ifdef KActivities_FOUND +#include +#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(); @@ -104,6 +111,7 @@ DolphinViewContainer::DolphinViewContainer(const KUrl& url, QWidget* parent) : connect(m_view, SIGNAL(redirection(KUrl,KUrl)), this, SLOT(redirect(KUrl,KUrl))); connect(m_view, SIGNAL(directoryLoadingStarted()), this, SLOT(slotDirectoryLoadingStarted())); connect(m_view, SIGNAL(directoryLoadingCompleted()), this, SLOT(slotDirectoryLoadingCompleted())); + connect(m_view, SIGNAL(directoryLoadingCanceled()), this, SLOT(slotDirectoryLoadingCanceled())); connect(m_view, SIGNAL(itemCountChanged()), this, SLOT(delayedStatusBarUpdate())); connect(m_view, SIGNAL(directoryLoadingProgress(int)), this, SLOT(updateDirectoryLoadingProgress(int))); connect(m_view, SIGNAL(directorySortingProgress(int)), this, SLOT(updateDirectorySortingProgress(int))); @@ -157,6 +165,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 +188,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 +362,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) @@ -424,6 +452,16 @@ void DolphinViewContainer::slotDirectoryLoadingCompleted() } } +void DolphinViewContainer::slotDirectoryLoadingCanceled() +{ + if (!m_statusBar->progressText().isEmpty()) { + m_statusBar->setProgressText(QString()); + m_statusBar->setProgress(100); + } + + showErrorMessage("Directory loading has been canceled."); +} + void DolphinViewContainer::slotUrlIsFileError(const KUrl& url) { const KFileItem item(KFileItem::Unknown, KFileItem::Unknown, url);