1

Somehow I've lost some functionality in Kate and Kwrite which I've employed frequently.

In the past, as recently as a couple hours ago, I could select some text and drag-and-drop it elsewhere. If the CRTL key was held, it copied the selection rather than moving it.

I have not changed any system setting, nor any config options for Kate and/or Kwrite recently.

I am certain I managed to hit some key combination which turned off this feature, though I'm lost as to what that might have been.

As a test, just in case it was related to an update, I rolled both editors back to ver 18.12.3 to no effect. Including after a complete power-cycle to be sure memory was cleared.

Any ideas of how I managed to turn off this feature, and how to restore it?

Potentially pertinent system info:

Distro: openSUSE Leap 15.1
Kernel: 4.12.14-lp151.28.20-default
Plasmashell: 5.17.0
KDE Frameworks: 5.63.0
QT: 5.13.1
Kate: 19.08.2
Kwrite: 19.08.2
KatePart: 5.63.0

After some experiments I have found I can get the drag-drop-copy functionality by using a middle-drag. Perhaps knowing that will help to determine what was changed to remove the prior method.

I've not had the spare time to make any changes in my keyboard/desktop settings, intentionally anyway. I have reviewed the recent updates and nothing seems like it should have affected the libraries involved in either the desktop, or the editors.

While I have a work-around, I'd still prefer that I could use the CTRL drag to which I've become accustomed, and which still works in Dolphin.

1 Answer 1

2

Mistake while porting to newer Qt API. We managed to find the cause and there is also possible fix.

See: https://bugs.kde.org/show_bug.cgi?id=413848

Fix:

This would fix it for me:

diff --git a/src/view/kateviewinternal.cpp b/src/view/kateviewinternal.cpp
index 51e1efc7..b7922eb2 100644
--- a/src/view/kateviewinternal.cpp
+++ b/src/view/kateviewinternal.cpp
@@ -3232,7 +3232,7 @@ void KateViewInternal::doDrag()
     QMimeData *mimeData = new QMimeData();
     mimeData->setText(view()->selectionText());
     m_dragInfo.dragObject->setMimeData(mimeData);
-    m_dragInfo.dragObject->exec(Qt::MoveAction);
+    m_dragInfo.dragObject->exec(Qt::MoveAction | Qt::CopyAction);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.