aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2001-11-06 08:02:47 +0800
committerJP Rosevear <jpr@src.gnome.org>2001-11-06 08:02:47 +0800
commit748fba56030267900cef03332ad4a57b3db2085c (patch)
treefb477adc76d07a1629bdc841c88ade8e3918b2f2 /calendar/gui/dialogs
parent7424f4066fc2180ade37b8df957a9837bc7ecbd2 (diff)
downloadgsoc2013-evolution-748fba56030267900cef03332ad4a57b3db2085c.tar.gz
gsoc2013-evolution-748fba56030267900cef03332ad4a57b3db2085c.tar.zst
gsoc2013-evolution-748fba56030267900cef03332ad4a57b3db2085c.zip
add a changed signal (e_meeting_time_selector_construct): emit changed
2001-11-05 JP Rosevear <jpr@ximian.com> * gui/e-meeting-time-sel.c (e_meeting_time_selector_class_init): add a changed signal (e_meeting_time_selector_construct): emit changed signal (e_meeting_time_selector_set_meeting_time): ditto (e_meeting_time_selector_set_all_day): set the all day setting (e_meeting_time_selector_autopick): emit changed signal (e_meeting_time_selector_find_nearest_interval): find proper interval when in all day mode (e_meeting_time_selector_find_nearest_interval_backward): ditto (e_meeting_time_selector_drag_meeting_time): for all day events, move the time when past the 12 hour mark, and and always make sure 1 full day is selected, emit changed signal when appropriate (e_meeting_time_selector_update_start_date_edit): set date and time of day together (e_meeting_time_selector_update_end_date_edit): ditto, and adjust display time if all day event * gui/e-meeting-time-sel-item.c (e_meeting_time_selector_item_draw): remove unused variable (e_meeting_time_selector_item_button_press): for all day mode, make the interval a whole day * gui/dialogs/schedule-page.c (update_time): set the meeting time selector setting instead of manual mucking with the e-date-edit widgets (init_widgets): listen to the changed signal of the meeting time selector instead of propagating multiple events as it updates * gui/dialogs/event-page.c (update_time): block time zone change signals svn path=/trunk/; revision=14601
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r--calendar/gui/dialogs/event-page.c30
-rw-r--r--calendar/gui/dialogs/schedule-page.c17
2 files changed, 22 insertions, 25 deletions
diff --git a/calendar/gui/dialogs/event-page.c b/calendar/gui/dialogs/event-page.c
index 191f87e306..ff4ec98e59 100644
--- a/calendar/gui/dialogs/event-page.c
+++ b/calendar/gui/dialogs/event-page.c
@@ -375,20 +375,22 @@ update_time (EventPage *epage, CalComponentDateTime *start_date, CalComponentDat
/* Set the timezones, and set sync_timezones to TRUE if both timezones
are the same. */
- /* FIXME: JPR - why did you add the if check here? It looks like it
- won't work for floating times, where start_zone or end_zone may be
- NULL. */
-#if 0
- if (start_zone && end_zone) {
-#endif
- e_timezone_entry_set_timezone (E_TIMEZONE_ENTRY (priv->start_timezone),
- start_zone);
- e_timezone_entry_set_timezone (E_TIMEZONE_ENTRY (priv->end_timezone),
- end_zone);
- priv->sync_timezones = (start_zone == end_zone) ? TRUE : FALSE;
-#if 0
- }
-#endif
+ gtk_signal_handler_block_by_data (GTK_OBJECT (priv->start_timezone),
+ epage);
+ gtk_signal_handler_block_by_data (GTK_OBJECT (priv->end_timezone), epage);
+
+ e_timezone_entry_set_timezone (E_TIMEZONE_ENTRY (priv->start_timezone),
+ start_zone);
+ e_timezone_entry_set_timezone (E_TIMEZONE_ENTRY (priv->end_timezone),
+ end_zone);
+
+ gtk_signal_handler_unblock_by_data (GTK_OBJECT (priv->start_timezone),
+ epage);
+ gtk_signal_handler_unblock_by_data (GTK_OBJECT (priv->end_timezone),
+ epage);
+
+ priv->sync_timezones = (start_zone == end_zone) ? TRUE : FALSE;
+
}
/* Fills the widgets with default values */
diff --git a/calendar/gui/dialogs/schedule-page.c b/calendar/gui/dialogs/schedule-page.c
index 66614348df..c1397d24c1 100644
--- a/calendar/gui/dialogs/schedule-page.c
+++ b/calendar/gui/dialogs/schedule-page.c
@@ -86,7 +86,7 @@ static void schedule_page_fill_widgets (CompEditorPage *page, CalComponent *comp
static gboolean schedule_page_fill_component (CompEditorPage *page, CalComponent *comp);
static void schedule_page_set_dates (CompEditorPage *page, CompEditorPageDates *dates);
-static void time_changed_cb (GtkWidget *widget, gpointer data);
+static void times_changed_cb (GtkWidget *widget, gpointer data);
static CompEditorPageClass *parent_class = NULL;
@@ -276,11 +276,8 @@ update_time (SchedulePage *spage, CalComponentDateTime *start_date, CalComponent
}
}
- e_date_edit_set_show_time (E_DATE_EDIT (priv->sel->start_date_edit),
- !all_day);
- e_date_edit_set_show_time (E_DATE_EDIT (priv->sel->end_date_edit),
- !all_day);
-
+ e_meeting_time_selector_set_all_day (priv->sel, all_day);
+
e_date_edit_set_date (E_DATE_EDIT (priv->sel->start_date_edit), start_tt.year,
start_tt.month, start_tt.day);
e_date_edit_set_time_of_day (E_DATE_EDIT (priv->sel->start_date_edit),
@@ -402,10 +399,8 @@ init_widgets (SchedulePage *spage)
priv = spage->priv;
- gtk_signal_connect (GTK_OBJECT (priv->sel->start_date_edit),
- "changed", time_changed_cb, spage);
- gtk_signal_connect (GTK_OBJECT (priv->sel->end_date_edit),
- "changed", time_changed_cb, spage);
+ gtk_signal_connect (GTK_OBJECT (priv->sel),
+ "changed", times_changed_cb, spage);
return TRUE;
@@ -484,7 +479,7 @@ schedule_page_new (EMeetingModel *emm)
}
static void
-time_changed_cb (GtkWidget *widget, gpointer data)
+times_changed_cb (GtkWidget *widget, gpointer data)
{
SchedulePage *spage = data;
SchedulePagePrivate *priv;