zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9b18e5a29160a631943b5b99e305a41e8aa16410

commit 9b18e5a29160a631943b5b99e305a41e8aa16410
Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Sep 25 17:55:35 2019 -0400

    theme: efl,state,(content|text),(set|unset) -> 
efl,(content|text),(set|unset)
    
    Summary:
    this is versioned, so the correct signal will always be emitted for the 
theme
    version that is provided
    
    ref T8231
    
    Depends on D10164
    
    Reviewers: segfaultxavi
    
    Reviewed By: segfaultxavi
    
    Subscribers: segfaultxavi, cedric, #reviewers, #committers
    
    Tags: #efl
    
    Maniphest Tasks: T8231
    
    Differential Revision: https://phab.enlightenment.org/D10158
---
 data/elementary/themes/edc/efl/button.edc   | 16 ++++++++--------
 data/elementary/themes/edc/efl/check.edc    | 16 ++++++++--------
 data/elementary/themes/edc/efl/popup.edc    |  4 ++--
 data/elementary/themes/edc/efl/progress.edc | 16 ++++++++--------
 data/elementary/themes/edc/efl/radio.edc    |  8 ++++----
 data/elementary/themes/edc/efl/tab_bar.edc  |  4 ++--
 src/lib/elementary/efl_ui_layout.c          | 23 +++++++++++++++--------
 7 files changed, 47 insertions(+), 40 deletions(-)

diff --git a/data/elementary/themes/edc/efl/button.edc 
b/data/elementary/themes/edc/efl/button.edc
index 0f24ebbf7e..cf86312688 100644
--- a/data/elementary/themes/edc/efl/button.edc
+++ b/data/elementary/themes/edc/efl/button.edc
@@ -331,7 +331,7 @@ group { name: "efl/button"; data.item: "version" "123";
          target: "base";
       }
       program { name: "button_text_visible";
-         signal: "efl,state,text,set"; source: "efl";
+         signal: "efl,text,set"; source: "efl";
          script {
             new m = get_int(btmode);
             m |= LABEL; set_int(btmode, m);
@@ -339,7 +339,7 @@ group { name: "efl/button"; data.item: "version" "123";
          }
       }
       program { name: "button_text_hidden";
-         signal: "efl,state,text,unset"; source: "efl";
+         signal: "efl,text,unset"; source: "efl";
          script {
             new m = get_int(btmode);
             m &= ~LABEL; set_int(btmode, m);
@@ -347,7 +347,7 @@ group { name: "efl/button"; data.item: "version" "123";
          }
       }
       program { name: "button_icon_visible";
-         signal: "efl,state,content,set"; source: "efl";
+         signal: "efl,content,set"; source: "efl";
          script {
             new m = get_int(btmode);
             m |= ICON; set_int(btmode, m);
@@ -355,7 +355,7 @@ group { name: "efl/button"; data.item: "version" "123";
          }
       }
       program { name: "button_icon_hidden";
-         signal: "efl,state,content,unset"; source: "efl";
+         signal: "efl,content,unset"; source: "efl";
          script {
             new m = get_int(btmode);
             m &= ~ICON; set_int(btmode, m);
@@ -713,7 +713,7 @@ group { name: "efl/button:anchor"; data.item: "version" 
"123";
          action: SIGNAL_EMIT "efl,action,click" "efl";
       }
       program { name: "button_text_visible";
-         signal: "efl,state,text,set"; source: "efl";
+         signal: "efl,text,set"; source: "efl";
          script {
             new m = get_int(btmode);
             m |= LABEL; set_int(btmode, m);
@@ -721,7 +721,7 @@ group { name: "efl/button:anchor"; data.item: "version" 
"123";
          }
       }
       program { name: "button_text_hidden";
-         signal: "efl,state,text,unset"; source: "efl";
+         signal: "efl,text,unset"; source: "efl";
          script {
             new m = get_int(btmode);
             m &= ~LABEL; set_int(btmode, m);
@@ -729,7 +729,7 @@ group { name: "efl/button:anchor"; data.item: "version" 
"123";
          }
       }
       program { name: "button_icon_visible";
-         signal: "efl,state,content,set"; source: "efl";
+         signal: "efl,content,set"; source: "efl";
          script {
             new m = get_int(btmode);
             m |= ICON; set_int(btmode, m);
@@ -737,7 +737,7 @@ group { name: "efl/button:anchor"; data.item: "version" 
"123";
          }
       }
       program { name: "button_icon_hidden";
-         signal: "efl,state,content,unset"; source: "efl";
+         signal: "efl,content,unset"; source: "efl";
          script {
             new m = get_int(btmode);
             m &= ~ICON; set_int(btmode, m);
diff --git a/data/elementary/themes/edc/efl/check.edc 
b/data/elementary/themes/edc/efl/check.edc
index 62d85ed085..5aabedee9e 100644
--- a/data/elementary/themes/edc/efl/check.edc
+++ b/data/elementary/themes/edc/efl/check.edc
@@ -268,7 +268,7 @@ group { "efl/check"; data.item: "version" "123";
          target: "indicator";
       }
       program {
-         signal: "efl,state,text,set"; source: "efl";
+         signal: "efl,text,set"; source: "efl";
          script {
             new m = get_int(btmode);
             m |= LABEL; set_int(btmode, m);
@@ -276,7 +276,7 @@ group { "efl/check"; data.item: "version" "123";
          }
       }
       program {
-         signal: "efl,state,text,unset"; source: "efl";
+         signal: "efl,text,unset"; source: "efl";
          script {
             new m = get_int(btmode);
             m &= ~LABEL; set_int(btmode, m);
@@ -284,7 +284,7 @@ group { "efl/check"; data.item: "version" "123";
          }
       }
       program {
-         signal: "efl,state,content,set"; source: "efl";
+         signal: "efl,content,set"; source: "efl";
          script {
             new m = get_int(btmode);
             m |= ICON; set_int(btmode, m);
@@ -292,7 +292,7 @@ group { "efl/check"; data.item: "version" "123";
          }
       }
       program {
-         signal: "efl,state,content,unset"; source: "efl";
+         signal: "efl,content,unset"; source: "efl";
          script {
             new m = get_int(btmode);
             m &= ~ICON; set_int(btmode, m);
@@ -864,7 +864,7 @@ group { "efl/check:toggle"; data.item: "version" "123";
          target: "glow_but";
       }
       program {
-         signal: "efl,state,text,set"; source: "efl";
+         signal: "efl,text,set"; source: "efl";
          script {
             new m = get_int(btmode);
             m |= LABEL; set_int(btmode, m);
@@ -872,7 +872,7 @@ group { "efl/check:toggle"; data.item: "version" "123";
          }
       }
       program {
-         signal: "efl,state,text,unset"; source: "efl";
+         signal: "efl,text,unset"; source: "efl";
          script {
             new m = get_int(btmode);
             m &= ~LABEL; set_int(btmode, m);
@@ -880,7 +880,7 @@ group { "efl/check:toggle"; data.item: "version" "123";
          }
       }
       program {
-         signal: "efl,state,content,set"; source: "efl";
+         signal: "efl,content,set"; source: "efl";
          script {
             new m = get_int(btmode);
             m |= ICON; set_int(btmode, m);
@@ -888,7 +888,7 @@ group { "efl/check:toggle"; data.item: "version" "123";
          }
       }
       program {
-         signal: "efl,state,content,unset"; source: "efl";
+         signal: "efl,content,unset"; source: "efl";
          script {
             new m = get_int(btmode);
             m &= ~ICON; set_int(btmode, m);
diff --git a/data/elementary/themes/edc/efl/popup.edc 
b/data/elementary/themes/edc/efl/popup.edc
index 462fe29365..44557dc944 100644
--- a/data/elementary/themes/edc/efl/popup.edc
+++ b/data/elementary/themes/edc/efl/popup.edc
@@ -157,13 +157,13 @@ group { "efl/popup/backwall"; data.item: "version" "123";
 
    programs {
       program {
-         signal: "efl,state,content,set"; source: "efl";
+         signal: "efl,content,set"; source: "efl";
          action: STATE_SET "content_visible" 0.0;
          target: "base";
          target: "efl.content";
       }
       program {
-         signal: "efl,state,content,unset"; source: "efl";
+         signal: "efl,content,unset"; source: "efl";
          action: STATE_SET "default" 0.0;
          target: "base";
          target: "efl.content";
diff --git a/data/elementary/themes/edc/efl/progress.edc 
b/data/elementary/themes/edc/efl/progress.edc
index 23f3e07432..d319097727 100644
--- a/data/elementary/themes/edc/efl/progress.edc
+++ b/data/elementary/themes/edc/efl/progress.edc
@@ -505,7 +505,7 @@ group { "efl/progressbar/horizontal";
          target: "efl.text.status";
       }
       program { name: "text-visible";
-         signal: "efl,state,text,set"; source: "efl";
+         signal: "efl,text,set"; source: "efl";
          script {
             new m = get_int(slmode);
             m |= LABEL; set_int(slmode, m);
@@ -513,7 +513,7 @@ group { "efl/progressbar/horizontal";
          }
       }
       program { name: "text-hidden";
-         signal: "efl,state,text,unset"; source: "efl";
+         signal: "efl,text,unset"; source: "efl";
          script {
             new m = get_int(slmode);
             m &= ~LABEL; set_int(slmode, m);
@@ -521,7 +521,7 @@ group { "efl/progressbar/horizontal";
          }
       }
       program { name: "icon-visible";
-         signal: "efl,state,content,set"; source: "efl";
+         signal: "efl,content,set"; source: "efl";
          script {
             new m = get_int(slmode);
             m |= ICON; set_int(slmode, m);
@@ -529,7 +529,7 @@ group { "efl/progressbar/horizontal";
          }
       }
       program { name: "icon-hidden";
-         signal: "efl,state,content,unset"; source: "efl";
+         signal: "efl,content,unset"; source: "efl";
          script {
             new m = get_int(slmode);
             m &= ~ICON; set_int(slmode, m);
@@ -1079,7 +1079,7 @@ group { "efl/progressbar/vertical";
          target: "efl.text.status";
       }
       program { name: "text-visible";
-         signal: "efl,state,text,set"; source: "efl";
+         signal: "efl,text,set"; source: "efl";
          script {
             new m = get_int(slmode);
             m |= LABEL; set_int(slmode, m);
@@ -1087,7 +1087,7 @@ group { "efl/progressbar/vertical";
          }
       }
       program { name: "text-hidden";
-         signal: "efl,state,text,unset"; source: "efl";
+         signal: "efl,text,unset"; source: "efl";
          script {
             new m = get_int(slmode);
             m &= ~LABEL; set_int(slmode, m);
@@ -1095,7 +1095,7 @@ group { "efl/progressbar/vertical";
          }
       }
       program { name: "icon-visible";
-         signal: "efl,state,content,set"; source: "efl";
+         signal: "efl,content,set"; source: "efl";
          script {
             new m = get_int(slmode);
             m |= ICON; set_int(slmode, m);
@@ -1103,7 +1103,7 @@ group { "efl/progressbar/vertical";
          }
       }
       program { name: "icon-hidden";
-         signal: "efl,state,content,unset"; source: "efl";
+         signal: "efl,content,unset"; source: "efl";
          script {
             new m = get_int(slmode);
             m &= ~ICON; set_int(slmode, m);
diff --git a/data/elementary/themes/edc/efl/radio.edc 
b/data/elementary/themes/edc/efl/radio.edc
index c2fc2141c5..06b064cd4c 100644
--- a/data/elementary/themes/edc/efl/radio.edc
+++ b/data/elementary/themes/edc/efl/radio.edc
@@ -235,7 +235,7 @@ group { "efl/radio";
          target: "indicator";
       }
       program {
-         signal: "efl,state,text,set"; source: "efl";
+         signal: "efl,text,set"; source: "efl";
          script {
             new m = get_int(btmode);
             m |= LABEL; set_int(btmode, m);
@@ -243,7 +243,7 @@ group { "efl/radio";
          }
       }
       program {
-         signal: "efl,state,text,unset"; source: "efl";
+         signal: "efl,text,unset"; source: "efl";
          script {
             new m = get_int(btmode);
             m &= ~LABEL; set_int(btmode, m);
@@ -251,7 +251,7 @@ group { "efl/radio";
          }
       }
       program {
-         signal: "efl,state,content,set"; source: "efl";
+         signal: "efl,content,set"; source: "efl";
          script {
             new m = get_int(btmode);
             m |= ICON; set_int(btmode, m);
@@ -259,7 +259,7 @@ group { "efl/radio";
          }
       }
       program {
-         signal: "efl,state,content,unset"; source: "efl";
+         signal: "efl,content,unset"; source: "efl";
          script {
             new m = get_int(btmode);
             m &= ~ICON; set_int(btmode, m);
diff --git a/data/elementary/themes/edc/efl/tab_bar.edc 
b/data/elementary/themes/edc/efl/tab_bar.edc
index 6573bfe7c2..8f1a10549e 100644
--- a/data/elementary/themes/edc/efl/tab_bar.edc
+++ b/data/elementary/themes/edc/efl/tab_bar.edc
@@ -484,7 +484,7 @@ group { "efl/tab_bar/tab";
          target: "highlight";
       }
       program { name: "st1";
-         signal: "efl,state,text,unset"; source: "efl";
+         signal: "efl,text,unset"; source: "efl";
          script {
             new m = get_int(btmode);
             m &= ~LABEL; set_int(btmode, m);
@@ -492,7 +492,7 @@ group { "efl/tab_bar/tab";
          }
       }
       program { name: "st2";
-         signal: "efl,state,text,set"; source: "efl";
+         signal: "efl,text,set"; source: "efl";
          script {
             new m = get_int(btmode);
             m |= LABEL; set_int(btmode, m);
diff --git a/src/lib/elementary/efl_ui_layout.c 
b/src/lib/elementary/efl_ui_layout.c
index 2d73dee6f0..98f76e1749 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -244,23 +244,30 @@ _defer_version_signal(Efl_Ui_Layout_Data *sd, 
Eina_Stringshare *old_sig, Eina_St
 
 /* common content cases for layout objects: icon and text */
 static inline void
-_signals_emit(Eo *obj,
+_signals_emit(Efl_Ui_Layout_Data *sd,
               const char *type,
               Eina_Bool set)
 {
    char buf[1024];
 
-   if (elm_widget_is_legacy(obj))
+   if (elm_widget_is_legacy(sd->obj))
      {
         snprintf(buf, sizeof(buf), "elm,state,%s,%s", type,
                  set ? "visible" : "hidden");
-        efl_layout_signal_emit(obj, buf, "elm");
+        efl_layout_signal_emit(sd->obj, buf, "elm");
      }
    else
      {
-        snprintf(buf, sizeof(buf), "efl,state,%s,%s", type,
-                 set ? "set" : "unset");
-        efl_layout_signal_emit(obj, buf, "efl");
+        char buf2[1024];
+        char *use = buf;
+        if (sd->version >= 123) // efl,state,(content|text),(set|unset) -> 
efl,(content|text),(set|unset)
+          use = buf2;
+        snprintf(buf, sizeof(buf), "efl,state,%s,%s", type, set ? "set" : 
"unset");
+        snprintf(buf2, sizeof(buf2), "efl,%s,%s", type, set ? "set" : "unset");
+        if (efl_finalized_get(sd->obj))
+          efl_layout_signal_emit(sd->obj, use, "efl");
+        else
+          _defer_version_signal(sd, eina_stringshare_add(buf), 
eina_stringshare_add(buf2), 123);
      }
 }
 
@@ -311,7 +318,7 @@ _icon_signal_emit(Efl_Ui_Layout_Data *sd,
           type = sub_d->part;
      }
 
-   _signals_emit(sd->obj, type, visible);
+   _signals_emit(sd, type, visible);
 
    /* themes might need immediate action here */
    efl_layout_signal_process(sd->obj, EINA_FALSE);
@@ -359,7 +366,7 @@ _text_signal_emit(Efl_Ui_Layout_Data *sd,
           type = sub_d->part;
      }
 
-   _signals_emit(sd->obj, type, visible);
+   _signals_emit(sd, type, visible);
 
    /* TODO: is this right? It was like that, but IMO it should be removed: */
 

-- 


Reply via email to