As per discussion on #gnucash yesterday regarding the file-encoding disambiguation UI, I thought it might be useful to mockup the druid I was thinking about as we were talking. Feedback from Derek of a draft version, in-channel, spawned a couple of variations...
http://asynchronous.org/tmp/encoding-ui.html I'm concerned about the tedium of clicking through a lot of "Forward"s to deal with strings one at a time, so I'm assuming a batch/list interaction. If -- as we hope -- the vast majority of the strings need only a quick visual confirmation of correctness, then we should present them all at once to be, well, quickly confirmed. Also, entertaining the notion of being able to change the "default" or presumed coding, the user should be able to quickly see the effect of making that change, and thus should have some/many cases in front of them. As such, I think the druid can become a single dialog: at the top is the default/presumed value, with a default selection based on the locale, but modifiable by a knowledgeable user. A the bottom is the table of strings for review and/or fixup. The "progress bar" becomes the scroll bar through the table, and a single "Ok" at the end affects the changes. In any case, "two" and "three" are variations that have a more direct interaction between the user and the string.... in "two", without exposing the charset at all (the user just picks the correct string) and "three" being a hybrid. In "one" and "three", the expectation is that changing the coding at the top of the dialog would affect all non-user-modified values. [Note that while the string "Expenses" used here is in every row, this is only for mockup-creation copy-and-paste convenience; as per discussion today, only unique (sub-)strings would appear for review. Also, as Derek points out, in (probably) all the charsets we care about, ASCII is coded the same ... so we should be able to handle pure-ASCII strings trivially. As such, "Expenses" isn't a good example, but it's just a mockup ... imagine some other strings instead. :)] FWIW, "three" is my favorite: simple, single-screen, direct-selection but still is explicit about the charset used. -- ...jsled http://asynchronous.org/ - `a=jsled; b=asynchronous.org; echo [EMAIL PROTECTED] _______________________________________________ gnucash-devel mailing list [email protected] https://lists.gnucash.org/mailman/listinfo/gnucash-devel
