allow theme of fileselector_entry components.

Right now I'm abusing style, setting fileselector_entry/$style on
items, however if it's not found the fallback will be 'default' and
not 'fileselector_entry/default' as it should be.

I'm wondering if this should be implemented in elm_theme.c by
replacing the last '/$component' with '/default', the remove it and
try again, like:

{{{
        input = a/b/c
        pass1 = a/b/default
        pass2 = a/b
        pass3 = a/default
        pass4 = a
        pass5 = default
}}}



SVN revision: 53423
This commit is contained in:
Gustavo Sverzut Barbieri 2010-10-14 18:24:24 +00:00
parent a1128c6d91
commit 475318f728
1 changed files with 11 additions and 2 deletions

View File

@ -131,12 +131,19 @@ static void
_theme_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
const char *style = elm_widget_style_get(obj);
char buf[1024];
if (!wd) return;
_elm_theme_object_set
(obj, wd->edje, "fileselector_entry", "base", elm_widget_style_get(obj));
_elm_theme_object_set(obj, wd->edje, "fileselector_entry", "base", style);
if (elm_object_disabled_get(obj))
edje_object_signal_emit(wd->edje, "elm,state,disabled", "elm");
if (!style) style = "default";
snprintf(buf, sizeof(buf), "fileselector_entry/%s", style);
elm_widget_style_set(wd->button, buf);
elm_widget_style_set(wd->entry, buf);
edje_object_part_swallow(obj, "elm.swallow.button", wd->button);
edje_object_part_swallow(obj, "elm.swallow.entry", wd->entry);
@ -200,6 +207,7 @@ elm_fileselector_entry_add(Evas_Object *parent)
elm_widget_resize_object_set(obj, wd->edje);
wd->button = elm_fileselector_button_add(obj);
elm_widget_style_set(wd->button, "fileselector_entry/default");
edje_object_part_swallow(wd->edje, "elm.swallow.button", wd->button);
elm_widget_sub_object_add(obj, wd->button);
evas_object_event_callback_add
@ -213,6 +221,7 @@ elm_fileselector_entry_add(Evas_Object *parent)
#undef SIG_FWD
wd->entry = elm_scrolled_entry_add(obj);
elm_widget_style_set(wd->entry, "fileselector_entry/default");
elm_scrolled_entry_single_line_set(wd->entry, EINA_TRUE);
elm_scrolled_entry_editable_set(wd->entry, EINA_TRUE);
edje_object_part_swallow(wd->edje, "elm.swallow.entry", wd->entry);