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.

Chindraba
  • 1,448
  • 1
  • 10
  • 22

1 Answers1

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);
RobotJohnny
  • 1,021
  • 8
  • 18
SGOrava
  • 36
  • 3