[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