View Issue Details

IDProjectCategoryView StatusLast Update
0000827MediaMonkey 5Generalpublic2021-03-01 15:13
Reporterrusty Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status newResolutionopen 
Product Version5.0 
Target Version5.1 
Summary0000827: Add folders logic is flawed: cannot add directory without subdir
DescriptionThe tree in the 'Add Folders' dialog has a slightly flawed implementation that results in it being impossible to:
a) add a directory without adding its subdirectories.
b) add a subdirectory and only a subset of its subdirectories

To correct this when subdirectories are unchecked, the parent directories shouldn't be automatically unchecked/greyed out.

A similar problem is that when a folder has just one subfolder, checking the subfolder also checks the parent folder.
Additional InformationSee: http://www.songs-db.com/forum/viewtopic.php?t=761&view=previous
0006853 includes more details as well
And: #1262
TagsNo tags attached.
Fixed in build

Relationships

related to 0006147 closedLudek MediaMonkey 5 Add/Rescan: Can't add only subfolder if there is only one 
has duplicate 0006853 closedrusty MediaMonkey (current) 1304 Add/Rescan uncheck only child folder does parent [----] 
has duplicate 0017610 resolvedLudek MediaMonkey 5 Add/Rescan: File Monitor Exclude folders 
related to 0000176 assignedjiri MediaMonkey (current) 'Add files' scans for D: and E: even if they're explicity _not_ selected 

Activities

jiri

2004-03-10 14:54

administrator   ~0003343

A question re. how should the tree selection work: Let's say there's fodler A with subfolders B1-B10. 'A' is checked and so are its subfolders (automatically). Then B3 is unchecked. What will happen to B1-B10 if A is unchecked now? What will happend if A is checked again then?

I found an easy solution that also doesn't have any of such selection problems, maybe we could use it: The whole tree would remain as is, only each folder (after it's expanded) would have one special subitem for scanning that folder. E.g.:
[ ] A
  [ ] scan A
  [ ] B1
  ....
  [ ] B10
In this scheme when A is checked, all subitems can be checked too, but also they can be individually unchecked then (which would bring that grayed checked box to 'A', but not necessarily to 'scan A').

rusty

2004-03-10 15:23

administrator   ~0003344

In the example you give:
-When B3 in unchecked, A-->Semi-checked (to indicate that it is selected, but not all of its children are)
-When A is clicked again, it is unchecked-->All children are unchecked
-When A is clicked again, it is rechecked-->All children are checked

i.e. the mode of operation is that
-checking a node --> It is selected, its children are all selected, no effect on parents
-unchecking a node --> It is unselected, its children are unselected, any parent node that was selected is changed to 'partially selected' to indicate that not all children are included

Re. your suggestion, I think that it would end up being quite a messy tree (similar to the current 'All' nodes that permeate the Library/Locations tree). A similar but less messy approach could be to have 2 columns of checkboxes, one for the folder and one for children. But I think that even this is a bit too complicated.

rusty

2004-03-10 17:44

administrator   ~0003351

per IM discussion, we agreed that the following mode of operation would be simplest:

When the user checks a node, it goes through the following cycle: checked=Selection + Selection of Children , partial check = Selection of folder but not necessarily of Children, no check = No selection of folder or of children

Thus:
-checking a node --> It is selected, its children are all selected, no effect on parents
-checking a node partially --> It is partially selected (meaning it will be scanned), but its children are not, and its parents/grandparents/greatgranparents, if previously selected, change from Selected to Partially selected.
-unchecking a node --> It is unselected, its children are unselected, any parent/grandparent/greatgrandparent node that was selected is changed to 'partially selected' to indicate that not all children are included

We also discussed that this is not critical to 2.2. Leaving as 'Immediate' in case we have time...

rusty

2004-03-16 16:10

administrator   ~0003429

push22

Ludek

2009-11-25 21:02

developer   ~0019773

Last edited: 2009-11-26 11:59

I think that the most reasonable (and user expected) way would be in the scenario:

[ ] A
  [ ] B1
  ....
  [ ] B10

- checking A also checks all B1..B10 (like current behaviour)
- unchecking B1..B10 _doesn't_ uncheck A (unlike current behaviour)

this way anyone can check every folder exclusively

jiri

2010-12-28 10:38

administrator   ~0022141

I think that this makes sense. We just need to represent internally, whether all children are checked or not. In order to not make it more complicated than a string we could implement it as e.g. '?' path prefix would mean that folder only and '*' would mean this folder and subfolders.

rusty

2011-05-30 04:45

administrator   ~0025755

Last edited: 2011-05-30 17:28

View 2 revisions

As pointed out here: http://www.mediamonkey.com/forum/viewtopic.php?f=6&t=56730, this bug is now worse because originally it was a problem with the scanning logic, but now it extends to the file monitor.

Is a quick fix possible?

jiri

2011-05-30 06:34

administrator   ~0025756

I wouldn't say that there's now any worse scenario, it's just that File Monitor and ordinary scanning are mixed in one dialog. We can discuss in more details over IM, but I'd say that different behavior is only a matter of personal preference.

rusty

2011-05-30 18:07

administrator   ~0025768

OK. Following IM discussion we agreed that the bug described here (failure to ignore deselected folders from one-time scan operations) is a bug, but that it is really independent from the fact that the File Monitor doesn't support deselection of subfolders.

Should we wish to allow the File Monitor to be configured to disabled subfolders, the UI would have to be reworked significantly so that either:
a) It allows 2 configurations per folder (on for scan now, and one for file monitoring), however, this is kind of complicated.
b) It switches to a more picasa-like UI that only allows for one selection per folder (Scan Now, Don't Scan/Remove, Scan Always, Scan Always + on Startup). This facilitates File Monitor exceptions, but on the other hand results in a loss in the ability to scan Files on one time basis.
i.e. it's unclear whether we should resolve the issue raised in comment 25755.

Ludek

2016-07-14 13:06

developer   ~0045154

0000827:0019773 is fixed in MM5 as #13413

peke

2020-02-14 02:36

developer   ~0056665

Currently I find this working rather well.

For example I Select playlist for a sync that contains sub playlists and if I add new subplaylist without going to Device profile to check that playlist it is auto synced to device.

NOTE: if not all sub playlists are checked for syncing new playlist doesn't gets selected

I think this bug should be resolved as fixed in MM5?

rusty

2020-02-14 04:45

administrator   ~0056672

This isn't a sync bug. The bug is that adding a directory for scanning is always recursive--there's no way to add just a parent directory without its children.

I doubt that we'll ever fix it though.

peke

2020-02-14 19:42

developer   ~0056693

I asked my daughter (9y) today to try create device profile and how she perceive it should work.

There is one simple behavior she explained to me with very reasonable logic and this is (Translated from her explanation):
Case one Tree collapsed:
If tree is collapsed and user switch Select Checked/partial/none behavior would be. All -> Include all subnodes, Partial -> Some sub nodes are selected (possible MM will keep previous selection till OK is pressed), None -> All subnodes gets deselected.
Case two Tree expanded:
If tree is Expended and user switch Select Checked/partial/none behavior would be. Checked-> no changes to subnodes (right click will select all subnodes), Partial -> reverse to previous previous selection Saved till OK is pressed), None -> no changes to subnodes (right click will deselect select all subnodes)

Id Root node is checked then Auto expand if there is mixed selection of subnodes/do not expand if all subnodes are selected, same applies for not selected root node, Partial selection of subnodes will have autoexpand that node.

rusty

2021-03-01 15:13

administrator   ~0062183

Note: at 0017610 a user gives another example of why this type of functionality is required: to prevent 'recycled' folders on a NAS from being scanned.