aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@novell.com>2010-04-15 03:56:30 +0800
committerMichael Meeks <michael.meeks@novell.com>2010-04-15 03:56:30 +0800
commit9b90e087b0c216cbc802663f4c8dc06068f235bb (patch)
treeb69b0a70c0ec273bcddf1a08854f1cbbb1c4cab5 /shell
parent46cf8be3f3bb9f2287f60f847873288d91b7abeb (diff)
downloadgsoc2013-evolution-9b90e087b0c216cbc802663f4c8dc06068f235bb.tar
gsoc2013-evolution-9b90e087b0c216cbc802663f4c8dc06068f235bb.tar.gz
gsoc2013-evolution-9b90e087b0c216cbc802663f4c8dc06068f235bb.tar.bz2
gsoc2013-evolution-9b90e087b0c216cbc802663f4c8dc06068f235bb.tar.lz
gsoc2013-evolution-9b90e087b0c216cbc802663f4c8dc06068f235bb.tar.xz
gsoc2013-evolution-9b90e087b0c216cbc802663f4c8dc06068f235bb.tar.zst
gsoc2013-evolution-9b90e087b0c216cbc802663f4c8dc06068f235bb.zip
add a close-window action that doesn't become insensitive on the last window.
Use this in meego / full-screen mode
Diffstat (limited to 'shell')
-rw-r--r--shell/e-shell-view.c14
-rw-r--r--shell/e-shell-window-actions.c7
-rw-r--r--shell/e-shell-window.c17
3 files changed, 21 insertions, 17 deletions
diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c
index 6cae11cb03..77215e73a2 100644
--- a/shell/e-shell-view.c
+++ b/shell/e-shell-view.c
@@ -659,6 +659,20 @@ shell_view_construct_searchbar (EShellView *shell_view)
gtk_toolbar_insert (GTK_TOOLBAR (main_toolbar), item, -1);
+ if (e_shell_get_small_screen_mode (shell)) {
+ GtkWidget *image;
+ GtkAction *action;
+ GtkToolItem *item;
+
+ action = e_shell_window_get_action (shell_window, "close-window");
+ image = gtk_image_new_from_icon_name ("window-close-hover",
+ GTK_ICON_SIZE_DIALOG);
+ item = gtk_tool_button_new (image, gtk_action_get_label (action));
+ gtk_widget_set_name (GTK_WIDGET (item), "MeeGoCloseButton");
+ gtk_activatable_set_related_action (GTK_ACTIVATABLE (item), action);
+ gtk_toolbar_insert (GTK_TOOLBAR (main_toolbar), item, -1);
+ }
+
return widget;
}
diff --git a/shell/e-shell-window-actions.c b/shell/e-shell-window-actions.c
index 9b14730c7b..288c4633cc 100644
--- a/shell/e-shell-window-actions.c
+++ b/shell/e-shell-window-actions.c
@@ -1446,6 +1446,13 @@ static GtkActionEntry shell_entries[] = {
N_("Close this window"),
G_CALLBACK (action_close_cb) },
+ { "close-window",
+ GTK_STOCK_CLOSE,
+ N_("_Close Window"),
+ "<Control>w",
+ N_("Close this window"),
+ G_CALLBACK (action_close_cb) },
+
{ "contents",
GTK_STOCK_HELP,
N_("_Contents"),
diff --git a/shell/e-shell-window.c b/shell/e-shell-window.c
index c135a76e8d..62c39fee37 100644
--- a/shell/e-shell-window.c
+++ b/shell/e-shell-window.c
@@ -409,23 +409,6 @@ shell_window_construct_toolbar (EShellWindow *shell_window)
gtk_toolbar_set_show_arrow (GTK_TOOLBAR (toolbar), FALSE);
gtk_box_pack_start (GTK_BOX (box), toolbar, FALSE, FALSE, 0);
- if (e_shell_get_meego_mode (shell_window->priv->shell) &&
- e_shell_get_small_screen_mode (shell_window->priv->shell)) {
- GtkWidget *close_button, *image;
-
- close_button = gtk_button_new ();
- gtk_widget_set_name (close_button, "MeeGoCloseButton");
- image = gtk_image_new_from_icon_name ("window-close-hover",
- GTK_ICON_SIZE_DIALOG);
- gtk_container_add (GTK_CONTAINER (close_button), image);
- gtk_activatable_set_related_action
- (GTK_ACTIVATABLE (close_button),
- gtk_action_group_get_action (ACTION_GROUP (SHELL),
- "close"));
- gtk_widget_show_all (close_button);
- gtk_box_pack_end (GTK_BOX (box), close_button, FALSE, FALSE, 0);
- }
-
return box;
}