diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 10 | ||||
-rw-r--r-- | mail/mail-config.c | 35 | ||||
-rw-r--r-- | mail/mail-config.h | 3 | ||||
-rw-r--r-- | mail/message-tag-followup.c | 12 |
4 files changed, 56 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index fe710567e9..668123ed90 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,13 @@ +2002-08-07 Not Zed <NotZed@Ximian.com> + + * message-tag-followup.c (target_date_new): Set the week start day + from the calendar prefs, do same for 24 hour format. See #23423. + + * mail-config.c (config_read): Added week_start_day from + Calendar/Display config. Also time_24hour format. + (mail_config_get_week_start_day): + (mail_config_get_time_24hour): And read-only accessors. + 2002-08-06 Jeffrey Stedfast <fejj@ximian.com> * mail-local.c (save_metainfo): Save to a temporary file first diff --git a/mail/mail-config.c b/mail/mail-config.c index 2d5950ba3d..491885f32c 100644 --- a/mail/mail-config.c +++ b/mail/mail-config.c @@ -131,6 +131,10 @@ typedef struct { MailConfigLabel labels[5]; gboolean signature_info; + + /* readonly fields from calendar */ + int week_start_day; + int time_24hour; } MailConfig; static MailConfig *config = NULL; @@ -586,6 +590,17 @@ config_import_old_signatures () } } +/* copied from calendar-config */ +static gboolean +locale_supports_12_hour_format(void) +{ + char s[16]; + time_t t = 0; + + strftime(s, sizeof s, "%p", gmtime (&t)); + return s[0] != '\0'; +} + static void config_read (void) { @@ -955,6 +970,13 @@ config_read (void) config->signature_info = bonobo_config_get_boolean_with_default (config->db, "/Mail/Info/show_signature_editor_info", TRUE, NULL); + + config->week_start_day = bonobo_config_get_long_with_default(config->db, "/Calendar/Display/WeekStartDay", 1, NULL); + if (locale_supports_12_hour_format()) { + config->time_24hour = bonobo_config_get_boolean_with_default(config->db, "/Calendar/Display/Use24HourFormat", FALSE, NULL); + } else { + config->time_24hour = TRUE; + } } #define bonobo_config_set_string_wrapper(db, path, val, ev) bonobo_config_set_string (db, path, val ? val : "", ev) @@ -3092,3 +3114,16 @@ mail_config_set_show_signature_info (gboolean show) { config->signature_info = show; } + +int +mail_config_get_week_start_day(void) +{ + return config->week_start_day; +} + +int +mail_config_get_time_24hour(void) +{ + return config->time_24hour; +} + diff --git a/mail/mail-config.h b/mail/mail-config.h index 1e4699f773..49c1013785 100644 --- a/mail/mail-config.h +++ b/mail/mail-config.h @@ -322,6 +322,9 @@ gchar * mail_config_signature_run_script (gchar *script); gboolean mail_config_get_show_signature_info (void); void mail_config_set_show_signature_info (gboolean show); +int mail_config_get_week_start_day(void); +int mail_config_get_time_24hour(void); + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/mail/message-tag-followup.c b/mail/message-tag-followup.c index 4edbfc1d26..bee65fab6d 100644 --- a/mail/message-tag-followup.c +++ b/mail/message-tag-followup.c @@ -39,6 +39,7 @@ #include <gal/util/e-unicode-i18n.h> #include "message-tag-followup.h" +#include "mail-config.h" static void message_tag_followup_class_init (MessageTagFollowUpClass *class); static void message_tag_followup_init (MessageTagFollowUp *followup); @@ -217,13 +218,16 @@ GtkWidget * target_date_new (const char *s1, const char *s2, int i1, int i2) { GtkWidget *widget; - + int start; + widget = e_date_edit_new (); e_date_edit_set_show_date (E_DATE_EDIT (widget), TRUE); e_date_edit_set_show_time (E_DATE_EDIT (widget), TRUE); - e_date_edit_set_week_start_day (E_DATE_EDIT (widget), 6); - /* FIXME: make this locale dependant?? */ - e_date_edit_set_use_24_hour_format (E_DATE_EDIT (widget), FALSE); + + start = (mail_config_get_week_start_day()+6) % 7; /* Note that this is 0 (Sun) to 6 (Sat), conver to 0 (mon) to 6 (sun) */ + + e_date_edit_set_week_start_day (E_DATE_EDIT (widget), start); + e_date_edit_set_use_24_hour_format (E_DATE_EDIT (widget), mail_config_get_time_24hour()); e_date_edit_set_allow_no_date_set (E_DATE_EDIT (widget), TRUE); e_date_edit_set_time_popup_range (E_DATE_EDIT (widget), 0, 24); |