[Digikam-devel] [Bug 132841] tag filtering works only a the second click on the tag filter list
Gilles Caulier
caulier.gilles at free.fr
Mon Sep 25 15:35:31 BST 2006
------- 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=132841
caulier.gilles free fr changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Additional Comments From caulier.gilles free fr 2006-09-25 16:35 -------
SVN commit 588239 by mwiesweg:
Fix two subtle but annoying bugs in TagFilterView:
- all items are CheckBoxControllers.
Children-less controller items will enter the NoChange state after first click,
so a second click is necessary to make the filter take effect.
Set state to On directly in this case
- draw the checkbox three pixels to the right, as expected by Qt
CCMAIL: digikam-devel kde org
M +1 -1 folderitem.cpp
M +10 -0 tagfilterview.cpp
--- trunk/extragear/graphics/digikam/digikam/folderitem.cpp #588238:588239
@ -199,7 +199,7 @
(type() == QCheckListItem::CheckBoxController))
{
int boxsize = fv->style().pixelMetric(QStyle::PM_CheckListButtonSize, fv);
- int x = 0;
+ int x = 3;
int y = (height() - boxsize)/2 + margin;
r += boxsize + 4;
--- trunk/extragear/graphics/digikam/digikam/tagfilterview.cpp #588238:588239
@ -97,6 +97,16 @
{
QCheckListItem::stateChange(val);
+ // All TagFilterViewItems are CheckBoxControllers. If they have no children,
+ // they should be of type CheckBox, but that is not possible with our way of adding items.
+ // When clicked, children-less items first change to the NoChange state, and a second
+ // click is necessary to set them to On and make the filter take effect.
+ // So set them to On if the condition is met.
+ if (!firstChild() && state() == NoChange)
+ {
+ setState(On);
+ }
+
((TagFilterView*)listView())->triggerChange();
}
More information about the Digikam-devel
mailing list