mirror of
https://invent.kde.org/system/dolphin
synced 2024-07-04 17:30:55 +00:00
Select child folder when navigating to a parent folder
Whenever the dolphin view is initialized to show the contents of a new URL (e.g. "/home/x/test") it will be checked if the new URL is a parent of the previous displayed URL (e.g. "/home/x/test/documents/aaa"). If the check is successful, then the common child (in this example: "/home/x/test/documents/") folder item will be selected and scrolled into view. REVIEW: 123253 BUG: 377392 CCBUG: 335616
This commit is contained in:
parent
49396318f0
commit
3749b55527
|
@ -8,7 +8,7 @@ set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATI
|
|||
project(Dolphin VERSION ${KDE_APPLICATIONS_VERSION})
|
||||
|
||||
set(QT_MIN_VERSION "5.5.0")
|
||||
set(KF5_MIN_VERSION "5.30.0")
|
||||
set(KF5_MIN_VERSION "5.37.0")
|
||||
set(ECM_MIN_VERSION "1.6.0")
|
||||
|
||||
# ECM setup
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include <QTimer>
|
||||
#include <QMimeData>
|
||||
#include <QVBoxLayout>
|
||||
#include <QLoggingCategory>
|
||||
|
||||
#include <KFileItemActions>
|
||||
#include <KFilePlacesModel>
|
||||
|
@ -41,6 +42,7 @@
|
|||
#endif
|
||||
|
||||
#include "global.h"
|
||||
#include "dolphindebug.h"
|
||||
#include "dolphin_generalsettings.h"
|
||||
#include "filterbar/filterbar.h"
|
||||
#include "search/dolphinsearchbox.h"
|
||||
|
@ -134,6 +136,8 @@ 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, this, [=](const QUrl &destination, QDropEvent *event) {
|
||||
|
@ -600,6 +604,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);
|
||||
|
|
|
@ -256,6 +256,11 @@ private slots:
|
|||
*/
|
||||
void slotUrlNavigatorLocationChanged(const QUrl& url);
|
||||
|
||||
/**
|
||||
* @see KUrlNavigator::urlSelectionRequested
|
||||
*/
|
||||
void slotUrlSelectionRequested(const QUrl& url);
|
||||
|
||||
/**
|
||||
* Is invoked when a redirection is done and changes the
|
||||
* URL of the URL navigator to \a newUrl without triggering
|
||||
|
|
Loading…
Reference in New Issue
Block a user