┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphintabwidget.cpp
diff options
context:
space:
mode:
authorJin Liu <[email protected]>2024-02-17 11:14:46 +0000
committerJin Liu <[email protected]>2024-02-17 11:14:46 +0000
commitc9c3531c0b6da07de8f90761a3d799ace62f8e89 (patch)
treee03fa5263d491c31cabf3cad429adf2297f768d2 /src/dolphintabwidget.cpp
parentcda139ccab2c78ac71a9f2aad286cbe1ace46734 (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.cpp10
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) {