View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000827 | MMW 5 | General | public | 2003-10-29 16:14 | 2022-10-14 20:02 |
Reporter | rusty | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | new | Resolution | open | ||
Product Version | 5.0 | ||||
Target Version | 5.2 | ||||
Summary | 0000827: Add folders logic is flawed: cannot add directory without subdir | ||||
Description | The 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 Information | See: http://www.songs-db.com/forum/viewtopic.php?t=761&view=previous 0006853 includes more details as well And: #1262 https://www.mediamonkey.com/forum/viewtopic.php?f=30&t=100802 https://www.mediamonkey.com/forum/viewtopic.php?t=99839 | ||||
Tags | No tags attached. | ||||
Fixed in build | |||||
related to | 0006147 | closed | Ludek | MMW 5 | Add/Rescan: Can't add only subfolder if there is only one |
has duplicate | 0006853 | closed | rusty | MMW v4 | 1304 Add/Rescan uncheck only child folder does parent [----] |
has duplicate | 0017610 | resolved | Ludek | MMW 5 | Add/Rescan: File Monitor Exclude folders |
related to | 0000176 | assigned | jiri | MMW v4 | 'Add files' scans for D: and E: even if they're explicity _not_ selected |
|
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'). |
|
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. |
|
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... |
|
push22 |
|
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 |
|
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. |
|
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? |
|
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. |
|
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. |
|
0000827:0019773 is fixed in MM5 as #13413 |
|
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? |
|
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. |
|
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. |
|
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. |