default theme: fix part names in elm/calendar

Summary: Ref T6967

Reviewers: zmike, devilhorns

Reviewed By: zmike

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T6967

Differential Revision: https://phab.enlightenment.org/D6453
This commit is contained in:
Xavi Artigas 2018-06-29 11:32:03 -04:00 committed by Mike Blumenkrantz
parent 2137ce7e1e
commit ce9f568cc9
2 changed files with 111 additions and 92 deletions

View File

@ -98,7 +98,7 @@
}
#define CH(_pos) \
part { name: "ch_"#_pos".base"; type: SPACER; \
part { name: "ch_"#_pos"_base"; type: SPACER; \
description { state: "default" 0.0; \
rel1 { \
relative: (_pos % 7 / 7) 0.0; \
@ -110,13 +110,13 @@
} \
} \
} \
part { name: "ch_"#_pos".text"; type: TEXT; mouse_events: 0; \
part { name: "elm.ch_"#_pos".text"; type: TEXT; mouse_events: 0; \
effect: SHADOW BOTTOM; \
scale: 1; \
clip_to: "ch_"#_pos".clipper"; \
clip_to: "ch_"#_pos"_clipper"; \
description { state: "default" 0.0; \
rel1.to: "ch_"#_pos".base"; \
rel2.to: "ch_"#_pos".base"; \
rel1.to: "ch_"#_pos"_base"; \
rel2.to: "ch_"#_pos"_base"; \
text { font: FN; size: 8; \
min: 1 1; \
ellipsis: -1; \
@ -125,15 +125,15 @@
color_class: "calendar_weekday_text"; \
} \
} \
part { name: "ch_"#_pos".clipper"; type: RECT; \
part { name: "ch_"#_pos"_clipper"; type: RECT; \
description { state: "default" 0.0; \
rel1.to: "ch_"#_pos".base"; \
rel2.to: "ch_"#_pos".base"; \
rel1.to: "ch_"#_pos"_base"; \
rel2.to: "ch_"#_pos"_base"; \
} \
}
#define CIT(_pos) \
part { name: "cit_"#_pos".rect"; type: SPACER; \
part { name: "cit_"#_pos"_rect"; type: SPACER; \
description { state: "default" 0.0; \
rel1 { \
relative: (_pos % 7 / 7) \
@ -147,18 +147,18 @@
} \
} \
} \
part { name: "cit_"#_pos".event"; type: RECT; repeat_events: 1; \
part { name: "cit_"#_pos"_event"; type: RECT; repeat_events: 1; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos".rect"; \
rel2.to: "cit_"#_pos".rect"; \
rel1.to: "cit_"#_pos"_rect"; \
rel2.to: "cit_"#_pos"_rect"; \
color: 0 0 0 0; \
} \
} \
part { name: "cit_"#_pos".pat"; mouse_events: 0; \
part { name: "cit_"#_pos"_pat"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos".selected"; \
rel1.to: "cit_"#_pos"_selected"; \
rel1.offset: 1 1; \
rel2.to: "cit_"#_pos".selected"; \
rel2.to: "cit_"#_pos"_selected"; \
rel2.offset: -2 -2; \
image.normal: "diagonal_stripes.png"; \
color: 255 255 255 25; \
@ -171,10 +171,10 @@
visible: 1; \
} \
} \
part { name: "cit_"#_pos".selected"; mouse_events: 0; \
part { name: "cit_"#_pos"_selected"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos".rect"; \
rel2.to: "cit_"#_pos".rect"; \
rel1.to: "cit_"#_pos"_rect"; \
rel2.to: "cit_"#_pos"_rect"; \
image.normal: "outline_glow.png"; \
image.border: 4 4 4 4; \
color_class: "calendar_day_selected"; \
@ -185,10 +185,10 @@
visible: 1; \
} \
} \
part { name: "cit_"#_pos".selected2"; mouse_events: 0; \
part { name: "cit_"#_pos"_selected2"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos".rect"; \
rel2.to: "cit_"#_pos".rect"; \
rel1.to: "cit_"#_pos"_rect"; \
rel2.to: "cit_"#_pos"_rect"; \
image.normal: "outline_glow.png"; \
image.border: 4 4 4 4; \
color: 255 255 255 128; \
@ -200,10 +200,10 @@
visible: 1; \
} \
} \
part { name: "cit_"#_pos".glow"; mouse_events: 0; \
part { name: "cit_"#_pos"_glow"; mouse_events: 0; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos".rect"; \
rel2.to: "cit_"#_pos".rect"; \
rel1.to: "cit_"#_pos"_rect"; \
rel2.to: "cit_"#_pos"_rect"; \
image.normal: "box_glow.png"; \
image.border: 12 12 12 12; \
image.middle: 0; \
@ -215,11 +215,11 @@
visible: 1; \
} \
} \
part { name: "cit_"#_pos".text"; type: TEXTBLOCK; mouse_events: 0; \
part { name: "elm.cit_"#_pos".text"; type: TEXTBLOCK; mouse_events: 0; \
scale: 1; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos".rect"; \
rel2.to: "cit_"#_pos".rect"; \
rel1.to: "cit_"#_pos"_rect"; \
rel2.to: "cit_"#_pos"_rect"; \
text.style: "calendar_date_style"; \
text.min: 1 1; \
text.ellipsis: -1; \
@ -245,16 +245,16 @@
text.style: "calendar_date_weekend2_style"; \
} \
} \
part { name: "cit_"#_pos".check"; mouse_events: 0; \
part { name: "cit_"#_pos"_check"; mouse_events: 0; \
scale: 1; \
description { state: "default" 0.0; \
fixed: 1 1; \
rel1 { \
to: "cit_"#_pos".rect"; \
to: "cit_"#_pos"_rect"; \
relative: 0.6 0.5; \
} \
rel2 { \
to: "cit_"#_pos".rect"; \
to: "cit_"#_pos"_rect"; \
relative: 0.6 0.5; \
} \
min: 16 16; \
@ -270,173 +270,173 @@
visible: 1; \
} \
} \
part { name: "cit_"#_pos".access"; type: RECT; repeat_events: 1; \
part { name: "elm.cit_"#_pos".access"; type: RECT; repeat_events: 1; \
description { state: "default" 0.0; \
rel1.to: "cit_"#_pos".event"; \
rel2.to: "cit_"#_pos".event"; \
rel1.to: "cit_"#_pos"_event"; \
rel2.to: "cit_"#_pos"_event"; \
color: 0 0 0 0; \
} \
} \
programs { \
program { \
name: "cit_"#_pos".go_active"; \
name: "cit_"#_pos"_go_active"; \
signal: "cit_"#_pos",selected"; \
source: "elm"; \
action: STATE_SET "selected" 0.0; \
target: "cit_"#_pos".pat"; \
target: "cit_"#_pos".selected"; \
target: "cit_"#_pos"_pat"; \
target: "cit_"#_pos"_selected"; \
} \
program { \
name: "cit_"#_pos".go_passive"; \
name: "cit_"#_pos"_go_passive"; \
signal: "cit_"#_pos",unselected"; \
source: "elm"; \
action: STATE_SET "default" 0.0; \
target: "cit_"#_pos".pat"; \
target: "cit_"#_pos".selected"; \
target: "cit_"#_pos"_pat"; \
target: "cit_"#_pos"_selected"; \
} \
program { \
name: "cit_"#_pos".focus_highlighted"; \
name: "cit_"#_pos"_focus_highlighted"; \
signal: "cit_"#_pos",focused"; \
source: "elm"; \
script { \
set_int(item_focus_enabled, 1); \
set_int(last_focused_item, _pos); \
if (get_int(win_focus_enabled) == 1) \
set_state(PART:"cit_"#_pos".glow", "focused", 0.0); \
set_state(PART:"cit_"#_pos"_glow", "focused", 0.0); \
} \
} \
program { \
name: "cit_"#_pos".focus_unhighlighed"; \
name: "cit_"#_pos"_focus_unhighlighed"; \
signal: "cit_"#_pos",unfocused"; \
source: "elm"; \
script { \
set_int(item_focus_enabled, 0); \
set_state(PART:"cit_"#_pos".glow", "default", 0.0); \
set_state(PART:"cit_"#_pos"_glow", "default", 0.0); \
} \
} \
program { \
name: "cit_"#_pos".is_today"; \
name: "cit_"#_pos"_is_today"; \
signal: "cit_"#_pos",today"; \
source: "elm"; \
action: STATE_SET "today" 0.0; \
target: "cit_"#_pos".text"; \
target: "elm.cit_"#_pos".text"; \
} \
program { \
name: "cit_"#_pos".not_today"; \
name: "cit_"#_pos"_not_today"; \
signal: "cit_"#_pos",not_today"; \
source: "elm"; \
action: STATE_SET "default" 0.0; \
target: "cit_"#_pos".text"; \
target: "elm.cit_"#_pos".text"; \
} \
program { \
name: "cit_"#_pos".enable"; \
name: "cit_"#_pos"_enable"; \
signal: "cit_"#_pos",enable"; \
source: "elm"; \
script { \
new st[31]; \
new Float:vl; \
get_state(PART:"cit_"#_pos".text", st, 30, vl); \
get_state(PART:"elm.cit_"#_pos".text", st, 30, vl); \
if (!strcmp(st, "disabled")) \
set_state(PART:"cit_"#_pos".text", "default", 0.0); \
set_state(PART:"elm.cit_"#_pos".text", "default", 0.0); \
} \
} \
program { \
name: "cit_"#_pos".disable"; \
name: "cit_"#_pos"_disable"; \
signal: "cit_"#_pos",disable"; \
source: "elm"; \
action: STATE_SET "disabled" 0.0; \
target: "cit_"#_pos".text"; \
target: "elm.cit_"#_pos".text"; \
} \
program { \
source: "cit_"#_pos".clicked"; \
source: "cit_"#_pos"_clicked"; \
signal: "mouse,down,1"; \
source: "cit_"#_pos".event"; \
source: "cit_"#_pos"_event"; \
action: STATE_SET "highlighted" 0.0; \
target: "cit_"#_pos".selected2"; \
target: "cit_"#_pos"_selected2"; \
} \
program { \
source: "cit_"#_pos".clicked"; \
source: "cit_"#_pos"_clicked"; \
signal: "mouse,up,1"; \
source: "cit_"#_pos".event"; \
source: "cit_"#_pos"_event"; \
action: STATE_SET "default" 0.0; \
target: "cit_"#_pos".selected2"; \
target: "cit_"#_pos"_selected2"; \
} \
program { \
source: "cit_"#_pos".clicked"; \
source: "cit_"#_pos"_clicked"; \
signal: "mouse,clicked,1"; \
source: "cit_"#_pos".event"; \
source: "cit_"#_pos"_event"; \
action: SIGNAL_EMIT "elm,action,selected" #_pos; \
} \
program { \
name: "cit_"#_pos".clear"; \
name: "cit_"#_pos"_clear"; \
signal: "cit_"#_pos",clear"; \
source: "elm"; \
action: STATE_SET "default" 0.0; \
target: "cit_"#_pos".check"; \
after: "cit_"#_pos".weekends_clear"; \
after: "cit_"#_pos".holiday_clear"; \
target: "cit_"#_pos"_check"; \
after: "cit_"#_pos"_weekends_clear"; \
after: "cit_"#_pos"_holiday_clear"; \
} \
program { \
name: "cit_"#_pos".weekends_clear"; \
name: "cit_"#_pos"_weekends_clear"; \
script { \
new st[31]; \
new Float:vl; \
get_state(PART:"cit_"#_pos".text", st, 30, vl); \
get_state(PART:"elm.cit_"#_pos".text", st, 30, vl); \
if (!strcmp(st, "weekend/day1") || !strcmp(st, "weekend/day2")) \
set_state(PART:"cit_"#_pos".text", "default", 0.0); \
set_state(PART:"elm.cit_"#_pos".text", "default", 0.0); \
} \
} \
program { \
name: "cit_"#_pos".holiday_clear"; \
name: "cit_"#_pos"_holiday_clear"; \
script { \
new st[31]; \
new Float:vl; \
get_state(PART:"cit_"#_pos".text", st, 30, vl); \
get_state(PART:"elm.cit_"#_pos".text", st, 30, vl); \
if (!strcmp(st, "holiday")) \
set_state(PART:"cit_"#_pos".text", "default", 0.0); \
set_state(PART:"elm.cit_"#_pos".text", "default", 0.0); \
} \
} \
program { \
name: "cit_"#_pos".checked"; \
name: "cit_"#_pos"_checked"; \
signal: "cit_"#_pos",checked"; \
source: "elm"; \
action: STATE_SET "visible" 0.0; \
target: "cit_"#_pos".check"; \
target: "cit_"#_pos"_check"; \
} \
program { \
name: "cit_"#_pos".holiday"; \
name: "cit_"#_pos"_holiday"; \
signal: "cit_"#_pos",holiday"; \
source: "elm"; \
script { \
new st[31]; \
new Float:vl; \
get_state(PART:"cit_"#_pos".text", st, 30, vl); \
get_state(PART:"elm.cit_"#_pos".text", st, 30, vl); \
if (strcmp(st, "today")) \
set_state(PART:"cit_"#_pos".text", "holiday", 0.0); \
set_state(PART:"elm.cit_"#_pos".text", "holiday", 0.0); \
} \
} \
program { \
name: "cit_"#_pos".weekend/day1"; \
name: "cit_"#_pos"_weekend/day1"; \
signal: "cit_"#_pos",weekend/day1"; \
source: "elm"; \
script { \
new st[31]; \
new Float:vl; \
get_state(PART:"cit_"#_pos".text", st, 30, vl); \
get_state(PART:"elm.cit_"#_pos".text", st, 30, vl); \
if ((strcmp(st, "today")) && (strcmp(st, "holiday")) )\
set_state(PART:"cit_"#_pos".text", "weekend/day1", 0.0); \
set_state(PART:"elm.cit_"#_pos".text", "weekend/day1", 0.0); \
} \
} \
program { \
name: "cit_"#_pos".weekend/day2"; \
name: "cit_"#_pos"_weekend/day2"; \
signal: "cit_"#_pos",weekend/day2"; \
source: "elm"; \
script { \
new st[31]; \
new Float:vl; \
get_state(PART:"cit_"#_pos".text", st, 30, vl); \
get_state(PART:"elm.cit_"#_pos".text", st, 30, vl); \
if ((strcmp(st, "today")) && (strcmp(st, "holiday")) )\
set_state(PART:"cit_"#_pos".text", "weekend/day2", 0.0); \
set_state(PART:"elm.cit_"#_pos".text", "weekend/day2", 0.0); \
} \
} \
}

View File

@ -23,6 +23,22 @@
#define ELM_CALENDAR_BUTTON_YEAR_LEFT "elm,calendar,button_year,left"
#define ELM_CALENDAR_BUTTON_YEAR_RIGHT "elm,calendar,button_year,right"
#define ELM_CALENDAR_CH_TEXT_PART_STR "elm.ch_%d.text"
#define ELM_CALENDAR_CIT_TEXT_PART_STR "elm.cit_%d.text"
#define ELM_CALENDAR_CIT_ACCESS_PART_STR "elm.cit_%d.access"
static void _part_name_snprintf(char *buffer, int buffer_size,
const Evas_Object *obj, const char *template, int n)
{
snprintf(buffer, buffer_size, template, n);
if (!edje_object_part_exists (obj, buffer))
{
// Skip the namespace prefix "elm." which was not present
// in previous versions
snprintf(buffer, buffer_size, template + 4, n);
}
}
static const char SIG_CHANGED[] = "changed";
static const char SIG_DISPLAY_CHANGED[] = "display,changed";
@ -345,7 +361,7 @@ static void
_access_calendar_item_register(Evas_Object *obj)
{
unsigned int maxdays, i;
char day_s[13], pname[14];
char day_s[13], pname[18];
unsigned day = 0;
Evas_Object *ao;
@ -357,7 +373,8 @@ _access_calendar_item_register(Evas_Object *obj)
if ((!day) && (i == sd->first_day_it)) day = 1;
if ((day) && (day <= maxdays))
{
snprintf(pname, sizeof(pname), "cit_%i.access", i);
_part_name_snprintf(pname, sizeof(pname),
elm_layout_edje_get(obj), ELM_CALENDAR_CIT_ACCESS_PART_STR, i);
ao = _elm_access_edje_object_part_object_register
(obj, elm_layout_edje_get(obj), pname);
@ -371,7 +388,8 @@ _access_calendar_item_register(Evas_Object *obj)
}
else
{
snprintf(pname, sizeof(pname), "cit_%i.access", i);
_part_name_snprintf(pname, sizeof(pname),
elm_layout_edje_get(obj), ELM_CALENDAR_CIT_ACCESS_PART_STR, i);
_elm_access_edje_object_part_object_unregister
(obj, elm_layout_edje_get(obj), pname);
}
@ -465,7 +483,7 @@ _populate(Evas_Object *obj)
{
int maxdays, adjusted_wday, prev_month_maxdays, day, mon, yr, i;
Elm_Calendar_Mark *mark;
char part[12], day_s[3];
char part[16], day_s[3];
struct tm first_day;
Eina_List *l;
Eina_Bool last_row = EINA_TRUE;
@ -587,7 +605,7 @@ _populate(Evas_Object *obj)
snprintf(day_s, sizeof(day_s), "%i", i - sd->first_day_it - maxdays + 1);
}
snprintf(part, sizeof(part), "cit_%i.text", i);
_part_name_snprintf(part, sizeof(part), obj, ELM_CALENDAR_CIT_TEXT_PART_STR, i);
elm_layout_text_set(obj, part, day_s);
/* Clear previous marks */
@ -690,7 +708,7 @@ _populate(Evas_Object *obj)
static void
_set_headers(Evas_Object *obj)
{
static char part[] = "ch_0.text";
static char part[64];
int i;
struct tm *t;
time_t temp = 259200; // the first sunday since epoch
@ -726,7 +744,7 @@ _set_headers(Evas_Object *obj)
for (i = 0; i < ELM_DAY_LAST; i++)
{
part[3] = i + '0';
_part_name_snprintf(part, sizeof(part), obj, ELM_CALENDAR_CH_TEXT_PART_STR, i);
elm_layout_text_set(obj, part, sd->weekdays[(i + sd->first_week_day) % ELM_DAY_LAST]);
}
@ -1551,8 +1569,9 @@ _access_obj_process(Evas_Object *obj, Eina_Bool is_access)
if ((!day) && (i == sd->first_day_it)) day = 1;
if ((day) && (day <= maxdays))
{
char pname[14];
snprintf(pname, sizeof(pname), "cit_%i.access", i);
char pname[18];
_part_name_snprintf(pname, sizeof(pname),
obj, ELM_CALENDAR_CIT_ACCESS_PART_STR, i);
_elm_access_edje_object_part_object_unregister
(obj, elm_layout_edje_get(obj), pname);
@ -2040,13 +2059,13 @@ typedef struct {
EOLIAN static void
_elm_calendar_item_day_number_set(Eo *obj, Elm_Calendar_Item_Data *pd, int i)
{
char pname[14];
char pname[18];
Evas_Object *po, *o;
pd->v = i;
snprintf(pname, sizeof(pname), "cit_%i.access", i);
o = elm_layout_edje_get(efl_parent_get(obj));
_part_name_snprintf(pname, sizeof(pname), o, ELM_CALENDAR_CIT_ACCESS_PART_STR, i);
edje_object_freeze(o);
po = (Evas_Object *)edje_object_part_object_get(o, pname);
edje_object_thaw(o);