diff options
author | Michael Meeks <michael.meeks@novell.com> | 2010-04-15 03:56:30 +0800 |
---|---|---|
committer | Michael Meeks <michael.meeks@novell.com> | 2010-04-15 03:56:30 +0800 |
commit | 9b90e087b0c216cbc802663f4c8dc06068f235bb (patch) | |
tree | b69b0a70c0ec273bcddf1a08854f1cbbb1c4cab5 | |
parent | 46cf8be3f3bb9f2287f60f847873288d91b7abeb (diff) | |
download | gsoc2013-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
-rw-r--r-- | shell/e-shell-view.c | 14 | ||||
-rw-r--r-- | shell/e-shell-window-actions.c | 7 | ||||
-rw-r--r-- | shell/e-shell-window.c | 17 |
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; } |