From 6c11b8985cbd8fbb5525a4c4d2338603b81729c5 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Thu, 17 May 2012 21:59:49 +0200 Subject: Fix data type of "general.firstdayofweek" This option wasn't converted to a proper data type when it was renamed from "week_begins_on_monday" to "general.firstdayofweek". Convert the boolean option into an enumeration type that can take the values "monday" and "sunday". Also, update the documentation, add a conversion rule to the upgrade script and convert the configuration file used in the test suite. Signed-off-by: Lukas Fleischer --- src/config.c | 22 ++++++++++++---------- src/custom.c | 13 +++++++------ 2 files changed, 19 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/config.c b/src/config.c index 88d5acc..98e622a 100644 --- a/src/config.c +++ b/src/config.c @@ -204,16 +204,14 @@ config_parse_calendar_view (void *dummy, const char *val) static int config_parse_first_day_of_week (void *dummy, const char *val) { - unsigned tmp; - if (config_parse_bool (&tmp, val)) { - if (tmp) - calendar_set_first_day_of_week (MONDAY); - else - calendar_set_first_day_of_week (SUNDAY); - return 1; - } + if (!strcmp (val, "monday")) + calendar_set_first_day_of_week (MONDAY); + else if (!strcmp (val, "sunday")) + calendar_set_first_day_of_week (SUNDAY); else return 0; + + return 1; } static int @@ -381,8 +379,12 @@ config_serialize_calendar_view (char *buf, void *dummy) static int config_serialize_first_day_of_week (char *buf, void *dummy) { - unsigned tmp = calendar_week_begins_on_monday (); - return config_serialize_bool (buf, &tmp); + if (calendar_week_begins_on_monday ()) + strcpy(buf, "monday"); + else + strcpy(buf, "sunday"); + + return 1; } static int diff --git a/src/custom.c b/src/custom.c index dab05d0..017136d 100644 --- a/src/custom.c +++ b/src/custom.c @@ -630,7 +630,7 @@ print_general_options (WINDOW *win) CONFIRM_DELETE, SYSTEM_DIAGS, PROGRESS_BAR, - WEEK_BEGINS_MONDAY, + FIRST_DAY_OF_WEEK, OUTPUT_DATE_FMT, INPUT_DATE_FMT, NB_OPTIONS @@ -700,12 +700,13 @@ print_general_options (WINDOW *win) _("(if set to YES, progress bar will be displayed " "when saving data)")); y += YOFF; - mvwprintw (win, y, XPOS, "[8] %s ", opt[WEEK_BEGINS_MONDAY]); - print_bool_option_incolor (win, calendar_week_begins_on_monday (), y, - XPOS + 4 + strlen (opt[WEEK_BEGINS_MONDAY])); + mvwprintw (win, y, XPOS, "[8] %s ", opt[FIRST_DAY_OF_WEEK]); + custom_apply_attr (win, ATTR_HIGHEST); + mvwprintw (win, y, XPOS + 4 + strlen (opt[FIRST_DAY_OF_WEEK]), "%s", + calendar_week_begins_on_monday () ? _("Monday") : _("Sunday")); + custom_remove_attr (win, ATTR_HIGHEST); mvwprintw (win, y + 1, XPOS, - _("(if set to YES, monday is the first day of the week, " - "else it is sunday)")); + _("(specifies the first day of week in the calendar view)")); y += YOFF; mvwprintw (win, y, XPOS, "[9] %s ", opt[OUTPUT_DATE_FMT]); custom_apply_attr (win, ATTR_HIGHEST); -- cgit v1.2.3-70-g09d2