elementary: replace previously special value set
authorBruno Dilly <bdilly@profusion.mobi>
Mon, 8 Oct 2012 22:39:05 +0000 (22:39 +0000)
committerBruno Dilly <bdilly@profusion.mobi>
Mon, 8 Oct 2012 22:39:05 +0000 (22:39 +0000)
When adding a special value, check if there is already a label for
the value. If it's the case, just replace the label.

SVN revision: 77589

src/lib/elm_spinner.c

index e841c88..d9b7a4d 100644 (file)
@@ -855,10 +855,21 @@ elm_spinner_special_value_add(Evas_Object *obj,
                               const char *label)
 {
    Elm_Spinner_Special_Value *sv;
+   Eina_List *l;
 
    ELM_SPINNER_CHECK(obj);
    ELM_SPINNER_DATA_GET(obj, sd);
 
+   EINA_LIST_FOREACH(sd->special_values, l, sv)
+     {
+        if (sv->value != value)
+          continue;
+
+        eina_stringshare_replace(&sv->label, label);
+        _label_write(obj);
+        return;
+     }
+
    sv = calloc(1, sizeof(*sv));
    if (!sv) return;
    sv->value = value;