[Digikam-devel] extragear/graphics/digikam/digikam

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] extragear/graphics/digikam/digikam

Marcel Wiesweg
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: [hidden email]


 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();
     }
 
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] extragear/graphics/digikam/digikam

Gilles Caulier-2
Marcel,

This commit fix this B.K.O file:

http://bugs.kde.org/show_bug.cgi?id=132841

Gilles


On Monday 25 September 2006 14:10, Marcel Wiesweg wrote:

> 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: [hidden email]
>
>
>  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();
>      }
>
> _______________________________________________
> Digikam-devel mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-devel
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: [Digikam-devel] extragear/graphics/digikam/digikam

Gilles Caulier-2
On Monday 25 September 2006 14:13, Gilles Caulier(UNTRUSTED, sender is
<digikam-devel-bounces-+caulier.gilles=[hidden email]>) wrote:
> This commit fix this B.K.O file:
>
> http://bugs.kde.org/show_bug.cgi?id=132841

yes. tested indeep. file closed.

Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel