diff options
author | Dan Vrátil <dvratil@redhat.com> | 2011-05-05 21:57:48 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2011-05-05 22:26:38 +0800 |
commit | 8195647e9b92dc3928a66893e8ac1fba88019b66 (patch) | |
tree | cdeb82d3f965c295d99bd6395b4c8fc66b85afa8 /shell/e-shell-window-actions.c | |
parent | 19a9f3474019e83d51f2baee6537f5c71a208a2a (diff) | |
download | gsoc2013-evolution-8195647e9b92dc3928a66893e8ac1fba88019b66.tar.gz gsoc2013-evolution-8195647e9b92dc3928a66893e8ac1fba88019b66.tar.zst gsoc2013-evolution-8195647e9b92dc3928a66893e8ac1fba88019b66.zip |
Bug 332497 - Add Edit -> Available Categories
Opens a window to manage categories without having to edit a contact or
appointment. Not available in the Mail shell view since it doesn't use
categories.
Diffstat (limited to 'shell/e-shell-window-actions.c')
-rw-r--r-- | shell/e-shell-window-actions.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/shell/e-shell-window-actions.c b/shell/e-shell-window-actions.c index 928cab79c3..60792ba5b6 100644 --- a/shell/e-shell-window-actions.c +++ b/shell/e-shell-window-actions.c @@ -27,6 +27,7 @@ #include <gal-define-views-dialog.h> #include <libedataserverui/e-passwords.h> +#include <libedataserverui/e-categories-editor.h> #define EVOLUTION_COPYRIGHT \ "Copyright \xC2\xA9 1999 - 2008 Novell, Inc. and Others" @@ -893,6 +894,42 @@ action_page_setup_cb (GtkAction *action, } /** + * E_SHELL_WINDOW_ACTION_CATEGORIES + * @window: and #EShellWindow + * + * Activation of this action opens the Categories Editor dialog. + * + * Main menu item: Edit -> Available categories + **/ +static void +action_categories_cb (GtkAction *action, + EShellWindow *shell_window) +{ + GtkWidget *content_area; + GtkWidget *dialog; + GtkWidget *editor; + + editor = e_categories_editor_new (); + e_categories_editor_set_entry_visible ( + E_CATEGORIES_EDITOR (editor), FALSE); + + dialog = gtk_dialog_new_with_buttons ( + _("Categories Editor"), + GTK_WINDOW (shell_window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL); + gtk_container_set_border_width (GTK_CONTAINER (dialog), 12); + content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); + gtk_box_pack_start ( + GTK_BOX (content_area), GTK_WIDGET (editor), TRUE, TRUE, 6); + gtk_box_set_spacing (GTK_BOX (content_area), 12); + + gtk_dialog_run (GTK_DIALOG (dialog)); + + gtk_widget_destroy (dialog); +} + +/** * E_SHELL_WINDOW_ACTION_PREFERENCES: * @window: an #EShellWindow * @@ -1482,6 +1519,13 @@ static GtkActionEntry shell_entries[] = { N_("Paste the clipboard"), NULL }, /* Handled by EFocusTracker */ + { "categories", + NULL, + N_("Available Cate_gories"), + NULL, + N_("Manage available categories"), + G_CALLBACK (action_categories_cb) }, + { "preferences", GTK_STOCK_PREFERENCES, NULL, |