Bug 60318

Summary: KMenuEdit displays misleading 'copy' indicator on Ctrl-Drag
Product: [Applications] kmenuedit Reporter: cbiffle
Component: generalAssignee: Unassigned bugs mailing-list <unassigned-bugs>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description cbiffle 2003-06-24 18:58:50 UTC
Version:            (using KDE KDE 3.1.2)
Installed from:    Compiled From Sources
Compiler:          gcc 3.3 from portage 
OS:          Linux

[ This should really be in KMenuEdit's bugs, but it wasn't offered as one of the options.  Strange. ]

Dragging an icon to a new position in the menu tree in kmenuedit moves the icon, as it should be.  However, Ctrl-Dragging changes the mouse cursor to the 'copy' drag indicator, but it still moves the icon.

The expected behavior should be one of the following:
1. Display the copy indicator and copy the icon.
2. Do not display the copy indicator, and continue moving the icon as we do currently.
Comment 1 Waldo Bastian 2003-07-09 13:16:36 UTC
Subject: KDE_3_1_BRANCH: kdebase/kmenuedit

CVS commit by waba: 

CCMAIL: 60318-done@bugs.kde.org
Don't show copy indicator with Ctrl-Drag as long as we don't support copying.
(BR60318)


  M +10 -0     treeview.cpp   1.50.2.4
  M +3 -2      treeview.h   1.19.2.1


--- kdebase/kmenuedit/treeview.cpp  #1.50.2.3:1.50.2.4
@@ -741,4 +741,14 @@ void TreeView::slotDropped (QDropEvent *
 }
 
+void TreeView::startDrag()
+{
+  QDragObject *drag = dragObject();
+  
+  if (!drag)
+     return;
+            
+  drag->dragMove();
+}                  
+
 QDragObject *TreeView::dragObject()
 {

--- kdebase/kmenuedit/treeview.h  #1.19:1.19.2.1
@@ -113,6 +113,7 @@ protected:
     QStringList dirList(const QString& relativePath);
 
-    bool acceptDrag(QDropEvent* event) const;
-    QDragObject *dragObject();
+    virtual bool acceptDrag(QDropEvent* event) const;
+    virtual QDragObject *dragObject();
+    virtual void startDrag();
 
 private: