aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2009-01-21 02:07:51 +0800
committerMilan Crha <mcrha@src.gnome.org>2009-01-21 02:07:51 +0800
commit1e637bac617f25bc77e9d1128b3c7d6e7afaca67 (patch)
treed58115ae552b2241795092d9a7392d0dfaf406e5 /calendar/gui/dialogs
parent1a7f3de2c544ee0569cbca3268a8daafcb23d994 (diff)
downloadgsoc2013-evolution-1e637bac617f25bc77e9d1128b3c7d6e7afaca67.tar
gsoc2013-evolution-1e637bac617f25bc77e9d1128b3c7d6e7afaca67.tar.gz
gsoc2013-evolution-1e637bac617f25bc77e9d1128b3c7d6e7afaca67.tar.bz2
gsoc2013-evolution-1e637bac617f25bc77e9d1128b3c7d6e7afaca67.tar.lz
gsoc2013-evolution-1e637bac617f25bc77e9d1128b3c7d6e7afaca67.tar.xz
gsoc2013-evolution-1e637bac617f25bc77e9d1128b3c7d6e7afaca67.tar.zst
gsoc2013-evolution-1e637bac617f25bc77e9d1128b3c7d6e7afaca67.zip
** Fix for bug #568331
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. svn path=/trunk/; revision=37108
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r--calendar/gui/dialogs/comp-editor.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 4799895b84..dcdff0947e 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -1766,6 +1766,14 @@ comp_editor_class_init (CompEditorClass *class)
}
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 @@ comp_editor_init (CompEditor *editor)
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 @@ fill_widgets (CompEditor *editor)
{
CompEditorPrivate *priv;
GList *l;
+ GtkAction *action;
priv = editor->priv;
@@ -2953,8 +2962,13 @@ fill_widgets (CompEditor *editor)
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