diff options
| author | Jin Liu <[email protected]> | 2024-02-17 11:14:46 +0000 |
|---|---|---|
| committer | Jin Liu <[email protected]> | 2024-02-17 11:14:46 +0000 |
| commit | c9c3531c0b6da07de8f90761a3d799ace62f8e89 (patch) | |
| tree | e03fa5263d491c31cabf3cad429adf2297f768d2 /src/dolphintabwidget.cpp | |
| parent | cda139ccab2c78ac71a9f2aad286cbe1ace46734 (diff) | |
Improve DnD handling in read-only dirs
1. Places panel and tabbar update drag status in read-only dir
2. Don't create drop job in readonly directories
Diffstat (limited to 'src/dolphintabwidget.cpp')
| -rw-r--r-- | src/dolphintabwidget.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/dolphintabwidget.cpp b/src/dolphintabwidget.cpp index f274ffa2a..f80b94ea7 100644 --- a/src/dolphintabwidget.cpp +++ b/src/dolphintabwidget.cpp @@ -9,6 +9,7 @@ #include "dolphin_generalsettings.h" #include "dolphintabbar.h" #include "dolphinviewcontainer.h" +#include "views/draganddrophelper.h" #include <KAcceleratorManager> #include <KConfigGroup> @@ -33,6 +34,7 @@ DolphinTabWidget::DolphinTabWidget(DolphinNavigatorsWidgetAction *navigatorsWidg DolphinTabBar *tabBar = new DolphinTabBar(this); connect(tabBar, &DolphinTabBar::openNewActivatedTab, this, QOverload<int>::of(&DolphinTabWidget::openNewActivatedTab)); + connect(tabBar, &DolphinTabBar::tabDragMoveEvent, this, &DolphinTabWidget::tabDragMoveEvent); connect(tabBar, &DolphinTabBar::tabDropEvent, this, &DolphinTabWidget::tabDropEvent); connect(tabBar, &DolphinTabBar::tabDetachRequested, this, &DolphinTabWidget::detachTab); @@ -388,6 +390,14 @@ void DolphinTabWidget::openNewActivatedTab(int index) openNewActivatedTab(tabPage->activeViewContainer()->url()); } +void DolphinTabWidget::tabDragMoveEvent(int index, QDragMoveEvent *event) +{ + if (index >= 0) { + DolphinView *view = tabPageAt(index)->activeViewContainer()->view(); + DragAndDropHelper::updateDropAction(event, view->url()); + } +} + void DolphinTabWidget::tabDropEvent(int index, QDropEvent *event) { if (index >= 0) { |
