[anjal] Shortcut to close views.
- From: Srinivasa Ragavan <sragavan src gnome org>
- To: svn-commits-list gnome org
- Subject: [anjal] Shortcut to close views.
- Date: Mon, 27 Jul 2009 11:39:28 +0000 (UTC)
commit f95e9b595222615a88d5c270d89392d5e595f6e0
Author: Srinivasa Ragavan <sragavan novell com>
Date: Mon Jul 27 00:05:51 2009 +0530
Shortcut to close views.
src/mail-shell.c | 25 ++++++++++++++++++++++++-
src/mail-shell.h | 1 +
2 files changed, 25 insertions(+), 1 deletions(-)
---
diff --git a/src/mail-shell.c b/src/mail-shell.c
index 6bd7cfd..d3b5f7b 100644
--- a/src/mail-shell.c
+++ b/src/mail-shell.c
@@ -40,6 +40,7 @@
enum {
BACKSPACE_PRESSED,
SLASH_PRESSED,
+ CTRL_W_PRESSED,
LAST_SIGNAL
};
@@ -119,6 +120,16 @@ ms_backspace_pressed (MailShell *shell)
}
static void
+ms_ctrl_w_pressed (MailShell *shell)
+{
+ MailShellPrivate *priv = shell->priv;
+
+ gtk_widget_hide (priv->slider);
+ gtk_widget_show (shell->priv->folder_pane);
+ mail_view_close_view ((MailView *)shell->mail_component->mail_view);
+}
+
+static void
ms_slash_pressed (MailShell *shell)
{
MailShellPrivate *priv = shell->priv;
@@ -135,6 +146,7 @@ mail_shell_class_init (MailShellClass *klass)
mail_shell_parent_class = g_type_class_peek_parent (klass);
object_class->finalize = mail_shell_finalize;
klass->backspace_pressed = ms_backspace_pressed;
+ klass->ctrl_w_pressed = ms_ctrl_w_pressed;
klass->slash_pressed = ms_slash_pressed;
mail_shell_signals [BACKSPACE_PRESSED] =
@@ -145,8 +157,17 @@ mail_shell_class_init (MailShellClass *klass)
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+
+ mail_shell_signals [CTRL_W_PRESSED] =
+ g_signal_new ("ctrl_w_pressed",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET (MailShellClass, ctrl_w_pressed),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
- mail_shell_signals [BACKSPACE_PRESSED] =
+ mail_shell_signals [SLASH_PRESSED] =
g_signal_new ("slash_pressed",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
@@ -156,6 +177,8 @@ mail_shell_class_init (MailShellClass *klass)
G_TYPE_NONE, 0);
binding_set = gtk_binding_set_by_class (klass);
+ gtk_binding_entry_add_signal (binding_set, GDK_W, GDK_CONTROL_MASK, "ctrl_w_pressed", 0);
+ gtk_binding_entry_add_signal (binding_set, GDK_w, GDK_CONTROL_MASK, "ctrl_w_pressed", 0);
gtk_binding_entry_add_signal (binding_set, GDK_BackSpace, 0, "backspace_pressed", 0);
gtk_binding_entry_add_signal (binding_set, GDK_slash, 0, "slash_pressed", 0);
};
diff --git a/src/mail-shell.h b/src/mail-shell.h
index 34d0ce1..d7bd68a 100644
--- a/src/mail-shell.h
+++ b/src/mail-shell.h
@@ -47,6 +47,7 @@ typedef struct _MailShellClass {
GtkWindowClass parent_class;
void (* backspace_pressed) (MailShell *class);
+ void (* ctrl_w_pressed) (MailShell *class);
void (* slash_pressed) (MailShell *class);
} MailShellClass;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]