|
I have a patch to fix these issues (and the first issue in Consider if the user has four files selected. On file 1 "album" is being added, on file 2 it's being removed, on file 3 it's being edited, and on file 4 it's not changing at all. Should the color yellow be used for the album tag as a generic way to indicate "changes exist across these files"? It sort of muddles the current meaning of that color, which indicates that an existing value is being edited to a new value. One more edge case would be: Two files are selected. In file 1 the "album" tag is being added, and in file 2 it's not changing at all. The new value will show "(different across 2 items)," but does it make sense to color it green even though it's only being added to one of the items? Or should yellow always be used to indicate that there are changes, but they don't apply to every file? I wouldn't call those "edge cases", really; they're pretty likely scenarios to be encountered by users. I think colors are appropriate when the same action is taking place (e.g. all tags have something added, all tags are removed, all are changed). Another color might be appropriate for anytime mixed action occurs (e.g. some added, some removed, some changed, etc.). I would exclude 'tag unchanged' from the color calculation. I think it's unnecessary and unrealistic for users to expect more granularity that that for color. The information doesn't seem useful enough to warrant the amount of work it would take to have dedicated colors for each permutation of add/remove/change – just one color to indicate multiple actions. (I'd suggest something kind of like #303060, because it's distinct from the others, and I like that color.)
I agree, and I even wanted to avoid having a separate color for when things are mixed. Red/green/yellow are fairly common indicators for changes in a UI, but if I saw #303060, my first thought would be "what does THAT mean?!" Wouldn't it make sense to just use the existing yellow/gold color when changes are mixed?
So in case 2 green should be used? I'm okay with that. Committed the changes in the previous comment in https://github.com/musicbrainz/picard/commit/5a2d849324b68276d70d9902c7148c43b6e9647f |
||||||||||||||||||||||||||||||||||||||||||||||||||||
Somewhat a side issue, but it's worth noting that the logic here for calculating all of these does not appear to scale well at all with large selections. Try selecting 10,000 files in order to then Scan, or something like that.
I think it should probably give up trying to render this view on the fly once you get to a particular selection size, as the results are probably useless, as well as extremely expensive to produce.