Mercurial > pidgin
diff src/util.h @ 13104:e1e5462b7d81
[gaim-migrate @ 15466]
Rework lots of date parsing. I either introduced a whole lot of bugs, or I've made sure all dates are localized properly now. Only time will tell which it is... ;)
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Thu, 02 Feb 2006 19:50:51 +0000 |
parents | 5828d42e8684 |
children | fcde3faa1f57 |
line wrap: on
line diff
--- a/src/util.h Thu Feb 02 19:39:12 2006 +0000 +++ b/src/util.h Thu Feb 02 19:50:51 2006 +0000 @@ -45,6 +45,8 @@ GList *children; } GaimMenuAction; +typedef char *(*GaimInfoFieldFormatCallback)(const char *field, size_t len); + /** * A key-value pair. * @@ -209,6 +211,62 @@ /*@{*/ /** + * Formats a time into the specified format. + * + * This is essentially strftime(), but it has a static buffer + * and handles the UTF-8 conversion for the caller. + */ +const char *gaim_utf8_strftime(const char *format, const struct tm *tm); + +/** + * Formats a time into the user's preferred short date format. + * + * The returned string is stored in a static buffer, so the result + * should be g_strdup()'d if it's going to be kept. + * + * @param time The time value to format (in local time). + * + * @return The date, formatted as per the user's settings. + */ +const char *gaim_date_format_short(const struct tm *tm); + +/** + * Formats a time into the user's preferred short date plus time format. + * + * The returned string is stored in a static buffer, so the result + * should be g_strdup()'d if it's going to be kept. + * + * @param time The time value to format (in local time). + * + * @return The timestamp, formatted as per the user's settings. + */ +const char *gaim_date_format_long(const struct tm *tm); + +/** + * Formats a time into the user's preferred full date and time format. + * + * The returned string is stored in a static buffer, so the result + * should be g_strdup()'d if it's going to be kept. + * + * @param time The time value to format (in local time). + * + * @return The date and time, formatted as per the user's settings. + */ +const char *gaim_date_format_full(time_t time); + +/** + * Formats a time into the user's preferred time format. + * + * The returned string is stored in a static buffer, so the result + * should be g_strdup()'d if it's going to be kept. + * + * @param time The time value to format (in local time). + * + * @return The time, formatted as per the user's settings. + */ +const char *gaim_time_format(const struct tm *tm); + +/** * Builds a time_t from the supplied information. * * @param year The year. @@ -224,7 +282,8 @@ int min, int sec); /** - * Parses a timestamp in jabber or ISO8601 format and returns a time_t. + * Parses a timestamp in jabber, ISO8601, or MM/DD/YYYY format and returns + * a time_t. * * @param timestamp The timestamp * @param utc Assume UTC if no timezone specified @@ -233,17 +292,6 @@ */ time_t gaim_str_to_time(const char *timestamp, gboolean utc); -/** - * Creates a string according to a time and format string - * - * This function just calls strftime. The only advantage to using it - * is that gcc won't give a warning if you use %c - * - * TODO: The warning is gone in gcc4, and this function can - * eventually be removed. - */ -size_t gaim_strftime(char *s, size_t max, const char *format, const struct tm *tm); - /*@}*/ @@ -289,6 +337,7 @@ * @param display_name The short descriptive name to display for this token. * @param is_link TRUE if this should be a link, or FALSE otherwise. * @param link_prefix The prefix for the link. + * @param format_cb A callback to format the value before adding it. * * @return TRUE if successful, or FALSE otherwise. */ @@ -297,7 +346,8 @@ const char *end_token, char check_value, const char *no_value_token, const char *display_name, gboolean is_link, - const char *link_prefix); + const char *link_prefix, + GaimInfoFieldFormatCallback format_cb); /** * Converts HTML markup to XHTML.