[evolution] Bug #667119 - Hard to change Attendee role in meeting editor
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] Bug #667119 - Hard to change Attendee role in meeting editor
- Date: Tue, 10 Jan 2012 21:22:57 +0000 (UTC)
commit dd49067b2acfb72419f97a0348dc2524c3bbf56e
Author: Milan Crha <mcrha redhat com>
Date: Tue Jan 10 22:22:22 2012 +0100
Bug #667119 - Hard to change Attendee role in meeting editor
calendar/gui/e-meeting-list-view.c | 44 +++-
widgets/misc/Makefile.am | 4 -
widgets/misc/e-cell-renderer-combo.c | 202 ----------------
widgets/misc/e-cell-renderer-combo.h | 59 -----
widgets/misc/e-combo-cell-editable.c | 435 ----------------------------------
widgets/misc/e-combo-cell-editable.h | 68 ------
6 files changed, 35 insertions(+), 777 deletions(-)
---
diff --git a/calendar/gui/e-meeting-list-view.c b/calendar/gui/e-meeting-list-view.c
index c27697b..cd2e7fb 100644
--- a/calendar/gui/e-meeting-list-view.c
+++ b/calendar/gui/e-meeting-list-view.c
@@ -37,7 +37,6 @@
#include "calendar-config.h"
#include "e-meeting-list-view.h"
#include "itip-utils.h"
-#include <misc/e-cell-renderer-combo.h>
#include <libebook/e-destination.h>
#include "e-select-names-renderer.h"
@@ -557,6 +556,37 @@ editing_started_cb (GtkCellRenderer *renderer,
g_signal_connect (editable, "updated", G_CALLBACK(ense_update), NULL);
}
+static GtkCellRenderer *
+create_combo_cell_renderer (GList *strings)
+{
+ GList *li;
+ GtkTreeIter iter;
+ GtkListStore *store;
+ GtkCellRenderer *renderer;
+
+ store = gtk_list_store_new (1, G_TYPE_STRING);
+ for (li = strings; li; li = li->next) {
+ const gchar *str = li->data;
+
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set (store, &iter, 0, str, -1);
+ }
+
+ renderer = gtk_cell_renderer_combo_new ();
+
+ g_object_set (G_OBJECT (renderer),
+ "has-entry", FALSE,
+ "editable", TRUE,
+ "model", GTK_TREE_MODEL (store),
+ "text-column", 0,
+ NULL);
+
+ g_object_unref (store);
+ g_list_free (strings);
+
+ return renderer;
+}
+
static void
build_table (EMeetingListView *lview)
{
@@ -593,8 +623,7 @@ build_table (EMeetingListView *lview)
g_hash_table_insert (edit_table, GINT_TO_POINTER (E_MEETING_STORE_ATTENDEE_COL), renderer);
- renderer = e_cell_renderer_combo_new ();
- g_object_set (G_OBJECT (renderer), "list", get_type_strings (), "editable", TRUE, NULL);
+ renderer = create_combo_cell_renderer (get_type_strings ());
pos = gtk_tree_view_insert_column_with_attributes (view, -1, _("Type"), renderer,
"text", E_MEETING_STORE_TYPE_COL,
NULL);
@@ -605,8 +634,7 @@ build_table (EMeetingListView *lview)
g_signal_connect (renderer, "edited", G_CALLBACK (type_edited_cb), view);
g_hash_table_insert (edit_table, GINT_TO_POINTER (E_MEETING_STORE_TYPE_COL), renderer);
- renderer = e_cell_renderer_combo_new ();
- g_object_set (G_OBJECT (renderer), "list", get_role_strings (), "editable", TRUE, NULL);
+ renderer = create_combo_cell_renderer (get_role_strings ());
pos = gtk_tree_view_insert_column_with_attributes (view, -1, _("Role"), renderer,
"text", E_MEETING_STORE_ROLE_COL,
NULL);
@@ -617,8 +645,7 @@ build_table (EMeetingListView *lview)
g_signal_connect (renderer, "edited", G_CALLBACK (role_edited_cb), view);
g_hash_table_insert (edit_table, GINT_TO_POINTER (E_MEETING_STORE_ROLE_COL), renderer);
- renderer = e_cell_renderer_combo_new ();
- g_object_set (G_OBJECT (renderer), "list", get_rsvp_strings (), "editable", TRUE, NULL);
+ renderer = create_combo_cell_renderer (get_rsvp_strings ());
/* To translators: RSVP means "please reply" */
pos = gtk_tree_view_insert_column_with_attributes (view, -1, _("RSVP"), renderer,
"text", E_MEETING_STORE_RSVP_COL,
@@ -630,8 +657,7 @@ build_table (EMeetingListView *lview)
g_signal_connect (renderer, "edited", G_CALLBACK (rsvp_edited_cb), view);
g_hash_table_insert (edit_table, GINT_TO_POINTER (E_MEETING_STORE_RSVP_COL), renderer);
- renderer = e_cell_renderer_combo_new ();
- g_object_set (G_OBJECT (renderer), "list", get_status_strings (), "editable", TRUE, NULL);
+ renderer = create_combo_cell_renderer (get_status_strings ());
pos = gtk_tree_view_insert_column_with_attributes (view, -1, _("Status"), renderer,
"text", E_MEETING_STORE_STATUS_COL,
NULL);
diff --git a/widgets/misc/Makefile.am b/widgets/misc/Makefile.am
index 71194d1..24495ed 100644
--- a/widgets/misc/Makefile.am
+++ b/widgets/misc/Makefile.am
@@ -29,9 +29,7 @@ widgetsinclude_HEADERS = \
e-canvas-background.h \
e-canvas-utils.h \
e-canvas-vbox.h \
- e-cell-renderer-combo.h \
e-charset-combo-box.h \
- e-combo-cell-editable.h \
e-contact-map.h \
e-contact-map-window.h \
e-contact-marker.h \
@@ -112,9 +110,7 @@ libemiscwidgets_la_SOURCES = \
e-canvas-background.c \
e-canvas-utils.c \
e-canvas-vbox.c \
- e-cell-renderer-combo.c \
e-charset-combo-box.c \
- e-combo-cell-editable.c \
e-contact-map.c \
e-contact-map-window.c \
e-contact-marker.c \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]