[seed] ClutterPad: Keyboard accelerators. Should be able to do these from GtkBuilder?
- From: Tim Horton <hortont src gnome org>
- To: svn-commits-list gnome org
- Subject: [seed] ClutterPad: Keyboard accelerators. Should be able to do these from GtkBuilder?
- Date: Wed, 13 May 2009 18:29:44 -0400 (EDT)
commit a63bd90e8422c6608f75ad1eccfd990f405873fc
Author: Tim Horton <hortont svn gnome org>
Date: Wed May 13 18:29:19 2009 -0400
ClutterPad: Keyboard accelerators. Should be able to do these from GtkBuilder?
---
examples/clutter-pad/main.js | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/examples/clutter-pad/main.js b/examples/clutter-pad/main.js
index 60ffdda..0382bb7 100755
--- a/examples/clutter-pad/main.js
+++ b/examples/clutter-pad/main.js
@@ -123,8 +123,6 @@ function select_example(selector, ud)
function execute_file(button)
{
- reset_stage();
-
try
{
error_buf.text = '';
@@ -133,6 +131,7 @@ function execute_file(button)
var slice = source_buf.get_slice(a, b);
if (slice == '')
{
+ reset_stage();
context.destroy();
context = new sandbox.Context();
context.add_globals();
@@ -149,6 +148,13 @@ function execute_file(button)
}
};
+function load_accelerator(action, accel)
+{
+ action.set_accel_group(accels);
+ actions.add_action_with_accel(action, accel);
+ action.connect_accelerator();
+}
+
var current_filename = "";
var stage_manager = Clutter.StageManager.get_default();
var js_file_filter = new Gtk.FileFilter();
@@ -159,8 +165,11 @@ var js_lang = source_lang_mgr.get_language("js");
var ui = new Gtk.Builder();
ui.add_from_file("clutter-pad.ui");
+var actions = new Gtk.ActionGroup({name: "toolbar"});
+var accels = new Gtk.AccelGroup();
var window = ui.get_object("window");
window.signal.hide.connect(Gtk.main_quit);
+window.add_accel_group(accels);
var clutter = ui.get_object("clutter");
var stage = clutter.get_stage();
@@ -171,6 +180,11 @@ var source_buf = new GtkSource.SourceBuffer({language: js_lang});
populate_example_selector(ui.get_object("example_selector"));
+load_accelerator(ui.get_object("new_action"), null);
+load_accelerator(ui.get_object("open_action"), null);
+load_accelerator(ui.get_object("save_action"), null);
+load_accelerator(ui.get_object("execute_action"), "<Ctrl>r");
+
ui.get_object("new_action").signal.activate.connect(new_file);
ui.get_object("open_action").signal.activate.connect(open_file);
ui.get_object("save_action").signal.activate.connect(save_file);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]