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.