evolution r37108 - in trunk/calendar: . gui/dialogs



Author: mcrha
Date: Tue Jan 20 18:07:51 2009
New Revision: 37108
URL: http://svn.gnome.org/viewvc/evolution?rev=37108&view=rev

Log:
2009-01-20  Milan Crha  <mcrha redhat com>

	** Fix for bug #568331

	* gui/dialogs/comp-editor.c: (classification_changed_cb),
	(comp_editor_init): Notify changes of the classification.
	* gui/dialogs/comp-editor.c: (fill_widgets): Block classification
	change signal when filling widgets with values from a component.



Modified:
   trunk/calendar/ChangeLog
   trunk/calendar/gui/dialogs/comp-editor.c

Modified: trunk/calendar/gui/dialogs/comp-editor.c
==============================================================================
--- trunk/calendar/gui/dialogs/comp-editor.c	(original)
+++ trunk/calendar/gui/dialogs/comp-editor.c	Tue Jan 20 18:07:51 2009
@@ -1766,6 +1766,14 @@
 }
 
 static void
+classification_changed_cb (GtkRadioAction *action, GtkRadioAction *current, CompEditor *editor)
+{
+	g_return_if_fail (IS_COMP_EDITOR (editor));
+
+	comp_editor_set_changed (editor, TRUE);
+}
+
+static void
 comp_editor_init (CompEditor *editor)
 {
 	CompEditorPrivate *priv;
@@ -1814,7 +1822,7 @@
 		action_group, classification_radio_entries,
 		G_N_ELEMENTS (classification_radio_entries),
 		E_CAL_COMPONENT_CLASS_PUBLIC,
-		NULL, NULL);  /* no callback */
+		G_CALLBACK (classification_changed_cb), editor);
 	action = e_attachment_bar_recent_action_new (
 		E_ATTACHMENT_BAR (priv->attachment_bar),
 		"attach-recent", _("Recent _Documents"));
@@ -2939,6 +2947,7 @@
 {
 	CompEditorPrivate *priv;
 	GList *l;
+	GtkAction *action;
 
 	priv = editor->priv;
 
@@ -2953,8 +2962,13 @@
 		g_slist_free (attachment_list);
 	}
 
+	action = comp_editor_get_action (editor, "classify-public");
+	g_signal_handlers_block_by_func (action, G_CALLBACK (classification_changed_cb), editor);
+
 	for (l = priv->pages; l != NULL; l = l->next)
 		comp_editor_page_fill_widgets (l->data, priv->comp);
+
+	g_signal_handlers_unblock_by_func (action, G_CALLBACK (classification_changed_cb), editor);
 }
 
 static void



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