diff --git a/apps/gui/gwps-common.c b/apps/gui/gwps-common.c index 5f421de2d8..9889a9f96c 100644 --- a/apps/gui/gwps-common.c +++ b/apps/gui/gwps-common.c @@ -767,8 +767,24 @@ static char *get_token_value(struct gui_wps *gwps, limit = *intval; *intval = -1; } - +#if CONFIG_RTC + int new_token = token->type; + if (token->type == WPS_TOKEN_RTC_HOUR_CFG_ZERO_PADDED) + { + new_token = global_settings.timeformat == 0? + WPS_TOKEN_RTC_HOUR_24_ZERO_PADDED: + WPS_TOKEN_RTC_HOUR_12_ZERO_PADDED; + } + else if (token->type == WPS_TOKEN_RTC_HOUR_CFG) + { + new_token = global_settings.timeformat == 0? + WPS_TOKEN_RTC_HOUR_24: + WPS_TOKEN_RTC_HOUR_12; + } + switch (new_token) +#else switch (token->type) +#endif { case WPS_TOKEN_CHARACTER: return &(token->value.c); diff --git a/apps/gui/gwps.h b/apps/gui/gwps.h index fd435893ac..70a192ad1c 100644 --- a/apps/gui/gwps.h +++ b/apps/gui/gwps.h @@ -152,6 +152,8 @@ enum wps_token_type { WPS_TOKEN_RTC_DAY_OF_MONTH, WPS_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED, + WPS_TOKEN_RTC_HOUR_CFG_ZERO_PADDED, + WPS_TOKEN_RTC_HOUR_CFG, WPS_TOKEN_RTC_HOUR_24_ZERO_PADDED, WPS_TOKEN_RTC_HOUR_24, WPS_TOKEN_RTC_HOUR_12_ZERO_PADDED, diff --git a/apps/gui/wps_parser.c b/apps/gui/wps_parser.c index a0b23734be..2b8975894c 100644 --- a/apps/gui/wps_parser.c +++ b/apps/gui/wps_parser.c @@ -166,6 +166,8 @@ static const struct wps_tag all_tags[] = { { WPS_TOKEN_RTC_DAY_OF_MONTH, "cd", WPS_RTC_REFRESH, NULL }, { WPS_TOKEN_RTC_DAY_OF_MONTH_BLANK_PADDED,"ce", WPS_RTC_REFRESH, NULL }, + { WPS_TOKEN_RTC_HOUR_CFG_ZERO_PADDED, "cf", WPS_RTC_REFRESH, NULL }, + { WPS_TOKEN_RTC_HOUR_CFG, "cg", WPS_RTC_REFRESH, NULL }, { WPS_TOKEN_RTC_HOUR_24_ZERO_PADDED, "cH", WPS_RTC_REFRESH, NULL }, { WPS_TOKEN_RTC_HOUR_24, "ck", WPS_RTC_REFRESH, NULL }, { WPS_TOKEN_RTC_HOUR_12_ZERO_PADDED, "cI", WPS_RTC_REFRESH, NULL },