aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs
diff options
context:
space:
mode:
authorJP Rosevear <jpr@novell.com>2004-07-22 21:05:20 +0800
committerJP Rosevear <jpr@src.gnome.org>2004-07-22 21:05:20 +0800
commit42d2869230bcf0557ea0addb9b17f1fc7c9dc7d2 (patch)
tree6256bd0a457f217d4e24d4e93bf3d52057d9856e /calendar/gui/dialogs
parentc0362d298f398e001bb2f4f13c56cac075b03f4b (diff)
downloadgsoc2013-evolution-42d2869230bcf0557ea0addb9b17f1fc7c9dc7d2.tar.gz
gsoc2013-evolution-42d2869230bcf0557ea0addb9b17f1fc7c9dc7d2.tar.zst
gsoc2013-evolution-42d2869230bcf0557ea0addb9b17f1fc7c9dc7d2.zip
Fixes #61738
2004-07-21 JP Rosevear <jpr@novell.com> Fixes #61738 * gui/dialogs/meeting-page.c (clear_widgets): by default we have a user as organizer (sensitize_widgets): use user_org to determine widget sensitivity (meeting_page_fill_widgets): set user_org value appropriately (change_clicked_cb): set user_org to TRUE svn path=/trunk/; revision=26701
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r--calendar/gui/dialogs/meeting-page.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/calendar/gui/dialogs/meeting-page.c b/calendar/gui/dialogs/meeting-page.c
index 712ffe47ef..f39e373012 100644
--- a/calendar/gui/dialogs/meeting-page.c
+++ b/calendar/gui/dialogs/meeting-page.c
@@ -85,6 +85,7 @@ struct _MeetingPagePrivate {
gint row;
/* For handling who the organizer is */
+ gboolean user_org;
gboolean existing;
gboolean updating;
@@ -316,12 +317,13 @@ clear_widgets (MeetingPage *mpage)
gtk_widget_hide (priv->existing_organizer_table);
priv->existing = FALSE;
+ priv->user_org = TRUE;
}
static void
sensitize_widgets (MeetingPage *mpage)
{
- gboolean read_only;
+ gboolean read_only, user_org;
MeetingPagePrivate *priv = mpage->priv;
if (!e_cal_is_read_only (COMP_EDITOR_PAGE (mpage)->client, &read_only, NULL))
@@ -329,9 +331,9 @@ sensitize_widgets (MeetingPage *mpage)
gtk_widget_set_sensitive (priv->organizer, !read_only);
gtk_widget_set_sensitive (priv->existing_organizer_btn, !read_only);
- gtk_widget_set_sensitive (priv->add, !read_only);
- gtk_widget_set_sensitive (priv->remove, !read_only);
- gtk_widget_set_sensitive (priv->invite, !read_only);
+ gtk_widget_set_sensitive (priv->add, !read_only && priv->user_org);
+ gtk_widget_set_sensitive (priv->remove, !read_only && priv->user_org);
+ gtk_widget_set_sensitive (priv->invite, !read_only && priv->user_org);
gtk_widget_set_sensitive (GTK_WIDGET (priv->list_view), !read_only);
}
@@ -379,6 +381,7 @@ meeting_page_fill_widgets (CompEditorPage *page, ECalComponent *comp)
page->client,
CAL_STATIC_CAPABILITY_ORGANIZER_NOT_EMAIL_ADDRESS))
gtk_widget_hide (priv->existing_organizer_btn);
+ priv->user_org = TRUE;
} else {
if (e_cal_get_static_capability (
page->client,
@@ -387,6 +390,7 @@ meeting_page_fill_widgets (CompEditorPage *page, ECalComponent *comp)
gtk_widget_set_sensitive (priv->invite, FALSE);
gtk_widget_set_sensitive (priv->add, FALSE);
gtk_widget_set_sensitive (priv->remove, FALSE);
+ priv->user_org = FALSE;
}
if (organizer.cn != NULL)
@@ -580,6 +584,7 @@ change_clicked_cb (GtkWidget *widget, gpointer data)
comp_editor_page_notify_changed (COMP_EDITOR_PAGE (mpage));
priv->existing = FALSE;
+ priv->user_org = TRUE;
}
static void