[evolution] Bug 332497 - Add Edit -> Available Categories



commit 8195647e9b92dc3928a66893e8ac1fba88019b66
Author: Dan Vrátil <dvratil redhat com>
Date:   Thu May 5 09:57:48 2011 -0400

    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.

 shell/e-shell-window-actions.c |   44 ++++++++++++++++++++++++++++++++++++++++
 ui/evolution-calendars.ui      |    3 ++
 ui/evolution-contacts.ui       |    3 ++
 ui/evolution-memos.ui          |    3 ++
 ui/evolution-tasks.ui          |    3 ++
 5 files changed, 56 insertions(+), 0 deletions(-)
---
diff --git a/shell/e-shell-window-actions.c b/shell/e-shell-window-actions.c
index 928cab7..60792ba 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,
diff --git a/ui/evolution-calendars.ui b/ui/evolution-calendars.ui
index 483446b..496971b 100644
--- a/ui/evolution-calendars.ui
+++ b/ui/evolution-calendars.ui
@@ -18,6 +18,9 @@
         <menuitem action='event-delete-occurrence-all'/>
         <menuitem action='calendar-delete'/>
       </placeholder>
+      <placeholder name='administrative-actions'>
+      	<menuitem action='categories'/>
+      </placeholder>
     </menu>
     <menu action='view-menu'>
       <menuitem action='calendar-go-today'/>
diff --git a/ui/evolution-contacts.ui b/ui/evolution-contacts.ui
index 763e43c..0e0716d 100644
--- a/ui/evolution-contacts.ui
+++ b/ui/evolution-contacts.ui
@@ -20,6 +20,9 @@
         <separator/>
         <menuitem action='contact-find'/>
       </placeholder>
+      <placeholder name='administrative-actions'>
+        <menuitem action='categories'/>
+      </placeholder>
     </menu>
     <menu action='view-menu'>
       <placeholder name='view-custom-menus'>
diff --git a/ui/evolution-memos.ui b/ui/evolution-memos.ui
index 54d173d..430a30e 100644
--- a/ui/evolution-memos.ui
+++ b/ui/evolution-memos.ui
@@ -16,6 +16,9 @@
         <separator/>
         <menuitem action='memo-find'/>
       </placeholder>
+      <placeholder name='administrative-actions'>
+        <menuitem action='categories'/>
+      </placeholder>
     </menu>
     <menu action='view-menu'>
       <placeholder name='view-custom-menus'>
diff --git a/ui/evolution-tasks.ui b/ui/evolution-tasks.ui
index 62d9f02..49631c2 100644
--- a/ui/evolution-tasks.ui
+++ b/ui/evolution-tasks.ui
@@ -19,6 +19,9 @@
         <menuitem action='task-mark-complete'/>
         <menuitem action='task-mark-incomplete'/>
       </placeholder>
+      <placeholder name='administrative-actions'>
+        <menuitem action='categories'/>
+      </placeholder>
     </menu>
     <menu action='view-menu'>
       <placeholder name='view-custom-menus'>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]