0.84: Category filter: Deselecting doesn't deselect children
Moderators: XnTriq, helmut, xnview, Dreamer
0.84: Category filter: Deselecting doesn't deselect children
XnView: MP 0.84
OS: Windows - 32 bit
When selecting multiple categories using "Ctrl" key and selecting an unexpanded category with children and deselecting it, again, the children remain checked.
Effect: Confusing/Unexpected behaviour
To reproduce:
1. Start XnView
2. In XnView browser open the Category filter.
3. Select a category with left mouse click.
4. Select a second, unexpanded category with child categories by clicking on it with Ctrl + mouse click.
5. Deselect the second category by clicking on it with Ctrl + Mouse click for a second time.
6. Open the second, unexpanded category by clicking on the "+" symbol.
Actual behaviour (bug): All children of the category are still selected
Expected behaviour: When deselecting a unexpanded parent category, all children should be deselected, too.
OS: Windows - 32 bit
When selecting multiple categories using "Ctrl" key and selecting an unexpanded category with children and deselecting it, again, the children remain checked.
Effect: Confusing/Unexpected behaviour
To reproduce:
1. Start XnView
2. In XnView browser open the Category filter.
3. Select a category with left mouse click.
4. Select a second, unexpanded category with child categories by clicking on it with Ctrl + mouse click.
5. Deselect the second category by clicking on it with Ctrl + Mouse click for a second time.
6. Open the second, unexpanded category by clicking on the "+" symbol.
Actual behaviour (bug): All children of the category are still selected
Expected behaviour: When deselecting a unexpanded parent category, all children should be deselected, too.
Re: 0.84: Category filter: Deselecting doesn't deselect chil
in Lightroom, we have not this behaviorhelmut wrote:Expected behaviour: When deselecting a unexpanded parent category, all children should be deselected, too.
Pierre.
Re: 0.84: Category filter: Deselecting doesn't deselect chil
The wrong behavior is when also the children are selected for an unexpanded category.
From my little experience (we have a suite of programs in which we have used from many years extensively the multi-select tree of keywords for searching/filtering) the best thing for the users is:
When one clicks on an item toggle the selection of the said item ONLY.
Provide as a right-click menu option the followings:
- Select all children
- Deselect all children
- Toggle all children
The above are quite powerful and usually can be done with the same piece of code (same iterator) - the only change needed is, of course, the actual action which is oCrtNode.Checked = True - or - oCrtNode.Checked = False - or - oCrtNode.Checked = not oCrtNode.Checked .
Something like this.
This is a distinctive feature from Lr which can be a very powerful one, mitigating the need of freezing the tree structure by saving in the file/sidecar the entire path of keywords - for example : Europe | France | Paris. With the feature above we can be much more flexible and faster.
From my little experience (we have a suite of programs in which we have used from many years extensively the multi-select tree of keywords for searching/filtering) the best thing for the users is:
When one clicks on an item toggle the selection of the said item ONLY.
Provide as a right-click menu option the followings:
- Select all children
- Deselect all children
- Toggle all children
The above are quite powerful and usually can be done with the same piece of code (same iterator) - the only change needed is, of course, the actual action which is oCrtNode.Checked = True - or - oCrtNode.Checked = False - or - oCrtNode.Checked = not oCrtNode.Checked .
Something like this.
This is a distinctive feature from Lr which can be a very powerful one, mitigating the need of freezing the tree structure by saving in the file/sidecar the entire path of keywords - for example : Europe | France | Paris. With the feature above we can be much more flexible and faster.
m. Th.
- Dark Themed XnViewMP 1.6 64bit on Win11 x64 -
- Dark Themed XnViewMP 1.6 64bit on Win11 x64 -
Re: 0.84: Category filter: Deselecting doesn't deselect chil
Are you really sure? I can't believe that this should be the way Lightroom behaves.xnview wrote:in Lightroom, we have not this behaviorhelmut wrote:Expected behaviour: When deselecting a unexpanded parent category, all children should be deselected, too.
No, selecting both the category and its unexpanded children isn't a problem. It turns into a problem only if deselecting a category with unexpanded children doesn't deselect the children also. Then, selection and deselection is no longer symmetric and behaviour is really unexpected and wrong.m.Th. wrote:The wrong behavior is when also the children are selected for an unexpanded category. ...
Re: 0.84: Category filter: Deselecting doesn't deselect chil
So....No, selecting both the category and its unexpanded children isn't a problem.
...the vast majority of DAM hierarchies (imposed mainly by Lightroom but not only - see IDImager/PhotoSupreme etc.) have some big roots like:
Code: Select all
Places
Europe
Romania
Transylvania
Sibiu
City Hall
Main Cathedral
The Theatre
...
Brasov
City Hall
...
Oradea
...
Moldavia
Iasi
Vaslui
Suceava
...
...
Greece
<regions / counties here>
<towns / places here>
<places of interest here>
...
...
People
Jobs
...
Positions
...
Names
...
Race/Sex
...
Events
<a gazillion of subdivisions>
...
Objects
<a bigger gazillion of subdivisions>
...
Besides that, there is a standard practice to use a root category for the least common-denominator category. For example I have a photo which depicts a landscape from Europe but I don't know or I simply don't want to record from where it is. Then simply I assign the category "Europe". One can find this practice many times in cataloging on various cases.
Hence there is a need to see the photos with the category "Europe" and ONLY this one (iow NON-recursively). The natural way is to click on it. When we click in any program (including XnView MP ) on C:\My Pictures it shows us ONLY the pictures from that folder (NON recursive). It needs a decisive, separate action ("Show all files (recursive)" or "Search") in order to achieve the behavior which you describe.
It is not standard to have selected also the children for displaying purposes (filtering).
m. Th.
- Dark Themed XnViewMP 1.6 64bit on Win11 x64 -
- Dark Themed XnViewMP 1.6 64bit on Win11 x64 -
Re: 0.84: Category filter: Deselecting doesn't deselect chil
Let's summarize things:m.Th. wrote:... It is not standard to have selected also the children for displaying purposes (filtering).
• When selecting a category, its child categories must be never be selected (regardless whether the children are expanded or not).
• When deselecting a category, its child categories must never be deslected (regardless whether the chidlren are expaned or not).
• It could be a useful to have a way to select and deselect a category including all its children, e.g. by using Ctrl + Mouse click. If you (m.Th.) also think that this would be useful please create a new post in "Suggestions".
Is my summary correct, m.Th.?
Re: 0.84: Category filter: Deselecting doesn't deselect chil
Correct.helmut wrote:Let's summarize things:m.Th. wrote:... It is not standard to have selected also the children for displaying purposes (filtering).
• When selecting a category, its child categories must be never be selected (regardless whether the children are expanded or not).
• When deselecting a category, its child categories must never be deslected (regardless whether the chidlren are expaned or not).
• It could be a useful to have a way to select and deselect a category including all its children, e.g. by using Ctrl + Mouse click. If you (m.Th.) also think that this would be useful please create a new post in "Suggestions".
Is my summary correct, m.Th.?
The suggestion is here: http://newsgroup.xnview.com/viewtopic.php?f=60&t=34875
(copy/pasted from a post above ITT)
m. Th.
- Dark Themed XnViewMP 1.6 64bit on Win11 x64 -
- Dark Themed XnViewMP 1.6 64bit on Win11 x64 -
Re: 0.84: Category filter: Deselecting doesn't deselect chil
Good! Thank you for writing up a suggestion.m.Th. wrote:Correct.
Re: 0.84: Category filter: Deselecting doesn't deselect chil
Additionally, if you deselect the parent it actually selects all the children, even the ones that weren't selected.
1) Expand a category, then select another one, then select (with ctrl) the expanded category
2) Deselect a couple of the children, as if you wanted most but not all of them, hence selecting the parent (to select them all) then deselecting the ones you don't want
3) Deselect the parent, which causes ALL of the children to be selected. Regardless of how you feel selection of children should behave, this is definitely not right behavior in any definition
4) Go back to step 1 and select the expanded category THEN select another one (with ctrl). Now the children aren't selected, so you get entirely different results despite doing essentially the same thing (just in a different order).
I do see the failure to deselect the children as a problem, especially since if the parent isn't expanded you wouldn't even know it and would likely assume they're deselected. But I also agree that deselecting them all automatically when deselecting the parent could be bad, because you could spend a while selecting which ones you want then lose it all by accidentally clicking on the parent. Then again, you would just as easily lose all that work and more by accidentally clicking anywhere without holding ctrl, so there has to be some level of "if you're not careful you're going to screw yourself." This is why checkboxes are useful. With a checkbox next to each item, you would just check item one, then check item two (the non-expanded parent), then uncheck the children you don't want (which would make the checkmark next to the parent something else to indicate not everything under it is checked, like a grayed-out check or something), and unchecking the parent would uncheck all children.
See attached image for example:
1) Expand a category, then select another one, then select (with ctrl) the expanded category
2) Deselect a couple of the children, as if you wanted most but not all of them, hence selecting the parent (to select them all) then deselecting the ones you don't want
3) Deselect the parent, which causes ALL of the children to be selected. Regardless of how you feel selection of children should behave, this is definitely not right behavior in any definition
4) Go back to step 1 and select the expanded category THEN select another one (with ctrl). Now the children aren't selected, so you get entirely different results despite doing essentially the same thing (just in a different order).
I do see the failure to deselect the children as a problem, especially since if the parent isn't expanded you wouldn't even know it and would likely assume they're deselected. But I also agree that deselecting them all automatically when deselecting the parent could be bad, because you could spend a while selecting which ones you want then lose it all by accidentally clicking on the parent. Then again, you would just as easily lose all that work and more by accidentally clicking anywhere without holding ctrl, so there has to be some level of "if you're not careful you're going to screw yourself." This is why checkboxes are useful. With a checkbox next to each item, you would just check item one, then check item two (the non-expanded parent), then uncheck the children you don't want (which would make the checkmark next to the parent something else to indicate not everything under it is checked, like a grayed-out check or something), and unchecking the parent would uncheck all children.
See attached image for example:
- Attachments
-
- MultiStateDemo.gif (11.5 KiB) Viewed 1908 times
Re: 0.84: Category filter: Deselecting doesn't deselect chil
Thank you for checking, vertigo.
The bug has been reproduce and solution is described. Reproduced
The bug has been reproduce and solution is described. Reproduced
Re: 0.84: Category filter: Deselecting doesn't deselect chil
If this would be true, this would means in your example than we cannot see the photos with the patriarch John (the root) alone but only if we see also the photos with Chuck, Melissa, Nancy, Peter, Chantal etc.and unchecking the parent would uncheck all children
the Patriarch John does NOT contain the „sub-folders” Chuck, Melissa etc.
They are different entities.
m. Th.
- Dark Themed XnViewMP 1.6 64bit on Win11 x64 -
- Dark Themed XnViewMP 1.6 64bit on Win11 x64 -
Re: 0.84: Category filter: Deselecting doesn't deselect chil
Chuck, Melissa, and Nancy are files under John and Peter is a folder under John, containing more folders and files. Maybe not the best example, but if we imagine the files are pictures (say, of their kids), then to view just John's kids' pictures we could either select them individually or we could select the checkbox for folder 'John' and deselect the checkboxes next to each folder inside the 'John' folder. In the example, the pictures of Chuck, Melissa, Nancy, Paul, Donna, and Eric are selected, and Pascal, Rutger, and Charlotte are not (and some in the bottom folders are selected as well). Clicking on the checkbox next to 'Chantal' would uncheck that and all folders and files under it (Paul, Donna, and Eric here). Clicking on the checkbox next to Peter (the top one) would initially check all items under it then uncheck them when clicking it a second time, or vice versa. That's how every checkbox tree structure I've used has worked. As I said, this can certainly be a problem if you have it all set up like below then accidentally click the checkbox next to 'The Family' or 'John' or any others really, but the only way around that is to have a potentially annoying dialog box pop up every time and ask if you're sure you meant to click there. But at least with checkboxes it makes it more clear what's going on and it removes the possibility of clearing all your selections by clicking empty space. Maybe a way to prevent accidentally clicking a box and screwing yourself would be to require clicking twice or even double-clicking. This would probably be best as an option, though, as it might bother some people and it certainly would cause people to think it wasn't working correctly if they didn't know it was intended behavior.
Re: 0.84: Category filter: Deselecting doesn't deselect chil
so we can close this topic?helmut wrote:Good! Thank you for writing up a suggestion.m.Th. wrote:Correct.
Pierre.
Re: 0.84: Category filter: Deselecting doesn't deselect chil
No, current behaviour is wrong. XnView should behave like this:xnview wrote:... so we can close this topic?
In addition, m.Th. has added a suggestion for selecting children but that is not a bug but a suggestion.helmut wrote:Let's summarize things:
• When selecting a category, its child categories must be never be selected (regardless whether the children are expanded or not).
• When deselecting a category, its child categories must never be deslected (regardless whether the chidlren are expaned or not). ...
Re: 0.84: Category filter: Deselecting doesn't deselect chil
but it's already like thathelmut wrote:No, current behaviour is wrong. XnView should behave like this:xnview wrote:... so we can close this topic?In addition, m.Th. has added a suggestion for selecting children but that is not a bug but a suggestion.helmut wrote:Let's summarize things:
• When selecting a category, its child categories must be never be selected (regardless whether the children are expanded or not).
• When deselecting a category, its child categories must never be deslected (regardless whether the chidlren are expaned or not). ...
Pierre.