X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-text-utils.c;h=9b0cef4a05d9d6d002022bb19b8967bc60156b97;hp=0a84acf73403d0b7255a61cc68599cb2ea10f33d;hb=b93b64adaaf2947f8b35889981af6ad96b18fd31;hpb=dd00071e3b3dba6e7d35f7142ba61a89c8f205c3 diff --git a/src/modest-text-utils.c b/src/modest-text-utils.c index 0a84acf..9b0cef4 100644 --- a/src/modest-text-utils.c +++ b/src/modest-text-utils.c @@ -203,14 +203,14 @@ modest_text_utils_inline (const gchar *text, gsize modest_text_utils_strftime(char *s, gsize max, const char *fmt, time_t timet) { - static GDate date; - -#if MODEST_PLATFORM_ID==1 /* gtk */ - g_date_set_time_t (&date, timet); -#elif MODEST_PLATFORM_ID==2 /* hildon (maemo) */ - g_date_set_time (&date, (GTime) timet); -#endif - return g_date_strftime (s, max, fmt, (const GDate*) &date); + struct tm tm; + + /* does not work on old maemo glib: + * g_date_set_time_t (&date, timet); + */ + localtime_r (&timet, &tm); + + return strftime(s, max, fmt, &tm); } gchar * @@ -376,6 +376,43 @@ modest_text_utils_split_addresses_list (const gchar *addresses) } +void +modest_text_utils_address_range_at_position (const gchar *recipients_list, + gint position, + gint *start, + gint *end) +{ + gchar *current = NULL; + gint range_start = 0; + gint range_end = 0; + gint index; + gboolean is_quoted = FALSE; + + index = 0; + for (current = (gchar *) recipients_list; *current != '\0'; current = g_utf8_find_next_char (current, NULL)) { + gunichar c = g_utf8_get_char (current); + + if ((c == ',') && (!is_quoted)) { + if (index < position) { + range_start = index + 1; + } else { + break; + } + } else if (c == '\"') { + is_quoted = !is_quoted; + } else if ((c == ' ') &&(range_start == index)) { + range_start ++; + } + index ++; + range_end = index; + } + + if (start) + *start = range_start; + if (end) + *end = range_end; +} + /* ******************************************************************* */ /* ************************* UTILIY FUNCTIONS ************************ */ @@ -821,12 +858,12 @@ modest_text_utils_get_display_date (time_t date) now = time (NULL); - modest_text_utils_strftime (date_buf, BUF_SIZE, "%x", date); - modest_text_utils_strftime (now_buf, BUF_SIZE, "%x", now); /* today */ + modest_text_utils_strftime (date_buf, BUF_SIZE, "%d/%m/%Y", date); + modest_text_utils_strftime (now_buf, BUF_SIZE, "%d/%m/%Y", now); /* today */ /* if this is today, get the time instead of the date */ if (strcmp (date_buf, now_buf) == 0) - modest_text_utils_strftime (date_buf, BUF_SIZE, _("%X"), date); + modest_text_utils_strftime (date_buf, BUF_SIZE, "%H:%M %P", date); return g_strdup(date_buf); }