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
This commit is contained in:
Mike Blumenkrantz 2019-09-25 17:55:35 -04:00
parent f24ce654c0
commit 9b18e5a291
7 changed files with 47 additions and 40 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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";

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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: */