{
char buf[LABEL_FORMAT_BUF_SIZE] = { 0 };
const char *space = " ";
+ const char *default_tag_str = "DEFAULT='";
+ const char *default_tag_start;
int limit = 0;
int format_len = ((sd->format == NULL) ? 0 : strlen(sd->format));
int text_style_user_len = ((sd->text_style_user == NULL) ? 0 : strlen(sd->text_style_user));
+ DBG("format_update: original format - [%s], text style user - [%s]", sd->format, sd->text_style_user);
+
/* If there is no format text in sd->text_style_user, just set sd->format to label */
if (text_style_user_len == 0)
{
return;
}
+ default_tag_start = strstr(sd->text_style_user, default_tag_str);
+ if (default_tag_start)
+ default_tag_start += strlen(default_tag_str);
+
/* If there is format text in sd->format, put sd->format and a space character to buffer. */
if (format_len > 0)
{
- strncat(buf, sd->format, LABEL_FORMAT_BUF_SIZE - 1);
+ limit = LABEL_FORMAT_BUF_SIZE - 1;
+
+ /* Append format without "'" character from end of sd->format
+ * if there is default tag in text_style_user.
+ */
+ if (default_tag_start && ((format_len - 1) < limit))
+ limit = format_len - 1;
+
+ strncat(buf, sd->format, limit);
limit = sizeof(buf) - strlen(buf) - 1;
if (limit > 0)
/* Append format text of test_style_user to buffer. */
limit = sizeof(buf) - strlen(buf) - 1;
if (limit > 0)
- strncat(buf, sd->text_style_user, limit);
+ {
+ if (default_tag_start)
+ strncat(buf, default_tag_start, limit);
+ else
+ strncat(buf, sd->text_style_user, limit);
+ }
+ DBG("format_update: format result - [%s]", buf);
_label_format_set(edje_obj, buf);
}
/* END */