[josm-dev] Commit access
Henry Loenwind
henry at loenwind.info
Sun Oct 5 22:18:09 BST 2008
Dirk Stöcker wrote:
> I applied some stuff and also #1622.
>
> Thought I'm not yet happy with it.
I've still got a TODO list for it, too.
> a) Please save keyboard configuration only if it differs from the defaults
> to allow later changes.
It a shortcut is at its default value it will be saved so the user can
be warned if it changes later. It will be re-computed on every startup,
the old binding will only be used to see if a warning should be shown or
not.
> b) Don't save automatic changes. These should be visible in shell to be
> fixable.
Same goes for the automatics.
> c) The list is not sorted in any way I find useful.
It's not sorted at all. Nor is it filtered. Nor do the column have
useful widths.
Also I forgot to have a temporary storage for the user's changes until
he pressed "OK". Atm all changes go "live" directly. However, that's all
on my TODO-list.
> d) The entries should use the same translation, as the menus.
Someone should look over the texts, I agree. I lost track here, becaus
ethey are so scattered through all files and not in a central location.
Maybe we should pull out the default values (via i18n), and just have
symbolic names in the source?
> e) I see elements in group edit, whereas they are in the tools menu.
EDIT is the group for keystrokes without modifiers. I haven't noticed
the name clash with the Edit menu before.
> f) I would reduce the list to:
> 1) menu (when applicable)
> 2) action (translated one, but otherwise unmodified)
> 3) shortcut
> Everything else should be internal.
Just to explain my groups:
NONE - No shortcut will be assigned by default, but the user may
override. The modifiers for this group can not be changed by the user.
EDIT - The single key A-Z commands we have to dirctly manipulate (edit)
data.
DIRECT - non-A-Z keys without modifiers. The only difference ot EDIT is,
that these are in a different group, so when a user changes the EDIT
group, these will not automatically move, too. The modifiers for this
group can not be changed by the user.
LAYER (named subwindow in the GUI because I realized the naming was bad)
- all actions to toggle the subwindows (sayers, properties, relation,
command stack...). However, they collide with the MNEMONICS, now that we
have collision handling (they also did before, but nobody noticed).
MNEMONICS - The menu mnemonics. I added this group late, when I noticed
that we actually set them and need a way to block the shortcuts from
being reused. The shortcuts themselves are in the list, so a user can
free Alt-F, Alt-E, Alt-T ... Alt-H if he wants. The single modifier for
this group can not be changed by the user. (On my TODO-list: make sure
the user cannot change the modifier on the shortcut itself, make sure
the user can only choose a letter that is part of the menu text.)
MENU - Everything JOSM puts into the menus. (Ctrl on Win, Command on Mac)
SHORTCUT - Everything else (not on menu, not a subwindow toggle, not a
direct edit command). Would be the same as MENU if we had Windows only.
But for systems with a 4th modifier key, I created the second group, so
we can distribute better there. (Ctrl on Win and Mac)
Then there are a couple of tricks, e.g. Upload and Download use the
first alternative modifiers of the MENU group, so Duplicate gets its Ctrl-D.
cu
Henry
More information about the josm-dev
mailing list