Hi Guillermo,
really cool, thanks.
I have few remarks bit here is the more important one for now (I'm very
busy, i will give you more feedbacks later)
The problem of your implementation is that the declaration of kmappings
are all centralized in KMToolsDefaultSettings
and that you introduce a dependency between tools and keymappings.
Imagine i've my tool and I want to declare a key mapping for it, then I
have to change KMToolsDefaultSetting class.
If my package for my tool is removed, then, again KMToolsDefaultSetting
must be changed.
I think the key mappings should be declared by tool packages
independently as it is for settings
without any dependency with the Keymapping package.
I would integrate more the declaration with the system settings
I give only a possible declaration here:
--------------
ToolSetKeyMapping class>>keyMappingsOn: aBuilder
<systemsettings>
...
with: [
(aBuilder shortcut: #openClassBrowser)
target: ToolSet;
default: 'alt t, alt b';
description: 'Open the class browser' translated.
(aBuilder shortcut: #openMonticelloBrowser)
target: ToolSet;
default: 'alt t, alt m';
description: 'Open Monticello' translated]
---------------
Then, SettingTreeBuilder could be improved in order to take into account
the #shortcut: message.
For the rest, I can help you /do with your help if you need :)
Thanks again.
Alain
Le 03/02/2011 03:46, Guillermo Polito a écrit :
Hi!
I refactored a little widget Keymappings had to use it into Settings.
See screenshots attached.
The main idea is to "type" the shortcut once the widget has focus.
After that, doing a secondary clic there is a context menu to accept,
clear or cancel the changes.
Actual version of Keymappings presents a shortcut for opening a
browser, a monticello browser and a test runner just to show how it
works. I expect that in no more than 2 weeks I'll have Editors
integration so we can configure the editor shortcuts :).
I would **REALLY LOVE** to have some feedback :).
Who wants to load actual version of Keymappings can evaluate:
Gofer it
squeaksource: 'Keymapping';
package: 'ConfigurationOfKeymapping';
load.
(ConfigurationOfKeymapping project version:'1.3') load.
Cheers,
Guille
PS: I've tested it only in Pharo 1.2 Core.