Page MenuHomePhabricator

interface widgets use non-namespaced edje part names
Closed, ResolvedPublic

Description

A number of "new" widgets (efl_ui_XYZ) have been implemented using edje part names like 'indicator' or 'first'. These part names must be namespaced like 'efl.indicator' or 'efl.first'.

Problematic cases can be found with something like grep -nw 'efl_part' src/lib/elementary/*c|grep '"'|grep -v '"elm.\|"efl.':

src/lib/elementary/efl_ui_panes.c:218:        first_content = efl_content_get(efl_part(obj, "first"));
src/lib/elementary/efl_ui_panes.c:219:        second_content = efl_content_get(efl_part(obj, "second"));
src/lib/elementary/efl_ui_popup_alert.c:34:             efl_text_set(efl_part(efl_super(obj, MY_CLASS), "title"), label);
src/lib/elementary/efl_ui_popup_alert_scroll.c:165:        efl_content_set(efl_part(pd->scroller, "default"), pd->content);
src/lib/elementary/efl_ui_popup_alert_scroll.c:196:        return efl_content_unset(efl_part(pd->scroller, "default"));
src/lib/elementary/efl_ui_popup_alert_text.c:201:             efl_content_set(efl_part(pd->scroller, "default"), pd->message);
src/lib/elementary/efl_ui_slider.c:1192:   efl_ui_format_string_set(efl_part(obj, "indicator"), "%0.2f");
src/lib/elementary/efl_ui_slider.c:1490:   efl_ui_format_cb_set(efl_part(pd->obj, "indicator"), pd->obj, _indi_default_format_cb, _indi_default_format_free_cb);
src/lib/elementary/efl_ui_slider.c:1753:   efl_ui_format_string_set(efl_part(obj, "indicator"), indicator);
src/lib/elementary/efl_ui_slider.c:1759:   return efl_ui_format_string_get(efl_part(obj, "indicator"));
src/lib/elementary/efl_ui_slider.c:1770:   efl_ui_format_cb_set(efl_part(obj, "indicator"), sfwd,
src/lib/elementary/efl_ui_slider.c:1778:   efl_ui_slider_part_indicator_visible_mode_set(efl_part(obj, "indicator"),
src/lib/elementary/efl_ui_slider.c:1786:   return (efl_ui_slider_part_indicator_visible_mode_get(efl_part(obj, "indicator"))
src/lib/elementary/efl_ui_slider.c:1827:   efl_ui_slider_part_indicator_visible_mode_set(efl_part(obj, "indicator"), indicator_visible_mode);
src/lib/elementary/efl_ui_slider.c:1833:   return efl_ui_slider_part_indicator_visible_mode_get(efl_part(obj, "indicator"));

These cases must all be namespaced before the release, and further patch submissions which contain non-namespaced part names must be rejected.

zmike created this task.May 1 2018, 2:08 PM
zmike triaged this task as Showstopper Issues priority.
zmike added a comment.May 2 2018, 10:34 AM

I've created a patch to enforce this, and it seems to also be good at finding other common edc errors. I think this ticket should just track resolving all errors discovered using this new feature.

bu5hm4n added a project: Restricted Project.Jun 10 2018, 10:57 AM
zmike edited projects, added Restricted Project; removed efl.Jun 11 2018, 6:50 AM
bu5hm4n edited projects, added efl: widgets; removed Restricted Project.Jun 11 2018, 7:24 AM

Isn't this task related to T6966? Should this one be closed when the other one closes?

zmike added a comment.Jul 5 2018, 8:16 AM

Hm somehow it isn't linked.

zmike closed this task as Resolved.Jul 13 2018, 11:07 AM
zmike claimed this task.