From ab0669e0de01cc500132df2036414c25f8f9cf7e Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Fri, 22 Jun 2012 23:22:51 +0000 Subject: [PATCH] Improved embedded mode (keyboard shortcuts) --- tools/helper.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/tools/helper.c b/tools/helper.c index 37f6220..4e9916e 100644 --- a/tools/helper.c +++ b/tools/helper.c @@ -74,6 +74,7 @@ static int _helper_open_devel(Helper * helper, char const * package); static int _usage(void); /* callbacks */ +static gboolean _helper_on_close(gpointer data); static gboolean _helper_on_closex(gpointer data); #ifndef EMBEDDED static void _helper_on_file_close(gpointer data); @@ -100,6 +101,15 @@ static char const * _authors[] = }; #endif +#ifdef EMBEDDED +static const DesktopAccel _helper_accel[] = +{ + { G_CALLBACK(_helper_on_close), GDK_CONTROL_MASK, GDK_KEY_W }, + { G_CALLBACK(_helper_on_open), GDK_CONTROL_MASK, GDK_KEY_O }, + { NULL, 0, 0 } +}; +#endif + #ifndef EMBEDDED static const DesktopMenu _menu_file[] = { @@ -168,6 +178,8 @@ static Helper * _helper_new(void) helper->menubar = desktop_menubar_create(_helper_menubar, helper, group); gtk_box_pack_start(GTK_BOX(vbox), helper->menubar, FALSE, TRUE, 0); +#else + desktop_accel_create(_helper_accel, helper, group); #endif /* toolbar */ widget = gtk_toolbar_new(); @@ -304,13 +316,22 @@ static int _helper_open_man(Helper * helper, int section, char const * page) /* callbacks */ -/* helper_on_closex */ -static gboolean _helper_on_closex(gpointer data) +/* helper_on_close */ +static gboolean _helper_on_close(gpointer data) { Helper * helper = data; gtk_widget_hide(helper->window); gtk_main_quit(); +} + + +/* helper_on_closex */ +static gboolean _helper_on_closex(gpointer data) +{ + Helper * helper = data; + + _helper_on_close(helper); return TRUE; }