diff options
author | Damon Chaplin <damon@ximian.com> | 2001-09-18 09:35:46 +0800 |
---|---|---|
committer | Damon Chaplin <damon@src.gnome.org> | 2001-09-18 09:35:46 +0800 |
commit | 999889586bbb251669c5a384f1b5d03bd72d0a6d (patch) | |
tree | 7041172cea75e0ee3556c3629425a8cda60bd58f /calendar/gui/dialogs | |
parent | 5772dcbe43079dd8cf59e5458cb44a7a749df66f (diff) | |
download | gsoc2013-evolution-999889586bbb251669c5a384f1b5d03bd72d0a6d.tar gsoc2013-evolution-999889586bbb251669c5a384f1b5d03bd72d0a6d.tar.gz gsoc2013-evolution-999889586bbb251669c5a384f1b5d03bd72d0a6d.tar.bz2 gsoc2013-evolution-999889586bbb251669c5a384f1b5d03bd72d0a6d.tar.lz gsoc2013-evolution-999889586bbb251669c5a384f1b5d03bd72d0a6d.tar.xz gsoc2013-evolution-999889586bbb251669c5a384f1b5d03bd72d0a6d.tar.zst gsoc2013-evolution-999889586bbb251669c5a384f1b5d03bd72d0a6d.zip |
added a timeout to refresh the list every 10 minutes. Not ideal, as the
2001-09-17 Damon Chaplin <damon@ximian.com>
* gui/calendar-model.c: added a timeout to refresh the list every
10 minutes. Not ideal, as the user may be editing a task when it gets
refreshed.
(adjust_query_sexp): use the 'completed-before?' operator to filter
out tasks according to the config settings.
* gui/dialogs/task-details-page.c (task_details_page_fill_widgets):
added support for the 'Completed' date. This code must have got lost
somewhere, as it used to work.
(date_changed_cb): set the priv->updating flag while updating the other
widgets.
* pcs/cal-backend-file.c (cal_backend_file_update_objects): made sure
we freed the components.
* pcs/query.c (func_completed_before): added 'completed-before?'
operator.
* gui/calendar-config.c (calendar_config_configure_e_cell_date_edit):
don't set the lower & upper hour. Use 0-24 like the EDateEdit does.
* gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config): set
the 12/24-hour time format options sensitive only if we support both.
* gui/calendar-config.c (config_read): if the locale doesn't define
'am' and 'pm' strings then we must use 24-hour format.
* gui/calendar-commands.c (calendar_set_folder_bar_label): don't
translate the '%d' as it doesn't make much sense. Resolves bug #8027.
svn path=/trunk/; revision=12925
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r-- | calendar/gui/dialogs/cal-prefs-dialog.c | 6 | ||||
-rw-r--r-- | calendar/gui/dialogs/task-details-page.c | 45 |
2 files changed, 47 insertions, 4 deletions
diff --git a/calendar/gui/dialogs/cal-prefs-dialog.c b/calendar/gui/dialogs/cal-prefs-dialog.c index 0b1d14d55e..0b3d43e98b 100644 --- a/calendar/gui/dialogs/cal-prefs-dialog.c +++ b/calendar/gui/dialogs/cal-prefs-dialog.c @@ -483,6 +483,7 @@ cal_prefs_dialog_show_config (CalPrefsDialog *prefs) gint mask, day, week_start_day, time_divisions; char *zone_name; icaltimezone *zone; + gboolean sensitive; priv = prefs->priv; @@ -521,6 +522,11 @@ cal_prefs_dialog_show_config (CalPrefsDialog *prefs) else gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->use_12_hour), TRUE); + sensitive = calendar_config_locale_supports_12_hour_format (); + gtk_widget_set_sensitive (priv->use_12_hour, sensitive); + gtk_widget_set_sensitive (priv->use_24_hour, sensitive); + + /* Time Divisions. */ time_divisions = calendar_config_get_time_divisions (); e_dialog_option_menu_set (priv->time_divisions, time_divisions, diff --git a/calendar/gui/dialogs/task-details-page.c b/calendar/gui/dialogs/task-details-page.c index ff7223362a..3196994bd1 100644 --- a/calendar/gui/dialogs/task-details-page.c +++ b/calendar/gui/dialogs/task-details-page.c @@ -296,6 +296,7 @@ task_details_page_fill_widgets (CompEditorPage *page, CalComponent *comp) TaskEditorPriority priority; icalproperty_status status; const char *url; + struct icaltimetype *completed = NULL; tdpage = TASK_DETAILS_PAGE (page); priv = tdpage->priv; @@ -331,6 +332,30 @@ task_details_page_fill_widgets (CompEditorPage *page, CalComponent *comp) } e_dialog_option_menu_set (priv->status, status, status_map); + /* Completed Date. */ + cal_component_get_completed (comp, &completed); + if (completed) { + icaltimezone *utc_zone, *zone; + char *location; + + /* Completed is in UTC, but that would confuse the user, so + we convert it to local time. */ + utc_zone = icaltimezone_get_utc_timezone (); + location = calendar_config_get_timezone (); + zone = icaltimezone_get_builtin_timezone (location); + + icaltimezone_convert_time (completed, utc_zone, zone); + + e_date_edit_set_date (E_DATE_EDIT (priv->completed_date), + completed->year, completed->month, + completed->day); + e_date_edit_set_time_of_day (E_DATE_EDIT (priv->completed_date), + completed->hour, + completed->minute); + + cal_component_free_icaltimetype (completed); + } + /* Priority. */ cal_component_get_priority (comp, &priority_value); if (priority_value) { @@ -492,6 +517,8 @@ date_changed_cb (EDateEdit *dedit, gpointer data) if (priv->updating) return; + priv->updating = TRUE; + date_set = e_date_edit_get_date (E_DATE_EDIT (priv->completed_date), &completed_tt.year, &completed_tt.month, @@ -499,20 +526,30 @@ date_changed_cb (EDateEdit *dedit, gpointer data) e_date_edit_get_time_of_day (E_DATE_EDIT (priv->completed_date), &completed_tt.hour, &completed_tt.minute); + + status = e_dialog_option_menu_get (priv->status, status_map); + if (!date_set) { completed_tt = icaltime_null_time (); - - status = e_dialog_option_menu_get (priv->status, status_map); if (status == ICAL_STATUS_COMPLETED) { - e_dialog_option_menu_set (priv->status, ICAL_STATUS_NEEDSACTION, status_map); + e_dialog_option_menu_set (priv->status, + ICAL_STATUS_NEEDSACTION, + status_map); e_dialog_spin_set (priv->percent_complete, 0); } } else { - e_dialog_option_menu_set (priv->status, ICAL_STATUS_COMPLETED, status_map); + if (status != ICAL_STATUS_COMPLETED) { + e_dialog_option_menu_set (priv->status, + ICAL_STATUS_COMPLETED, + status_map); + } e_dialog_spin_set (priv->percent_complete, 100); } + priv->updating = FALSE; + /* Notify upstream */ + dates.complete = &completed_tt; comp_editor_page_notify_dates_changed (COMP_EDITOR_PAGE (tdpage), &dates); } |