X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/042b0c84099c062847fa2ed46a145624a96f90ca..f16fbcba4e9ed3cd48cb2c1a40c01daf1d511f4b:/src/dolphinviewcontainer.cpp diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index 72ced931b..6c5edc13f 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -18,45 +18,46 @@ ***************************************************************************/ #include "dolphinviewcontainer.h" -#include -#include -#include -#include -#include +#include "dolphin_generalsettings.h" +#include "dolphindebug.h" +#include "filterbar/filterbar.h" +#include "global.h" +#include "search/dolphinsearchbox.h" +#include "statusbar/dolphinstatusbar.h" +#include "trash/dolphintrash.h" +#include "views/viewmodecontroller.h" +#include "views/viewproperties.h" #include #include -#include #include +#include #include +#include +#include #include -#include #include #include -#include - -#ifdef KActivities_FOUND -#endif +#include -#include "global.h" -#include "dolphin_generalsettings.h" -#include "filterbar/filterbar.h" -#include "search/dolphinsearchbox.h" -#include "statusbar/dolphinstatusbar.h" -#include "views/viewmodecontroller.h" -#include "views/viewproperties.h" +#include +#include +#include +#include +#include +#include DolphinViewContainer::DolphinViewContainer(const QUrl& url, QWidget* parent) : QWidget(parent), - m_topLayout(0), - m_urlNavigator(0), - m_searchBox(0), - m_messageWidget(0), - m_view(0), - m_filterBar(0), - m_statusBar(0), - m_statusBarTimer(0), + m_topLayout(nullptr), + m_urlNavigator(nullptr), + m_searchBox(nullptr), + m_messageWidget(nullptr), + m_view(nullptr), + m_filterBar(nullptr), + m_statusBar(nullptr), + m_statusBarTimer(nullptr), m_statusBarTimestamp(), m_autoGrabFocus(true) #ifdef KActivities_FOUND @@ -133,10 +134,18 @@ DolphinViewContainer::DolphinViewContainer(const QUrl& url, QWidget* parent) : this, &DolphinViewContainer::slotUrlNavigatorLocationAboutToBeChanged); connect(m_urlNavigator, &KUrlNavigator::urlChanged, this, &DolphinViewContainer::slotUrlNavigatorLocationChanged); + connect(m_urlNavigator, &KUrlNavigator::urlSelectionRequested, + this, &DolphinViewContainer::slotUrlSelectionRequested); connect(m_urlNavigator, &KUrlNavigator::returnPressed, this, &DolphinViewContainer::slotReturnPressed); - connect(m_urlNavigator, &KUrlNavigator::urlsDropped, - m_view, &DolphinView::dropUrls); + connect(m_urlNavigator, &KUrlNavigator::urlsDropped, this, [=](const QUrl &destination, QDropEvent *event) { +#if KIO_VERSION >= QT_VERSION_CHECK(5, 37, 0) + m_view->dropUrls(destination, event, m_urlNavigator->dropWidget()); +#else + // TODO: remove as soon as we can hard-depend of KF5 >= 5.37 + m_view->dropUrls(destination, event, m_view); +#endif + }); // Initialize status bar m_statusBar = new DolphinStatusBar(this); @@ -234,6 +243,11 @@ bool DolphinViewContainer::autoGrabFocus() const return m_autoGrabFocus; } +QString DolphinViewContainer::currentSearchText() const +{ + return m_searchBox->text(); +} + const DolphinStatusBar* DolphinViewContainer::statusBar() const { return m_statusBar; @@ -351,7 +365,7 @@ QString DolphinViewContainer::placesText() const QString text; if (isSearchModeEnabled()) { - text = m_searchBox->searchPath().fileName() + QLatin1String(": ") + m_searchBox->text(); + text = i18n("Search for %1 in %2", m_searchBox->text(), m_searchBox->searchPath().fileName()); } else { text = url().fileName(); if (text.isEmpty()) { @@ -593,6 +607,13 @@ void DolphinViewContainer::slotUrlNavigatorLocationChanged(const QUrl& url) } } +void DolphinViewContainer::slotUrlSelectionRequested(const QUrl& url) +{ + qCDebug(DolphinDebug) << "slotUrlSelectionRequested: " << url; + m_view->markUrlsAsSelected({url}); + m_view->markUrlAsCurrent(url); // makes the item scroll into view +} + void DolphinViewContainer::redirect(const QUrl& oldUrl, const QUrl& newUrl) { Q_UNUSED(oldUrl);