>From 4512be22b6ca9a67f343cec58359f4465bcf9461 Mon Sep 17 00:00:00 2001 From: Gwenael Casaccio
Date: Fri, 15 Nov 2013 12:28:11 +0100 Subject: [PATCH] Add KeySnooper handle the ctrl + . and flush the task queue. When the user presses the ctrl + . key the currrent process in the task queue is terminated, the task queue is stopped too and a new one is created. --- packages/visualgst/ChangeLog | 6 +++ packages/visualgst/GtkLauncher.st | 1 + packages/visualgst/Misc/KeySnooper.st | 92 +++++++++++++++++++++++++++++++++++ packages/visualgst/Misc/TaskQueue.st | 10 ++++ packages/visualgst/package.xml | 1 + 5 files changed, 110 insertions(+) create mode 100644 packages/visualgst/Misc/KeySnooper.st diff --git a/packages/visualgst/ChangeLog b/packages/visualgst/ChangeLog index f8d4fab..e6907d1 100644 --- a/packages/visualgst/ChangeLog +++ b/packages/visualgst/ChangeLog @@ -1,3 +1,9 @@ +2013-11-13 Gwenael Casaccio + + * GtkLauncher.st: Initialize KeySnooper. + * Misc/TaskQueue.st: Flush task queue. + * Misc/KeySnooper.st: Add key snooper and handle the ctrl + . shortcut + 2013-10-21 Gwenael Casaccio * Debugger/GtkDebugger.st: If stepping while the last context is not diff --git a/packages/visualgst/GtkLauncher.st b/packages/visualgst/GtkLauncher.st index 8b7de66..5383b34 100644 --- a/packages/visualgst/GtkLauncher.st +++ b/packages/visualgst/GtkLauncher.st @@ -299,6 +299,7 @@ GtkVisualGSTTool subclass: GtkLauncher [ imageName := File image asString. systemChangeNotifier := SystemChangeNotifier new. SystemChangeNotifier root add: systemChangeNotifier. + KeySnooper uniqueInstance. self clearGlobalState. super initialize. window maximize. diff --git a/packages/visualgst/Misc/KeySnooper.st b/packages/visualgst/Misc/KeySnooper.st new file mode 100644 index 0000000..1fa0d8f --- /dev/null +++ b/packages/visualgst/Misc/KeySnooper.st @@ -0,0 +1,92 @@ +"====================================================================== +| +| KeySnooper class definition +| +======================================================================" + +"====================================================================== +| +| Copyright (c) 2013 +| Gwenael Casaccio , +| +| +| This file is part of VisualGST. +| +| Permission is hereby granted, free of charge, to any person obtaining +| a copy of this software and associated documentation files (the +| 'Software'), to deal in the Software without restriction, including +| without limitation the rights to use, copy, modify, merge, publish, +| distribute, sublicense, and/or sell copies of the Software, and to +| permit persons to whom the Software is furnished to do so, subject to +| the following conditions: +| +| The above copyright notice and this permission notice shall be +| included in all copies or substantial portions of the Software. +| +| THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +| IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +| CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +| TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +| SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +| +======================================================================" + +Object subclass: KeySnooper [ + + KeySnooper class [ | uniqueInstance | ] + + KeySnooper class >> initialize [ +