[Digikam-devel] [Bug 115157] digikam usability: Image comments/tags dialog: hard to find/see all already selected tags (and to 'de'select them)
Gilles Caulier
caulier.gilles at kdemail.net
Wed Feb 7 21:00:47 GMT 2007
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=115157
------- Additional Comments From caulier.gilles kdemail net 2007-02-07 22:00 -------
SVN commit 631371 by cgilles:
digikam from trunk : patch from Arnd Baecker to solve assigned tags view problem
CCBUGS: 115157
M +43 -1 imagedescedittab.cpp
--- trunk/extragear/graphics/digikam/libs/imageproperties/imagedescedittab.cpp #631370:631371
@ -2,7 +2,7 @
* Authors: Renchi Raju <renchi pooh tam uiuc edu>
* Caulier Gilles <caulier dot gilles at kdemail dot net>
* Marcel Wiesweg <marcel.wiesweg gmx de>
- * Date : 2003-03-09
+ * Date : 2003-03-09
* Description : Comments, Tags, and Rating properties editor
*
* Copyright 2003-2005 by Renchi Raju & Gilles Caulier
@ -1466,6 +1466,48 @
++it;
}
+ // correct visibilities afterwards:
+ // As QListViewItem::setVisible works recursively on all it's children
+ // we have to correct this
+ if (t)
+ {
+ it = d->tagsView;
+ while (it.current())
+ {
+ TAlbumCheckListItem* item = dynamic_cast<TAlbumCheckListItem*>(it.current());
+ TAlbum *tag = item->m_album;
+ if (tag)
+ {
+ if (!tag->isRoot())
+ {
+ // only if the current item is not marked as tagged, check all children
+ if (!item->isOn())
+ {
+ bool somethingIsSet = false;
+ QListViewItem* nextSibling = (*it)->nextSibling();
+ QListViewItemIterator tmpIt = it;
+ ++tmpIt;
+ while (*tmpIt != nextSibling )
+ {
+ TAlbumCheckListItem* tmpItem = dynamic_cast<TAlbumCheckListItem*>(tmpIt.current());
+ TAlbum *tmpTag = tmpItem->m_album;
+ if(tmpItem->isOn())
+ {
+ somethingIsSet = true;
+ }
+ ++tmpIt;
+ }
+ if (!somethingIsSet)
+ {
+ item->setVisible(false);
+ }
+ }
+ }
+ }
+ ++it;
+ }
+ }
+
TAlbum *root = AlbumManager::instance()->findTAlbum(0);
TAlbumCheckListItem *rootItem = (TAlbumCheckListItem*)(root->extraData(this));
if (rootItem)
More information about the Digikam-devel
mailing list