petermad wrote:Actually wherever TC uses a sub-dialog for configuration, an OK in the sub-dialog saves the setting, without having to press OK in the Main config dialog - all except the Choose command dialog - so actually this is the inconsistent setting.
Sorry, you did not convince me. Almost all the dialogs you mentioned (with one exception, details go below) do exactly what they are supposed to do.
1) Define colors by file type: For instance, you define a file type color, then press OK in color selection dialog and thus confirm your choice of the color. No more, no less. Now you see the new type with the color you selected — but the new coloring entry itself is not saved until you press OK in another dialog, the one controlling the colorizing file types themselves.
Summary: In the "Choose color" dialog you're choosing the color, so when you press OK the color is chosen. In the "Define colors by file type" dialog you edit the set of coloring rules, so when you press OK there the set of rules is saved.
2) Custom columns: You press New/Edit thus opening a dialog for editing the specific set of columns. So when you press OK you confirm what you edited — which is the columns set, and therefore it's saved.
…
n) Configure hotkeys: You open "Choose command" dialog, press OK — this confirms your choosing of the command, again, no more, no less. The command is chosen now, but what for? Hotkey, buttobar element, EM-command, Start menu? Whatever it is, it's controlled by the underlying dialog, the one from which you called the "Choose command" dialog. Now it shows you the selected command — because you confirmed your choice of the command — but you did not yet confirm the binding of this command to whatever you are trying to edit. This confirmation is performed by pressing OK in the corresponding dialog, or (in case of hotkeys/aliases) by pressing a dedicated button with green checkmark.
So, as I see it, everything goes in accordance to the same, common UI concept.
The only exception from this rule is the "Configure WCX Plugins" dialog (and "File Associations" dialog as well, since they are actually the same): when you select an extension and modify a path of the plugin/program, then change the extension, TC asks whether you should save your change. That's against the rule I described above (and I find this a very poor design, by the way), but at least TC warns the user explicitly and suggests to save the change, so the modification will neither be lost, nor overlooked.
Theoretically, TC could do the same with hotkey configuration: you select a hotkey, then a command, then specify new hotkey — and TC would ask whether you wish to save or discard the previous hotkey assignment. Well, it would eliminate all my objections about possible problems and unintuitiveness of the interface, but such design looks just terrible to me. (I start to specify a new hotkey — suddenly a question appears, I have to switch my mind to the question, read&understand it, remember about the previous hotkey, make a desision, then switch my mind back to what I was going to do now, continue specifying the hotkey… It's bad with file extensions, and it would be bad with hotkeys.)
Another example of how this could be implemented without bothering my sense of beauty

is opening a separate, dedicated dialog for defining the whole hotkey. Just like custom columns, for example. So that there is some list of all redefined hotkeys, you press New — a dialog is opened where you enter the hotkey itself, the command (which is selected by pressing OK in "Choose command"), and then press OK in this imaginary dialog to confirm your hotkey assignment, which is saved immediately. This solution would be completely in accordance to the rules — but unfortunately less efficient than the current solution and quite uncomfortable for users because of many excessive dialogs and mouse clicks.