Bug 88121

Summary: tag sometimes does not accept drop of photo(s), or reports wrong tag name to drop to
Product: [Applications] digikam Reporter: Wilbert Berendsen <wbsoft>
Component: Tags-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 0.7.0   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In: 7.6.0

Description Wilbert Berendsen 2004-08-26 13:13:32 UTC
Version:           0.7.0-cvs (using KDE 3.3.0, compiled sources)
Compiler:          gcc version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)
OS:                Linux (i686) release 2.6.8-gentoo

Today I updated CVS and noticed the dragable tags, great!

But since this version there also is a little regression: Sometimes, when I drag photo(s) to a tag to add that tag to that photo(s), the tag view does not accept the drop. Especially when the target tag is somewhere in the lower half of the tag view.

When I keep dragging and move the mouse somewhere higher in the tagview, the tagview suddenly starts to accept drops. But when I then drop the photo(s) onto the desired tags, a menu pops up with the wrong tagname! So then selecting the option "Add this tag to the dropped photos" would add the wrong tag to them.
Comment 1 Wilbert Berendsen 2004-08-26 13:15:01 UTC
I could add that sometimes folding and unfolding some tags help to work around the problem.
Comment 2 Joern Ahrens 2004-08-26 18:00:12 UTC
CVS commit by jahrens: 

fixed... Can you test it Wilbert?

CCMAIL: 88121-done@bugs.kde.org


  M +2 -1      albumfolderview.cpp   1.28


--- kdeextragear-3/digikam/digikam/albumfolderview.cpp  #1.27:1.28
@@ -1177,5 +1177,6 @@ void AlbumFolderView::contentsDragMoveEv
     // Do not allow an album to be dropped on it's child
     AlbumFolderItem *folderItem = dynamic_cast<AlbumFolderItem*>(dragItem_);
-    if (!folderItem || folderItem->album()->isAncestorOf(newDropTarget->album()))
+    if ((!TagItemsDrag::canDecode(event) && !AlbumItemsDrag::canDecode(event)) &&
+        (!folderItem || folderItem->album()->isAncestorOf(newDropTarget->album())))
     {
         event->ignore();


Comment 3 Wilbert Berendsen 2004-08-27 11:38:01 UTC
It seems to be fixed, thanks!