[Ann] Commander shortcuts in Settings Browser

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Ann] Commander shortcuts in Settings Browser

Denis Kudriashov
Hi.

With latest version of Commander and Calypso we will have all shortcuts explorable and configurable in Settings Browser:



Currently it uses command class name and class comment for presentation. We can improve it in future if necessary.
In addition you can add single shortcut to your own application settings. For example:

MyApp class>>appSettingsOn: aBuilder
    <systemsettings>

    ann := ClySpawnFullBrowserCommand classAnnotationAt: #browserShortcutActivation.
    (ann buildSettingNodeOn: aBuilder)
       label: 'My app shortcut';
       description: 'This command opens browser'

Shortcut settings are persisted as all other settings. Only redefined shortcuts are stored into the file.

This version also allows to add commands into the world menu and world shortcuts. Just use CmdWorldMenuContext for command annotations:

CmdOpenFamilyBookCommand class>>worldMenuActivation
  <classAnnotation>
  ^CmdContextMenuCommandActivation byRootGroupItemFor: CmdWorldMenuContext 

CmdOpenFamilyBookCommand class>>globalShortcutActivation
  <classAnnotation>
  ^CmdShortcutCommandActivation by: $o meta, $f meta for: CmdWorldMenuContext 

(CmdOpenFamilyBookCommand is a command from Commander-Examples package).

Nice detail: all shortcuts are updated immediately when you modify annotations either from settings or programmatically from browser. 

Now pull request for Pharo 7 is waiting integration. Soon it will be inside.

Best regards,
Denis
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Commander shortcuts in Settings Browser

CyrilFerlicot
Le 06/03/2018 à 17:05, Denis Kudriashov a écrit :

> Hi.
>
> With latest version of Commander and Calypso we will have all shortcuts
> explorable and configurable in Settings Browser:
>
>
> ​
> Currently it uses command class name and class comment for presentation.
> We can improve it in future if necessary.
> In addition you can add single shortcut to your own application
> settings. For example:
>
>     MyApp class>>appSettingsOn: aBuilder
>         <systemsettings>
>
>
>         ann := ClySpawnFullBrowserCommand classAnnotationAt:
>     #browserShortcutActivation.
>
>         (ann buildSettingNodeOn: aBuilder)
>
>            label: 'My app shortcut';
>
>            description: 'This command opens browser'
>
>
> Shortcut settings are persisted as all other settings. Only redefined
> shortcuts are stored into the file.
>
> This version also allows to add commands into the world menu and world
> shortcuts. Just use CmdWorldMenuContext for command annotations:
>
>     CmdOpenFamilyBookCommand class>>worldMenuActivation
>       <classAnnotation>
>       ^CmdContextMenuCommandActivation byRootGroupItemFor:
>     CmdWorldMenuContext 
>
>
>     CmdOpenFamilyBookCommand class>>globalShortcutActivation
>       <classAnnotation>
>       ^CmdShortcutCommandActivation by: $o meta, $f meta for:
>     CmdWorldMenuContext 
>
> (CmdOpenFamilyBookCommand is a command from Commander-Examples package).
>
> Nice detail: all shortcuts are updated immediately when you modify
> annotations either from settings or programmatically from browser. 
>
> Now pull request for Pharo 7
> <https://github.com/pharo-project/pharo/pull/1037> is waiting
> integration. Soon it will be inside.
>
> Best regards,
> Denis
Hi!

This is really cool :)

Indeed, for the Pharo release it would be much much better to have a
titles instead of method selectors to display.

Also, maybe we could have a way to group shortcut settings. Because
latter if Commander is more used, we should have "Editor shortcuts",
"Debugger shortcuts", "Iceberg shortcuts"...

Thank you for the work!

--
Cyril Ferlicot
https://ferlicot.fr


signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Ann] Commander shortcuts in Settings Browser

Tudor Girba-2
In reply to this post by Denis Kudriashov
Nice work!

Doru


> On Mar 6, 2018, at 5:05 PM, Denis Kudriashov <[hidden email]> wrote:
>
> Hi.
>
> With latest version of Commander and Calypso we will have all shortcuts explorable and configurable in Settings Browser:
>
> <ShortcutsSettingsBrowser.png>
> ​
> Currently it uses command class name and class comment for presentation. We can improve it in future if necessary.
> In addition you can add single shortcut to your own application settings. For example:
>
> MyApp class>>appSettingsOn: aBuilder
>     <systemsettings>
>
>     ann := ClySpawnFullBrowserCommand classAnnotationAt: #browserShortcutActivation.
>     (ann buildSettingNodeOn: aBuilder)
>        label: 'My app shortcut';
>        description: 'This command opens browser'
>
> Shortcut settings are persisted as all other settings. Only redefined shortcuts are stored into the file.
>
> This version also allows to add commands into the world menu and world shortcuts. Just use CmdWorldMenuContext for command annotations:
>
> CmdOpenFamilyBookCommand class>>worldMenuActivation
>     <classAnnotation>
>     ^CmdContextMenuCommandActivation byRootGroupItemFor: CmdWorldMenuContext
>
> CmdOpenFamilyBookCommand class>>globalShortcutActivation
>     <classAnnotation>
>     ^CmdShortcutCommandActivation by: $o meta, $f meta for: CmdWorldMenuContext
>
> (CmdOpenFamilyBookCommand is a command from Commander-Examples package).
>
> Nice detail: all shortcuts are updated immediately when you modify annotations either from settings or programmatically from browser.
>
> Now pull request for Pharo 7 is waiting integration. Soon it will be inside.
>
> Best regards,
> Denis

--
www.tudorgirba.com
www.feenk.com

"When people care, great things can happen."