diff options
author | Rodrigo Moya <rodrigo@novell.com> | 2004-06-15 19:57:17 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@src.gnome.org> | 2004-06-15 19:57:17 +0800 |
commit | b2b00bfbcdf007a8efa9a73d2f98f28535c51652 (patch) | |
tree | aea61da6eb31bb5715a8b0e1a2ac0b6ac610dd70 /calendar/gui/dialogs/schedule-page.c | |
parent | fcdc088479a6d283beaec7cae7d4295601be76ef (diff) | |
download | gsoc2013-evolution-b2b00bfbcdf007a8efa9a73d2f98f28535c51652.tar gsoc2013-evolution-b2b00bfbcdf007a8efa9a73d2f98f28535c51652.tar.gz gsoc2013-evolution-b2b00bfbcdf007a8efa9a73d2f98f28535c51652.tar.bz2 gsoc2013-evolution-b2b00bfbcdf007a8efa9a73d2f98f28535c51652.tar.lz gsoc2013-evolution-b2b00bfbcdf007a8efa9a73d2f98f28535c51652.tar.xz gsoc2013-evolution-b2b00bfbcdf007a8efa9a73d2f98f28535c51652.tar.zst gsoc2013-evolution-b2b00bfbcdf007a8efa9a73d2f98f28535c51652.zip |
new function. (e_meeting_time_selector_construct): store some missing
2004-06-15 Rodrigo Moya <rodrigo@novell.com>
* gui/e-meeting-time-sel.[ch]
(e_meeting_time_selector_set_read_only): new function.
(e_meeting_time_selector_construct): store some missing buttons
in the EMeetingTimeSelector structure.
* gui/dialogs/schedule-page.c (schedule_page_construct):
connect to "client_changed" signal on the page.
(client_changed_cb): new callback.
(sensitize_widgets): new function.
(schedule_page_fill_widgets): call sensitize_widgets().
svn path=/trunk/; revision=26344
Diffstat (limited to 'calendar/gui/dialogs/schedule-page.c')
-rw-r--r-- | calendar/gui/dialogs/schedule-page.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/calendar/gui/dialogs/schedule-page.c b/calendar/gui/dialogs/schedule-page.c index d9f37b414f..0069208a81 100644 --- a/calendar/gui/dialogs/schedule-page.c +++ b/calendar/gui/dialogs/schedule-page.c @@ -194,6 +194,26 @@ schedule_page_focus_main_widget (CompEditorPage *page) gtk_widget_grab_focus (GTK_WIDGET (priv->sel)); } +static void +sensitize_widgets (SchedulePage *spage) +{ + gboolean read_only; + SchedulePagePrivate *priv = spage->priv; + + if (!e_cal_is_read_only (COMP_EDITOR_PAGE (spage)->client, &read_only, NULL)) + read_only = TRUE; + + e_meeting_time_selector_set_read_only (GTK_WIDGET (priv->sel), read_only); +} + +static void +client_changed_cb (CompEditorPage *page, ECal *client, gpointer user_data) +{ + SchedulePage *spage = SCHEDULE_PAGE (page); + + sensitize_widgets (spage); +} + /* Set date/time */ static void update_time (SchedulePage *spage, ECalComponentDateTime *start_date, ECalComponentDateTime *end_date) @@ -309,6 +329,8 @@ schedule_page_fill_widgets (CompEditorPage *page, ECalComponent *comp) priv->updating = FALSE; + sensitize_widgets (spage); + return validated; } @@ -443,6 +465,8 @@ schedule_page_construct (SchedulePage *spage, EMeetingStore *ems) return NULL; } + g_signal_connect_after (G_OBJECT (spage), "client_changed", + G_CALLBACK (client_changed_cb), NULL); return spage; } |