Bug 120075

Summary: can't restore system icons for tag
Product: [Applications] digikam Reporter: Maxime Delorme <maximedelorme>
Component: Tags-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 0.9.0
Sentry Crash Report:
Attachments: can't restore left as right panel

Description Maxime Delorme 2006-01-14 00:38:21 UTC
Version:           0.8.1 (using KDE KDE 3.5.0)
Installed from:    Ubuntu Packages

I can't restore system icons for tag when I choose a picture of my albums.
Look at the screenshot
I can't restore the amarok icons of test2 tag in the left panel as it was in the right panel
Comment 1 Maxime Delorme 2006-01-14 00:39:17 UTC
Created attachment 14245 [details]
can't restore left as right panel
Comment 2 caulier.gilles 2006-08-28 13:05:37 UTC
Maxime,

The problem still exist with digiKam 0.9.0 from svn trunk ?

Gilles
Comment 3 Maxime Delorme 2006-08-28 16:00:49 UTC
I've not tested 0.9 svn yet, I will try this evening
Comment 4 Maxime Delorme 2006-08-29 22:38:29 UTC
Yes with the version from http://kubuntu.omat.nl/dapper
Comment 5 Maxime Delorme 2006-08-29 22:50:21 UTC
step to reproduce it
- in albums view d&d on filter tag
- in tags view select previous tag, my pictures appears
- d&d on picture on tag of left panel and accept to set is as preview
- on right or left panel try to restore preview with on icon from the system
=> nothing happens in my case
Comment 6 caulier.gilles 2006-08-30 13:18:10 UTC
ok. I can reproduce it.

Gilles
Comment 7 Marcel Wiesweg 2006-08-30 19:22:54 UTC
SVN commit 578959 by mwiesweg:

- when setting the iconKDE string, reset the icon ID to 0, which has precedence
- set root item to "open" initially. (If items are added in TagFolderView,
  ensureItemVisible is called. TagFilterView has no root item. So this appeared only
  when creating the very first item from TagFilterView)

BUG: 120075, 120074


 M  +1 -1      albumdb.cpp  
 M  +2 -0      tagfolderview.cpp  


--- trunk/extragear/graphics/digikam/digikam/albumdb.cpp #578958:578959
@@ -503,7 +503,7 @@
 {
     if (!iconKDE.isEmpty())
     {
-        execSql( QString("UPDATE Tags SET iconkde='%1' WHERE id=%2;")
+        execSql( QString("UPDATE Tags SET iconkde='%1', icon=0 WHERE id=%2;")
                  .arg(escapeString(iconKDE), 
                       QString::number(tagID)));
     }
--- trunk/extragear/graphics/digikam/digikam/tagfolderview.cpp #578958:578959
@@ -173,6 +173,8 @@
     {
         item = new TagFolderViewItem(this, tag);
         tag->setExtraData(this, item);
+        // Toplevel tags are all children of root, and should always be visible - set root to open
+        item->setOpen(true);
     }
     else
     {