forked from enlightenment/efl
naviframe: improve automatic previous button without breaking compatibility.
proper fix instead of r74428. SVN revision: 74450
This commit is contained in:
parent
de83b738fa
commit
f97856f4e7
|
@ -1,5 +1,7 @@
|
|||
group { name: "elm/button/base/default";
|
||||
alias: "elm/button/base/popup_button/default";
|
||||
alias: "elm/button/base/naviframe/back_btn/default";
|
||||
|
||||
images {
|
||||
image: "bt_base1.png" COMP;
|
||||
image: "bt_base2.png" COMP;
|
||||
|
@ -1103,193 +1105,6 @@ group { name: "elm/button/base/anchor";
|
|||
}
|
||||
}
|
||||
}
|
||||
group { name: "elm/button/base/naviframe/back_btn/default";
|
||||
images {
|
||||
image: "bt_base1.png" COMP;
|
||||
image: "bt_base2.png" COMP;
|
||||
image: "bt_hilight.png" COMP;
|
||||
image: "bt_shine.png" COMP;
|
||||
image: "bt_glow.png" COMP;
|
||||
image: "bt_dis_base.png" COMP;
|
||||
image: "bt_dis_hilight.png" COMP;
|
||||
image: "icon_left_arrow.png" COMP;
|
||||
}
|
||||
parts {
|
||||
part { name: "button_image";
|
||||
mouse_events: 1;
|
||||
description { state: "default" 0.0;
|
||||
min: 12 12;
|
||||
image {
|
||||
normal: "bt_base2.png";
|
||||
border: 7 7 7 7;
|
||||
}
|
||||
image.middle: SOLID;
|
||||
}
|
||||
description { state: "clicked" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
image.normal: "bt_base1.png";
|
||||
}
|
||||
description { state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
image {
|
||||
normal: "bt_dis_base.png";
|
||||
border: 4 4 4 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
part { name: "prev_image";
|
||||
type: IMAGE;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
min: 15 15;
|
||||
max: 15 15;
|
||||
fixed: 1 1;
|
||||
align: 0.5 0.5;
|
||||
image.normal: "icon_left_arrow.png";
|
||||
}
|
||||
}
|
||||
part { name: "over1";
|
||||
mouse_events: 0;
|
||||
description { state: "default" 0.0;
|
||||
rel2.relative: 1.0 0.5;
|
||||
image {
|
||||
normal: "bt_hilight.png";
|
||||
border: 7 7 7 0;
|
||||
}
|
||||
}
|
||||
description { state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
image {
|
||||
normal: "bt_dis_hilight.png";
|
||||
border: 4 4 4 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
part { name: "over2";
|
||||
mouse_events: 1;
|
||||
repeat_events: 1;
|
||||
ignore_flags: ON_HOLD;
|
||||
description { state: "default" 0.0;
|
||||
image {
|
||||
normal: "bt_shine.png";
|
||||
border: 7 7 7 7;
|
||||
}
|
||||
}
|
||||
description { state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 0;
|
||||
}
|
||||
}
|
||||
part { name: "over3";
|
||||
mouse_events: 1;
|
||||
repeat_events: 1;
|
||||
description { state: "default" 0.0;
|
||||
color: 255 255 255 0;
|
||||
image {
|
||||
normal: "bt_glow.png";
|
||||
border: 12 12 12 12;
|
||||
}
|
||||
fill.smooth : 0;
|
||||
}
|
||||
description { state: "clicked" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
color: 255 255 255 255;
|
||||
}
|
||||
}
|
||||
part { name: "disabler";
|
||||
type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program {
|
||||
name: "button_click";
|
||||
signal: "mouse,down,1";
|
||||
source: "over2";
|
||||
action: SIGNAL_EMIT "elm,action,press" "";
|
||||
after: "button_click_anim";
|
||||
}
|
||||
program {
|
||||
name: "button_click_anim";
|
||||
action: STATE_SET "clicked" 0.0;
|
||||
target: "button_image";
|
||||
}
|
||||
program {
|
||||
name: "button_unclick";
|
||||
signal: "mouse,up,1";
|
||||
source: "over3";
|
||||
action: SIGNAL_EMIT "elm,action,unpress" "";
|
||||
after: "button_unclick_anim";
|
||||
}
|
||||
program {
|
||||
name: "button_pressed_anim";
|
||||
signal: "elm,anim,activate";
|
||||
source: "elm";
|
||||
action: STATE_SET "clicked" 0.0;
|
||||
target: "button_image";
|
||||
target: "over3";
|
||||
after: "button_unpressed_anim";
|
||||
}
|
||||
program {
|
||||
name: "button_unpressed_anim";
|
||||
action: STATE_SET "default" 0.0;
|
||||
transition: DECELERATE 0.5;
|
||||
target: "button_image";
|
||||
target: "over3";
|
||||
}
|
||||
program {
|
||||
name: "button_unclick_anim";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "button_image";
|
||||
}
|
||||
program {
|
||||
name: "button_click2";
|
||||
signal: "mouse,down,1";
|
||||
source: "over3";
|
||||
action: STATE_SET "clicked" 0.0;
|
||||
target: "over3";
|
||||
}
|
||||
program {
|
||||
name: "button_unclick2";
|
||||
signal: "mouse,up,1";
|
||||
source: "over3";
|
||||
action: STATE_SET "default" 0.0;
|
||||
transition: DECELERATE 0.5;
|
||||
target: "over3";
|
||||
}
|
||||
program {
|
||||
name: "button_unclick3";
|
||||
signal: "mouse,clicked,1";
|
||||
source: "over2";
|
||||
action: SIGNAL_EMIT "elm,action,click" "";
|
||||
}
|
||||
program { name: "disable";
|
||||
signal: "elm,state,disabled";
|
||||
source: "elm";
|
||||
action: STATE_SET "disabled" 0.0;
|
||||
target: "button_image";
|
||||
target: "over1";
|
||||
target: "over2";
|
||||
target: "disabler";
|
||||
}
|
||||
program { name: "enable";
|
||||
signal: "elm,state,enabled";
|
||||
source: "elm";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "button_image";
|
||||
target: "over1";
|
||||
target: "over2";
|
||||
target: "disabler";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "elm/button/base/colorselector/left/default";
|
||||
images {
|
||||
|
|
|
@ -632,7 +632,7 @@ _on_item_back_btn_clicked(void *data,
|
|||
static Evas_Object *
|
||||
_back_btn_new(Evas_Object *obj, const char *title_label)
|
||||
{
|
||||
Evas_Object *btn;
|
||||
Evas_Object *btn, *ed;
|
||||
char buf[1024];
|
||||
|
||||
btn = elm_button_add(obj);
|
||||
|
@ -648,6 +648,24 @@ _back_btn_new(Evas_Object *obj, const char *title_label)
|
|||
else
|
||||
elm_object_domain_translatable_text_set(btn, PACKAGE, N_("Back"));
|
||||
|
||||
/* HACK NOTE: this explicit check only exists to avoid an ERR()
|
||||
* message from elm_layout_content_set().
|
||||
*
|
||||
* The button was ALWAYS supposed to support an elm.swallow.content, but
|
||||
* default naviframe/back_btn/default theme did not provide such, then
|
||||
* old themes would emit such error message.
|
||||
*
|
||||
* Once we can break the theme API, remove this check and always
|
||||
* set an icon.
|
||||
*/
|
||||
ed = elm_layout_edje_get(btn);
|
||||
if (edje_object_part_exists(ed, "elm.swallow.content"))
|
||||
{
|
||||
Evas_Object *ico = elm_icon_add(btn);
|
||||
elm_icon_standard_set(ico, "arrow_left");
|
||||
elm_layout_content_set(btn, "elm.swallow.content", ico);
|
||||
}
|
||||
|
||||
return btn;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue