Changeset View
Changeset View
Standalone View
Standalone View
src/views/dolphinview.cpp
Show First 20 Lines • Show All 62 Lines • ▼ Show 20 Line(s) | |||||
63 | #include <QDropEvent> | 63 | #include <QDropEvent> | ||
64 | #include <QGraphicsSceneDragDropEvent> | 64 | #include <QGraphicsSceneDragDropEvent> | ||
65 | #include <QMenu> | 65 | #include <QMenu> | ||
66 | #include <QPixmapCache> | 66 | #include <QPixmapCache> | ||
67 | #include <QPointer> | 67 | #include <QPointer> | ||
68 | #include <QScrollBar> | 68 | #include <QScrollBar> | ||
69 | #include <QTimer> | 69 | #include <QTimer> | ||
70 | #include <QVBoxLayout> | 70 | #include <QVBoxLayout> | ||
71 | #include <utils/directoryfindchilditem.h> | ||||
71 | 72 | | |||
72 | DolphinView::DolphinView(const QUrl& url, QWidget* parent) : | 73 | DolphinView::DolphinView(const QUrl& url, QWidget* parent) : | ||
73 | QWidget(parent), | 74 | QWidget(parent), | ||
74 | m_active(true), | 75 | m_active(true), | ||
75 | m_tabsForFiles(false), | 76 | m_tabsForFiles(false), | ||
76 | m_assureVisibleCurrentIndex(false), | 77 | m_assureVisibleCurrentIndex(false), | ||
77 | m_isFolderWritable(true), | 78 | m_isFolderWritable(true), | ||
78 | m_dragging(false), | 79 | m_dragging(false), | ||
▲ Show 20 Lines • Show All 1248 Lines • ▼ Show 20 Line(s) | 1303 | if (item.isMimeTypeKnown()) { | |||
1327 | } | 1328 | } | ||
1328 | } | 1329 | } | ||
1329 | 1330 | | |||
1330 | return QUrl(); | 1331 | return QUrl(); | ||
1331 | } | 1332 | } | ||
1332 | 1333 | | |||
1333 | void DolphinView::observeCreatedItem(const QUrl& url) | 1334 | void DolphinView::observeCreatedItem(const QUrl& url) | ||
1334 | { | 1335 | { | ||
1335 | if (m_active) { | 1336 | if (!m_active) { | ||
1336 | forceUrlsSelection(url, {url}); | 1337 | return; | ||
1337 | } | 1338 | } | ||
1339 | | ||||
1340 | // In case url is located in a subdirectory, select its ancestor located in the current dir. | ||||
1341 | const QUrl ancestorName = directoryFindChildItem(m_model->directory().url(), url); | ||||
1342 | | ||||
1343 | forceUrlsSelection(ancestorName, {ancestorName}); | ||||
1338 | } | 1344 | } | ||
1339 | 1345 | | |||
1340 | void DolphinView::slotDirectoryRedirection(const QUrl& oldUrl, const QUrl& newUrl) | 1346 | void DolphinView::slotDirectoryRedirection(const QUrl& oldUrl, const QUrl& newUrl) | ||
1341 | { | 1347 | { | ||
1342 | if (oldUrl.matches(url(), QUrl::StripTrailingSlash)) { | 1348 | if (oldUrl.matches(url(), QUrl::StripTrailingSlash)) { | ||
1343 | emit redirection(oldUrl, newUrl); | 1349 | emit redirection(oldUrl, newUrl); | ||
1344 | m_url = newUrl; // #186947 | 1350 | m_url = newUrl; // #186947 | ||
1345 | } | 1351 | } | ||
▲ Show 20 Lines • Show All 456 Lines • ▼ Show 20 Line(s) | |||||
1802 | } | 1808 | } | ||
1803 | 1809 | | |||
1804 | void DolphinView::forceUrlsSelection(const QUrl& current, const QList<QUrl>& selected) | 1810 | void DolphinView::forceUrlsSelection(const QUrl& current, const QList<QUrl>& selected) | ||
1805 | { | 1811 | { | ||
1806 | clearSelection(); | 1812 | clearSelection(); | ||
1807 | m_clearSelectionBeforeSelectingNewItems = true; | 1813 | m_clearSelectionBeforeSelectingNewItems = true; | ||
1808 | markUrlAsCurrent(current); | 1814 | markUrlAsCurrent(current); | ||
1809 | markUrlsAsSelected(selected); | 1815 | markUrlsAsSelected(selected); | ||
1816 | updateViewState(); | ||||
1810 | } | 1817 | } |