|
|
|
@ -1,66 +1,69 @@ |
|
|
|
|
#include "e.h" |
|
|
|
|
|
|
|
|
|
typedef struct _CFColor_Class CFColor_Class; |
|
|
|
|
typedef struct _CFColor_Class CFColor_Class; |
|
|
|
|
typedef struct _CFColor_Class_Description CFColor_Class_Description; |
|
|
|
|
|
|
|
|
|
typedef enum { |
|
|
|
|
COLOR_CLASS_UNKNOWN = 0, |
|
|
|
|
COLOR_CLASS_SOLID = 1, |
|
|
|
|
COLOR_CLASS_TEXT = 2 |
|
|
|
|
COLOR_CLASS_UNKNOWN = 0, |
|
|
|
|
COLOR_CLASS_SOLID = 1, |
|
|
|
|
COLOR_CLASS_TEXT = 2 |
|
|
|
|
} CFColor_Class_Type; |
|
|
|
|
|
|
|
|
|
struct _CFColor_Class |
|
|
|
|
{ |
|
|
|
|
const char *key; |
|
|
|
|
const char *name; |
|
|
|
|
const char *key; |
|
|
|
|
const char *name; |
|
|
|
|
|
|
|
|
|
E_Color_Class *cc; |
|
|
|
|
|
|
|
|
|
struct { |
|
|
|
|
int r[3], g[3], b[3], a[3]; |
|
|
|
|
struct |
|
|
|
|
{ |
|
|
|
|
int r[3], g[3], b[3], a[3]; |
|
|
|
|
Eina_Bool changed; |
|
|
|
|
Eina_Bool enabled; |
|
|
|
|
} val; |
|
|
|
|
|
|
|
|
|
struct { |
|
|
|
|
Evas_Object *icon; |
|
|
|
|
Evas_Object *end; |
|
|
|
|
struct |
|
|
|
|
{ |
|
|
|
|
Evas_Object *icon; |
|
|
|
|
Evas_Object *end; |
|
|
|
|
CFColor_Class_Type type; |
|
|
|
|
} gui; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
struct _E_Config_Dialog_Data |
|
|
|
|
{ |
|
|
|
|
int state; |
|
|
|
|
E_Color color[3]; |
|
|
|
|
int state; |
|
|
|
|
E_Color color[3]; |
|
|
|
|
|
|
|
|
|
Eina_List *classes; |
|
|
|
|
Eina_List *selected; |
|
|
|
|
Eina_List *changed; |
|
|
|
|
|
|
|
|
|
struct { |
|
|
|
|
Evas *evas; |
|
|
|
|
struct |
|
|
|
|
{ |
|
|
|
|
Evas *evas; |
|
|
|
|
Evas_Object *ilist; |
|
|
|
|
Evas_Object *frame; |
|
|
|
|
Evas_Object *state; |
|
|
|
|
Evas_Object *color[3]; |
|
|
|
|
Evas_Object *reset; |
|
|
|
|
Evas_Object *text_preview; |
|
|
|
|
Eina_List *disable_list; |
|
|
|
|
Eina_List *disable_list; |
|
|
|
|
} gui; |
|
|
|
|
|
|
|
|
|
Ecore_Timer *delay_load_timer; |
|
|
|
|
Ecore_Timer *delay_color_timer; |
|
|
|
|
Ecore_Idler *selection_idler; |
|
|
|
|
|
|
|
|
|
Eina_Bool populating; |
|
|
|
|
Eina_Bool populating; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
struct _CFColor_Class_Description |
|
|
|
|
{ |
|
|
|
|
const char *key; |
|
|
|
|
size_t keylen; |
|
|
|
|
const char *name; |
|
|
|
|
const char *key; |
|
|
|
|
size_t keylen; |
|
|
|
|
const char *name; |
|
|
|
|
CFColor_Class_Type type; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
@ -72,76 +75,75 @@ struct _CFColor_Class_Description |
|
|
|
|
*/ |
|
|
|
|
static const CFColor_Class_Description _color_classes_wm[] = |
|
|
|
|
{ |
|
|
|
|
CCDESC_T("border_title", N_("Border Title")), |
|
|
|
|
CCDESC_T("border_title_active", N_("Border Title Active")), |
|
|
|
|
CCDESC_T("border_frame", N_("Border Frame")), |
|
|
|
|
CCDESC_T("border_frame_active", N_("Border Frame Active")), |
|
|
|
|
CCDESC_T("error_text", N_("Error Text")), |
|
|
|
|
CCDESC_S("menu_base", N_("Menu Background Base")), |
|
|
|
|
CCDESC_T("menu_title", N_("Menu Title")), |
|
|
|
|
CCDESC_T("menu_title_active", N_("Menu Title Active")), |
|
|
|
|
CCDESC_T("menu_item", N_("Menu Item")), |
|
|
|
|
CCDESC_T("menu_item_active", N_("Menu Item Active")), |
|
|
|
|
CCDESC_T("menu_item_disabled", N_("Menu Item Disabled")), |
|
|
|
|
CCDESC_T("move_text", N_("Move Text")), |
|
|
|
|
CCDESC_T("resize_text", N_("Resize Text")), |
|
|
|
|
CCDESC_T("winlist_item", N_("Winlist Item")), |
|
|
|
|
CCDESC_T("winlist_item_active", N_("Winlist Item Active")), |
|
|
|
|
CCDESC_T("winlist_label", N_("Winlist Label")), |
|
|
|
|
CCDESC_T("winlist_title", N_("Winlist Title")), |
|
|
|
|
CCDESC_S("dialog_base", N_("Dialog Background Base")), |
|
|
|
|
CCDESC_S("shelf_base", N_("Shelf Background Base")), |
|
|
|
|
CCDESC_S("fileman_base", N_("File Manager Background Base")), |
|
|
|
|
{NULL, 0, NULL, COLOR_CLASS_UNKNOWN} |
|
|
|
|
CCDESC_T("border_title", N_("Border Title")), |
|
|
|
|
CCDESC_T("border_title_active", N_("Border Title Active")), |
|
|
|
|
CCDESC_T("border_frame", N_("Border Frame")), |
|
|
|
|
CCDESC_T("border_frame_active", N_("Border Frame Active")), |
|
|
|
|
CCDESC_T("error_text", N_("Error Text")), |
|
|
|
|
CCDESC_S("menu_base", N_("Menu Background Base")), |
|
|
|
|
CCDESC_T("menu_title", N_("Menu Title")), |
|
|
|
|
CCDESC_T("menu_title_active", N_("Menu Title Active")), |
|
|
|
|
CCDESC_T("menu_item", N_("Menu Item")), |
|
|
|
|
CCDESC_T("menu_item_active", N_("Menu Item Active")), |
|
|
|
|
CCDESC_T("menu_item_disabled", N_("Menu Item Disabled")), |
|
|
|
|
CCDESC_T("move_text", N_("Move Text")), |
|
|
|
|
CCDESC_T("resize_text", N_("Resize Text")), |
|
|
|
|
CCDESC_T("winlist_item", N_("Winlist Item")), |
|
|
|
|
CCDESC_T("winlist_item_active", N_("Winlist Item Active")), |
|
|
|
|
CCDESC_T("winlist_label", N_("Winlist Label")), |
|
|
|
|
CCDESC_T("winlist_title", N_("Winlist Title")), |
|
|
|
|
CCDESC_S("dialog_base", N_("Dialog Background Base")), |
|
|
|
|
CCDESC_S("shelf_base", N_("Shelf Background Base")), |
|
|
|
|
CCDESC_S("fileman_base", N_("File Manager Background Base")), |
|
|
|
|
{NULL, 0, NULL, COLOR_CLASS_UNKNOWN} |
|
|
|
|
}; |
|
|
|
|
static const CFColor_Class_Description _color_classes_widgets[] = |
|
|
|
|
{ |
|
|
|
|
CCDESC_S("focus", N_("Focus")), |
|
|
|
|
CCDESC_T("button_text", N_("Button Text")), |
|
|
|
|
CCDESC_T("button_text_disabled", N_("Button Text Disabled")), |
|
|
|
|
CCDESC_T("check_text", N_("Check Text")), |
|
|
|
|
CCDESC_T("check_text_disabled", N_("Check Text Disabled")), |
|
|
|
|
CCDESC_T("entry_text", N_("Entry Text")), |
|
|
|
|
CCDESC_T("entry_text_disabled", N_("Entry Text Disabled")), |
|
|
|
|
CCDESC_T("label_text", N_("Label Text")), |
|
|
|
|
CCDESC_T("ilist_item_selected", N_("List Item Text Selected")), |
|
|
|
|
CCDESC_T("ilist_item", N_("List Item Text (Even)")), |
|
|
|
|
CCDESC_S("ilist_item_base", N_("List Item Background Base (Even)")), |
|
|
|
|
CCDESC_T("ilist_item_odd", N_("List Item Text (Odd)")), |
|
|
|
|
CCDESC_S("ilist_item_odd_base", N_("List Item Background Base (Odd)")), |
|
|
|
|
CCDESC_T("ilist_item_header", N_("List Header Text (Even)")), |
|
|
|
|
CCDESC_S("ilist_item_header_base", N_("List Header Background Base (Even)")), |
|
|
|
|
CCDESC_T("ilist_item_header_odd", N_("List Header Text (Odd)")), |
|
|
|
|
CCDESC_S("ilist_item_header_odd_base", |
|
|
|
|
N_("List Header Background Base (Odd)")), |
|
|
|
|
CCDESC_T("radio_text", N_("Radio Text")), |
|
|
|
|
CCDESC_T("radio_text_disabled", N_("Radio Text Disabled")), |
|
|
|
|
CCDESC_T("slider_text", N_("Slider Text")), |
|
|
|
|
CCDESC_T("slider_text_disabled", N_("Slider Text Disabled")), |
|
|
|
|
CCDESC_S("frame_base", N_("Frame Background Base")), |
|
|
|
|
CCDESC_S("scrollframe_base", N_("Scroller Frame Background Base")), |
|
|
|
|
{NULL, 0, NULL, COLOR_CLASS_UNKNOWN} |
|
|
|
|
CCDESC_S("focus", N_("Focus")), |
|
|
|
|
CCDESC_T("button_text", N_("Button Text")), |
|
|
|
|
CCDESC_T("button_text_disabled", N_("Button Text Disabled")), |
|
|
|
|
CCDESC_T("check_text", N_("Check Text")), |
|
|
|
|
CCDESC_T("check_text_disabled", N_("Check Text Disabled")), |
|
|
|
|
CCDESC_T("entry_text", N_("Entry Text")), |
|
|
|
|
CCDESC_T("entry_text_disabled", N_("Entry Text Disabled")), |
|
|
|
|
CCDESC_T("label_text", N_("Label Text")), |
|
|
|
|
CCDESC_T("ilist_item_selected", N_("List Item Text Selected")), |
|
|
|
|
CCDESC_T("ilist_item", N_("List Item Text (Even)")), |
|
|
|
|
CCDESC_S("ilist_item_base", N_("List Item Background Base (Even)")), |
|
|
|
|
CCDESC_T("ilist_item_odd", N_("List Item Text (Odd)")), |
|
|
|
|
CCDESC_S("ilist_item_odd_base", N_("List Item Background Base (Odd)")), |
|
|
|
|
CCDESC_T("ilist_item_header", N_("List Header Text (Even)")), |
|
|
|
|
CCDESC_S("ilist_item_header_base", N_("List Header Background Base (Even)")), |
|
|
|
|
CCDESC_T("ilist_item_header_odd", N_("List Header Text (Odd)")), |
|
|
|
|
CCDESC_S("ilist_item_header_odd_base", |
|
|
|
|
N_("List Header Background Base (Odd)")), |
|
|
|
|
CCDESC_T("radio_text", N_("Radio Text")), |
|
|
|
|
CCDESC_T("radio_text_disabled", N_("Radio Text Disabled")), |
|
|
|
|
CCDESC_T("slider_text", N_("Slider Text")), |
|
|
|
|
CCDESC_T("slider_text_disabled", N_("Slider Text Disabled")), |
|
|
|
|
CCDESC_S("frame_base", N_("Frame Background Base")), |
|
|
|
|
CCDESC_S("scrollframe_base", N_("Scroller Frame Background Base")), |
|
|
|
|
{NULL, 0, NULL, COLOR_CLASS_UNKNOWN} |
|
|
|
|
}; |
|
|
|
|
static const CFColor_Class_Description _color_classes_modules[] = |
|
|
|
|
{ |
|
|
|
|
CCDESC_T("module_label", N_("Module Label")), |
|
|
|
|
CCDESC_S("comp_focus-out_color", N_("Composite Focus-out Color")), |
|
|
|
|
{NULL, 0, NULL, COLOR_CLASS_UNKNOWN} |
|
|
|
|
CCDESC_T("module_label", N_("Module Label")), |
|
|
|
|
CCDESC_S("comp_focus-out_color", N_("Composite Focus-out Color")), |
|
|
|
|
{NULL, 0, NULL, COLOR_CLASS_UNKNOWN} |
|
|
|
|
}; |
|
|
|
|
#undef CCDESC_S |
|
|
|
|
#undef CCDESC_T |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static void *_create_data(E_Config_Dialog *cfd); |
|
|
|
|
static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); |
|
|
|
|
static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); |
|
|
|
|
static void *_create_data(E_Config_Dialog *cfd); |
|
|
|
|
static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); |
|
|
|
|
static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); |
|
|
|
|
static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); |
|
|
|
|
|
|
|
|
|
static void _config_color_class_free(CFColor_Class *ccc); |
|
|
|
|
static void _config_color_class_icon_state_apply(CFColor_Class *ccc); |
|
|
|
|
static void _config_color_class_end_state_apply(CFColor_Class *ccc); |
|
|
|
|
static Eina_Bool _fill_data_delayed(void *data); |
|
|
|
|
static Eina_Bool _color_changed_delay(void *data); |
|
|
|
|
static void _config_color_class_free(CFColor_Class *ccc); |
|
|
|
|
static void _config_color_class_icon_state_apply(CFColor_Class *ccc); |
|
|
|
|
static void _config_color_class_end_state_apply(CFColor_Class *ccc); |
|
|
|
|
static Eina_Bool _fill_data_delayed(void *data); |
|
|
|
|
static Eina_Bool _color_changed_delay(void *data); |
|
|
|
|
|
|
|
|
|
E_Config_Dialog * |
|
|
|
|
e_int_config_color_classes(E_Container *con, const char *params __UNUSED__) |
|
|
|
@ -159,7 +161,7 @@ e_int_config_color_classes(E_Container *con, const char *params __UNUSED__) |
|
|
|
|
v->basic.create_widgets = _basic_create_widgets; |
|
|
|
|
|
|
|
|
|
cfd = e_config_dialog_new(con, _("Colors"), "E", "appearance/colors", |
|
|
|
|
"preferences-desktop-color", 0, v, NULL); |
|
|
|
|
"preferences-desktop-color", 0, v, NULL); |
|
|
|
|
return cfd; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -213,9 +215,9 @@ _color_class_list_selection_idler(void *data) |
|
|
|
|
|
|
|
|
|
if (cfdata->delay_color_timer) |
|
|
|
|
{ |
|
|
|
|
ecore_timer_del(cfdata->delay_color_timer); |
|
|
|
|
cfdata->delay_color_timer = NULL; |
|
|
|
|
_color_changed_delay(cfdata); |
|
|
|
|
ecore_timer_del(cfdata->delay_color_timer); |
|
|
|
|
cfdata->delay_color_timer = NULL; |
|
|
|
|
_color_changed_delay(cfdata); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
eina_list_free(cfdata->selected); |
|
|
|
@ -223,64 +225,64 @@ _color_class_list_selection_idler(void *data) |
|
|
|
|
|
|
|
|
|
EINA_LIST_FOREACH(e_widget_ilist_items_get(cfdata->gui.ilist), l, it) |
|
|
|
|
{ |
|
|
|
|
if ((!it->selected) || (it->header)) continue; |
|
|
|
|
ccc = e_widget_ilist_item_data_get(it); |
|
|
|
|
cfdata->selected = eina_list_append(cfdata->selected, ccc); |
|
|
|
|
|
|
|
|
|
if ((!enabled) && (ccc->val.enabled)) |
|
|
|
|
enabled = EINA_TRUE; |
|
|
|
|
|
|
|
|
|
#define _X(_n) \ |
|
|
|
|
do \
|
|
|
|
|
{ \
|
|
|
|
|
for (i = 0; i < 3; i++) \
|
|
|
|
|
{ \
|
|
|
|
|
if (ccc->val._n[i] >= 0) \
|
|
|
|
|
{ \
|
|
|
|
|
if (_n[i] == -1) \
|
|
|
|
|
_n[i] = ccc->val._n[i]; \
|
|
|
|
|
else if ((_n[i] >= 0) && \
|
|
|
|
|
(ccc->val._n[i] != _n[i])) \
|
|
|
|
|
_n[i] = -2; \
|
|
|
|
|
} \
|
|
|
|
|
} \
|
|
|
|
|
} \
|
|
|
|
|
while (0) |
|
|
|
|
|
|
|
|
|
_X(r); |
|
|
|
|
_X(g); |
|
|
|
|
_X(b); |
|
|
|
|
_X(a); |
|
|
|
|
if ((!it->selected) || (it->header)) continue; |
|
|
|
|
ccc = e_widget_ilist_item_data_get(it); |
|
|
|
|
cfdata->selected = eina_list_append(cfdata->selected, ccc); |
|
|
|
|
|
|
|
|
|
if ((!enabled) && (ccc->val.enabled)) |
|
|
|
|
enabled = EINA_TRUE; |
|
|
|
|
|
|
|
|
|
#define _X(_n) \ |
|
|
|
|
do \
|
|
|
|
|
{ \
|
|
|
|
|
for (i = 0; i < 3; i++) \
|
|
|
|
|
{ \
|
|
|
|
|
if (ccc->val._n[i] >= 0) \
|
|
|
|
|
{ \
|
|
|
|
|
if (_n[i] == -1) \
|
|
|
|
|
_n[i] = ccc->val._n[i]; \
|
|
|
|
|
else if ((_n[i] >= 0) && \
|
|
|
|
|
(ccc->val._n[i] != _n[i])) \
|
|
|
|
|
_n[i] = -2; \
|
|
|
|
|
} \
|
|
|
|
|
} \
|
|
|
|
|
} \
|
|
|
|
|
while (0) |
|
|
|
|
|
|
|
|
|
_X(r); |
|
|
|
|
_X(g); |
|
|
|
|
_X(b); |
|
|
|
|
_X(a); |
|
|
|
|
#undef _X |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) |
|
|
|
|
{ |
|
|
|
|
mixed[i] = ((r[i] == -2) || (g[i] == -2) || |
|
|
|
|
(b[i] == -2) || (a[i] == -2)); |
|
|
|
|
mixed[i] = ((r[i] == -2) || (g[i] == -2) || |
|
|
|
|
(b[i] == -2) || (a[i] == -2)); |
|
|
|
|
|
|
|
|
|
unset[i] = ((r[i] == -1) && (g[i] == -1) && |
|
|
|
|
(b[i] == -1) && (a[i] == -1)); |
|
|
|
|
unset[i] = ((r[i] == -1) && (g[i] == -1) && |
|
|
|
|
(b[i] == -1) && (a[i] == -1)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
count = eina_list_count(cfdata->selected); |
|
|
|
|
if ((ccc) && (count == 1)) |
|
|
|
|
{ |
|
|
|
|
snprintf(buf, sizeof(buf), _("Color class: %s"), ccc->name); |
|
|
|
|
description = buf; |
|
|
|
|
snprintf(buf, sizeof(buf), _("Color class: %s"), ccc->name); |
|
|
|
|
description = buf; |
|
|
|
|
} |
|
|
|
|
else if (count > 1) |
|
|
|
|
{ |
|
|
|
|
if (mixed[0] || mixed[1] || mixed[2]) |
|
|
|
|
snprintf(buf, sizeof(buf), |
|
|
|
|
_("Selected %u mixed colors classes"), count); |
|
|
|
|
else if (unset[0] && unset[1] && unset[2]) |
|
|
|
|
snprintf(buf, sizeof(buf), |
|
|
|
|
_("Selected %u unset colors classes"), count); |
|
|
|
|
else |
|
|
|
|
snprintf(buf, sizeof(buf), |
|
|
|
|
_("Selected %u uniform colors classes"), count); |
|
|
|
|
description = buf; |
|
|
|
|
if (mixed[0] || mixed[1] || mixed[2]) |
|
|
|
|
snprintf(buf, sizeof(buf), |
|
|
|
|
_("Selected %u mixed colors classes"), count); |
|
|
|
|
else if (unset[0] && unset[1] && unset[2]) |
|
|
|
|
snprintf(buf, sizeof(buf), |
|
|
|
|
_("Selected %u unset colors classes"), count); |
|
|
|
|
else |
|
|
|
|
snprintf(buf, sizeof(buf), |
|
|
|
|
_("Selected %u uniform colors classes"), count); |
|
|
|
|
description = buf; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
description = _("No selected color class"); |
|
|
|
@ -289,22 +291,22 @@ _color_class_list_selection_idler(void *data) |
|
|
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) |
|
|
|
|
{ |
|
|
|
|
if (unset[i] || mixed[i]) |
|
|
|
|
r[i] = g[i] = b[i] = a[i] = 0; |
|
|
|
|
|
|
|
|
|
cfdata->color[i].r = r[i]; |
|
|
|
|
cfdata->color[i].g = g[i]; |
|
|
|
|
cfdata->color[i].b = b[i]; |
|
|
|
|
cfdata->color[i].a = a[i]; |
|
|
|
|
e_color_update_rgb(cfdata->color + i); |
|
|
|
|
e_widget_color_well_update(cfdata->gui.color[i]); |
|
|
|
|
if (unset[i] || mixed[i]) |
|
|
|
|
r[i] = g[i] = b[i] = a[i] = 0; |
|
|
|
|
|
|
|
|
|
cfdata->color[i].r = r[i]; |
|
|
|
|
cfdata->color[i].g = g[i]; |
|
|
|
|
cfdata->color[i].b = b[i]; |
|
|
|
|
cfdata->color[i].a = a[i]; |
|
|
|
|
e_color_update_rgb(cfdata->color + i); |
|
|
|
|
e_widget_color_well_update(cfdata->gui.color[i]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
edje_object_color_class_set |
|
|
|
|
(cfdata->gui.text_preview, "color_preview", |
|
|
|
|
r[0], g[0], b[0], a[0], |
|
|
|
|
r[1], g[1], b[1], a[1], |
|
|
|
|
r[2], g[2], b[2], a[2]); |
|
|
|
|
r[0], g[0], b[0], a[0], |
|
|
|
|
r[1], g[1], b[1], a[1], |
|
|
|
|
r[2], g[2], b[2], a[2]); |
|
|
|
|
|
|
|
|
|
e_widget_frametable_label_set(cfdata->gui.frame, description); |
|
|
|
|
|
|
|
|
@ -327,7 +329,7 @@ _color_class_list_selection_changed(void *data, Evas_Object *obj __UNUSED__) |
|
|
|
|
if (cfdata->selection_idler) |
|
|
|
|
ecore_idler_del(cfdata->selection_idler); |
|
|
|
|
cfdata->selection_idler = ecore_idler_add |
|
|
|
|
(_color_class_list_selection_idler, cfdata); |
|
|
|
|
(_color_class_list_selection_idler, cfdata); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static Eina_Bool |
|
|
|
@ -346,21 +348,21 @@ _config_color_class_color_reset(CFColor_Class *ccc) |
|
|
|
|
*/ |
|
|
|
|
if (ccc->gui.icon) |
|
|
|
|
ret = edje_object_color_class_get |
|
|
|
|
(ccc->gui.icon, ccc->key, |
|
|
|
|
r + 0, g + 0, b + 0, a + 0, |
|
|
|
|
r + 1, g + 1, b + 1, a + 1, |
|
|
|
|
r + 2, g + 2, b + 2, a + 2); |
|
|
|
|
(ccc->gui.icon, ccc->key, |
|
|
|
|
r + 0, g + 0, b + 0, a + 0, |
|
|
|
|
r + 1, g + 1, b + 1, a + 1, |
|
|
|
|
r + 2, g + 2, b + 2, a + 2); |
|
|
|
|
|
|
|
|
|
if (!ret) |
|
|
|
|
{ |
|
|
|
|
unsigned int i; |
|
|
|
|
for (i = 0; i < 3; i++) |
|
|
|
|
{ |
|
|
|
|
r[i] = -1; |
|
|
|
|
g[i] = -1; |
|
|
|
|
b[i] = -1; |
|
|
|
|
a[i] = -1; |
|
|
|
|
} |
|
|
|
|
unsigned int i; |
|
|
|
|
for (i = 0; i < 3; i++) |
|
|
|
|
{ |
|
|
|
|
r[i] = -1; |
|
|
|
|
g[i] = -1; |
|
|
|
|
b[i] = -1; |
|
|
|
|
a[i] = -1; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return ret; |
|
|
|
@ -373,49 +375,49 @@ _basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata) |
|
|
|
|
|
|
|
|
|
if (cfdata->delay_color_timer) |
|
|
|
|
{ |
|
|
|
|
ecore_timer_del(cfdata->delay_color_timer); |
|
|
|
|
cfdata->delay_color_timer = NULL; |
|
|
|
|
_color_changed_delay(cfdata); |
|
|
|
|
ecore_timer_del(cfdata->delay_color_timer); |
|
|
|
|
cfdata->delay_color_timer = NULL; |
|
|
|
|
_color_changed_delay(cfdata); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
EINA_LIST_FREE(cfdata->changed, ccc) |
|
|
|
|
{ |
|
|
|
|
ccc->val.changed = EINA_FALSE; |
|
|
|
|
|
|
|
|
|
if (ccc->val.enabled) |
|
|
|
|
{ |
|
|
|
|
int *r = ccc->val.r; |
|
|
|
|
int *g = ccc->val.g; |
|
|
|
|
int *b = ccc->val.b; |
|
|
|
|
int *a = ccc->val.a; |
|
|
|
|
|
|
|
|
|
if (ccc->cc) |
|
|
|
|
{ |
|
|
|
|
e_color_class_instance_set |
|
|
|
|
(ccc->cc, |
|
|
|
|
r[0], g[0], b[0], a[0], |
|
|
|
|
r[1], g[1], b[1], a[1], |
|
|
|
|
r[2], g[2], b[2], a[2]); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
ccc->cc = e_color_class_set_stringshared |
|
|
|
|
(ccc->key, |
|
|
|
|
r[0], g[0], b[0], a[0], |
|
|
|
|
r[1], g[1], b[1], a[1], |
|
|
|
|
r[2], g[2], b[2], a[2]); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
if (ccc->cc) |
|
|
|
|
{ |
|
|
|
|
e_color_class_instance_del(ccc->cc); |
|
|
|
|
ccc->cc = NULL; |
|
|
|
|
} |
|
|
|
|
_config_color_class_color_reset(ccc); |
|
|
|
|
_config_color_class_icon_state_apply(ccc); |
|
|
|
|
} |
|
|
|
|
ccc->val.changed = EINA_FALSE; |
|
|
|
|
|
|
|
|
|
if (ccc->val.enabled) |
|
|
|
|
{ |
|
|
|
|
int *r = ccc->val.r; |
|
|
|
|
int *g = ccc->val.g; |
|
|
|
|
int *b = ccc->val.b; |
|
|
|
|
int *a = ccc->val.a; |
|
|
|
|
|
|
|
|
|
if (ccc->cc) |
|
|
|
|
{ |
|
|
|
|
e_color_class_instance_set |
|
|
|
|
(ccc->cc, |
|
|
|
|
r[0], g[0], b[0], a[0], |
|
|
|
|
r[1], g[1], b[1], a[1], |
|
|
|
|
r[2], g[2], b[2], a[2]); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
ccc->cc = e_color_class_set_stringshared |
|
|
|
|
(ccc->key, |
|
|
|
|
r[0], g[0], b[0], a[0], |
|
|
|
|
r[1], g[1], b[1], a[1], |
|
|
|
|
r[2], g[2], b[2], a[2]); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
if (ccc->cc) |
|
|
|
|
{ |
|
|
|
|
e_color_class_instance_del(ccc->cc); |
|
|
|
|
ccc->cc = NULL; |
|
|
|
|
} |
|
|
|
|
_config_color_class_color_reset(ccc); |
|
|
|
|
_config_color_class_icon_state_apply(ccc); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return 1; |
|
|
|
@ -435,19 +437,19 @@ _custom_color_cb_change(void *data, Evas_Object *obj) |
|
|
|
|
enabled = e_widget_check_checked_get(obj); |
|
|
|
|
EINA_LIST_FOREACH(cfdata->selected, l, ccc) |
|
|
|
|
{ |
|
|
|
|
ccc->val.enabled = enabled; |
|
|
|
|
_config_color_class_end_state_apply(ccc); |
|
|
|
|
if (!enabled) |
|
|
|
|
{ |
|
|
|
|
_config_color_class_color_reset(ccc); |
|
|
|
|
_config_color_class_icon_state_apply(ccc); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!ccc->val.changed) |
|
|
|
|
{ |
|
|
|
|
ccc->val.changed = EINA_TRUE; |
|
|
|
|
cfdata->changed = eina_list_append(cfdata->changed, ccc); |
|
|
|
|
} |
|
|
|
|
ccc->val.enabled = enabled; |
|
|
|
|
_config_color_class_end_state_apply(ccc); |
|
|
|
|
if (!enabled) |
|
|
|
|
{ |
|
|
|
|
_config_color_class_color_reset(ccc); |
|
|
|
|
_config_color_class_icon_state_apply(ccc); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!ccc->val.changed) |
|
|
|
|
{ |
|
|
|
|
ccc->val.changed = EINA_TRUE; |
|
|
|
|
cfdata->changed = eina_list_append(cfdata->changed, ccc); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
EINA_LIST_FOREACH(cfdata->gui.disable_list, l, o) |
|
|
|
@ -470,9 +472,9 @@ _color_changed_delay(void *data) |
|
|
|
|
col = cfdata->color; |
|
|
|
|
edje_object_color_class_set |
|
|
|
|
(cfdata->gui.text_preview, "color_preview", |
|
|
|
|
col[0].r, col[0].g, col[0].b, col[0].a, |
|
|
|
|
col[1].r, col[1].g, col[1].b, col[1].a, |
|
|
|
|
col[2].r, col[2].g, col[2].b, col[2].a); |
|
|
|
|
col[0].r, col[0].g, col[0].b, col[0].a, |
|
|
|
|
col[1].r, col[1].g, col[1].b, col[1].a, |
|
|
|
|
col[2].r, col[2].g, col[2].b, col[2].a); |
|
|
|
|
|
|
|
|
|
cfdata->delay_color_timer = NULL; |
|
|
|
|
return ECORE_CALLBACK_CANCEL; |
|
|
|
@ -495,28 +497,28 @@ _color_cb_change(void *data, Evas_Object *obj) |
|
|
|
|
|
|
|
|
|
if (i == 3) |
|
|
|
|
{ |
|
|
|
|
EINA_LOG_ERR("unknown widget changed color: %p\n", obj); |
|
|
|
|
return; |
|
|
|
|
EINA_LOG_ERR("unknown widget changed color: %p\n", obj); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
col = cfdata->color + i; |
|
|
|
|
EINA_LIST_FOREACH(cfdata->selected, l, ccc) |
|
|
|
|
{ |
|
|
|
|
ccc->val.r[i] = col->r; |
|
|
|
|
ccc->val.g[i] = col->g; |
|
|
|
|
ccc->val.b[i] = col->b; |
|
|
|
|
ccc->val.a[i] = col->a; |
|
|
|
|
|
|
|
|
|
if (!ccc->val.changed) |
|
|
|
|
{ |
|
|
|
|
ccc->val.changed = EINA_TRUE; |
|
|
|
|
cfdata->changed = eina_list_append(cfdata->changed, ccc); |
|
|
|
|
} |
|
|
|
|
ccc->val.r[i] = col->r; |
|
|
|
|
ccc->val.g[i] = col->g; |
|
|
|
|
ccc->val.b[i] = col->b; |
|
|
|
|
ccc->val.a[i] = col->a; |
|
|
|
|
|
|
|
|
|
if (!ccc->val.changed) |
|
|
|
|
{ |
|
|
|
|
ccc->val.changed = EINA_TRUE; |
|
|
|
|
cfdata->changed = eina_list_append(cfdata->changed, ccc); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!cfdata->delay_color_timer) |
|
|
|
|
cfdata->delay_color_timer = ecore_timer_add |
|
|
|
|
(0.2, _color_changed_delay, cfdata); |
|
|
|
|
(0.2, _color_changed_delay, cfdata); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static Evas_Object * |
|
|
|
@ -542,10 +544,10 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf |
|
|
|
|
e_widget_list_object_append(ol, cfdata->gui.ilist, 1, 1, 0.0); |
|
|
|
|
|
|
|
|
|
cfdata->gui.frame = ot = e_widget_frametable_add |
|
|
|
|
(evas, _("No selected color class"), 0); |
|
|
|
|
(evas, _("No selected color class"), 0); |
|
|
|
|
|
|
|
|
|
cfdata->gui.state = o = e_widget_check_add |
|
|
|
|
(evas, _("Custom colors"), &(cfdata->state)); |
|
|
|
|
(evas, _("Custom colors"), &(cfdata->state)); |
|
|
|
|
e_widget_on_change_hook_set(o, _custom_color_cb_change, cfdata); |
|
|
|
|
e_widget_size_min_get(o, &mw, &mh); |
|
|
|
|
e_widget_frametable_object_append_full |
|
|
|
@ -573,32 +575,32 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf |
|
|
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) |
|
|
|
|
{ |
|
|
|
|
o = e_widget_color_well_add_full(evas, cfdata->color + i, 1, 1); |
|
|
|
|
cfdata->gui.color[i] = o; |
|
|
|
|
cfdata->gui.disable_list = eina_list_append |
|
|
|
|
(cfdata->gui.disable_list, o); |
|
|
|
|
e_widget_on_change_hook_set(o, _color_cb_change, cfdata); |
|
|
|
|
e_widget_size_min_get(o, &mw, NULL); |
|
|
|
|
mw = 32 * e_scale; |
|
|
|
|
e_widget_frametable_object_append_full |
|
|
|
|
(ot, o, i, 2, 1, 1, 1, 1, 1, 0, 0.0, 0.0, mw, mh, 9999, 9999); |
|
|
|
|
o = e_widget_color_well_add_full(evas, cfdata->color + i, 1, 1); |
|
|
|
|
cfdata->gui.color[i] = o; |
|
|
|
|
cfdata->gui.disable_list = eina_list_append |
|
|
|
|
(cfdata->gui.disable_list, o); |
|
|
|
|
e_widget_on_change_hook_set(o, _color_cb_change, cfdata); |
|
|
|
|
e_widget_size_min_get(o, &mw, NULL); |
|
|
|
|
mw = 32 * e_scale; |
|
|
|
|
e_widget_frametable_object_append_full |
|
|
|
|
(ot, o, i, 2, 1, 1, 1, 1, 1, 0, 0.0, 0.0, mw, mh, 9999, 9999); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
o = edje_object_add(evas); |
|
|
|
|
if (!e_theme_edje_object_set(o, "base/theme/widgets", |
|
|
|
|
"e/modules/conf_colors/preview/text")) |
|
|
|
|
"e/modules/conf_colors/preview/text")) |
|
|
|
|
{ |
|
|
|
|
evas_object_del(o); |
|
|
|
|
evas_object_del(o); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
cfdata->gui.text_preview = o; |
|
|
|
|
edje_object_color_class_set |
|
|
|
|
(o, "color_preview", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); |
|
|
|
|
edje_object_part_text_set(o, "e.text", _("Text with applied colors.")); |
|
|
|
|
edje_object_size_min_calc(o, &mw, &mh); |
|
|
|
|
e_widget_frametable_object_append_full |
|
|
|
|
(ot, o, 0, 3, 3, 1, 0, 0, 0, 0, 0.5, 0.5, mw, mh, 9999, 9999); |
|
|
|
|
cfdata->gui.text_preview = o; |
|
|
|
|
edje_object_color_class_set |
|
|
|
|
(o, "color_preview", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); |
|
|
|
|
edje_object_part_text_set(o, "e.text", _("Text with applied colors.")); |
|
|
|
|
edje_object_size_min_calc(o, &mw, &mh); |
|
|
|
|
e_widget_frametable_object_append_full |
|
|
|
|
(ot, o, 0, 3, 3, 1, 0, 0, 0, 0, 0.5, 0.5, mw, mh, 9999, 9999); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
o = e_widget_label_add(evas, _("Colors depend on theme capabilities.")); |
|
|
|
@ -642,30 +644,30 @@ _config_color_class_new(const char *key_stringshared, const char *name, E_Color_ |
|
|
|
|
|
|
|
|
|
if (cc) |
|
|
|
|
{ |
|
|
|
|
ccc->val.r[0] = cc->r; |
|
|
|
|
ccc->val.g[0] = cc->g; |
|
|
|
|
ccc->val.b[0] = cc->b; |
|
|
|
|
ccc->val.a[0] = cc->a; |
|
|
|
|
|
|
|
|
|
ccc->val.r[1] = cc->r2; |
|
|
|
|
ccc->val.g[1] = cc->g2; |
|
|
|
|
ccc->val.b[1] = cc->b2; |
|
|
|
|
ccc->val.a[1] = cc->a2; |
|
|
|
|
|
|
|
|
|
ccc->val.r[2] = cc->r3; |
|
|
|
|
ccc->val.g[2] = cc->g3; |
|
|
|
|
ccc->val.b[2] = cc->b3; |
|
|
|
|
ccc->val.a[2] = cc->a3; |
|
|
|
|
|
|
|
|
|
ccc->val.enabled = EINA_TRUE; |
|
|
|
|
ccc->val.r[0] = cc->r; |
|
|
|
|
ccc->val.g[0] = cc->g; |
|
|
|
|
ccc->val.b[0] = cc->b; |
|
|
|
|
ccc->val.a[0] = cc->a; |
|
|
|
|
|
|
|
|
|
ccc->val.r[1] = cc->r2; |
|
|
|
|
ccc->val.g[1] = cc->g2; |
|
|
|
|
ccc->val.b[1] = cc->b2; |
|
|
|
|
ccc->val.a[1] = cc->a2; |
|
|
|
|
|
|
|
|
|
ccc->val.r[2] = cc->r3; |
|
|
|
|
ccc->val.g[2] = cc->g3; |
|
|
|
|
ccc->val.b[2] = cc->b3; |
|
|
|
|
ccc->val.a[2] = cc->a3; |
|
|
|
|
|
|
|
|
|
ccc->val.enabled = EINA_TRUE; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
unsigned int i; |
|
|
|
|
for (i = 0; i < 3; i++) |
|
|
|
|
ccc->val.r[i] = ccc->val.g[i] = ccc->val.b[i] = ccc->val.a[i] = -1; |
|
|
|
|
unsigned int i; |
|
|
|
|
for (i = 0; i < 3; i++) |
|
|
|
|
ccc->val.r[i] = ccc->val.g[i] = ccc->val.b[i] = ccc->val.a[i] = -1; |
|
|
|
|
|
|
|
|
|
ccc->val.enabled = EINA_FALSE; |
|
|
|
|
ccc->val.enabled = EINA_FALSE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return ccc; |
|
|
|
@ -680,28 +682,28 @@ _config_color_class_icon_state_apply(CFColor_Class *ccc) |
|
|
|
|
if ((ccc->gui.type == COLOR_CLASS_TEXT) || |
|
|
|
|
(ccc->gui.type == COLOR_CLASS_SOLID)) |
|
|
|
|
{ |
|
|
|
|
edje_object_color_class_set |
|
|
|
|
(ccc->gui.icon, "color_preview", |
|
|
|
|
ccc->val.r[0], ccc->val.g[0], ccc->val.b[0], ccc->val.a[0], |
|
|
|
|
ccc->val.r[1], ccc->val.g[1], ccc->val.b[1], ccc->val.a[1], |
|
|
|
|
ccc->val.r[2], ccc->val.g[2], ccc->val.b[2], ccc->val.a[2]); |
|
|
|
|
edje_object_color_class_set |
|
|
|
|
(ccc->gui.icon, "color_preview", |
|
|
|
|
ccc->val.r[0], ccc->val.g[0], ccc->val.b[0], ccc->val.a[0], |
|
|
|
|
ccc->val.r[1], ccc->val.g[1], ccc->val.b[1], ccc->val.a[1], |
|
|
|
|
ccc->val.r[2], ccc->val.g[2], ccc->val.b[2], ccc->val.a[2]); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
edje_object_color_class_set |
|
|
|
|
(ccc->gui.icon, "color_preview_c1", |
|
|
|
|
ccc->val.r[0], ccc->val.g[0], ccc->val.b[0], ccc->val.a[0], |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0); |
|
|
|
|
|
|
|
|
|
edje_object_color_class_set |
|
|
|
|
(ccc->gui.icon, "color_preview_c2", |
|
|
|
|
ccc->val.r[1], ccc->val.g[1], ccc->val.b[1], ccc->val.a[1], |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0); |
|
|
|
|
|
|
|
|
|
edje_object_color_class_set |
|
|
|
|
(ccc->gui.icon, "color_preview_c3", |
|
|
|
|
ccc->val.r[2], ccc->val.g[2], ccc->val.b[2], ccc->val.a[2], |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0); |
|
|
|
|
edje_object_color_class_set |
|
|
|
|
(ccc->gui.icon, "color_preview_c1", |
|
|
|
|
ccc->val.r[0], ccc->val.g[0], ccc->val.b[0], ccc->val.a[0], |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0); |
|
|
|
|
|
|
|
|
|
edje_object_color_class_set |
|
|
|
|
(ccc->gui.icon, "color_preview_c2", |
|
|
|
|
ccc->val.r[1], ccc->val.g[1], ccc->val.b[1], ccc->val.a[1], |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0); |
|
|
|
|
|
|
|
|
|
edje_object_color_class_set |
|
|
|
|
(ccc->gui.icon, "color_preview_c3", |
|
|
|
|
ccc->val.r[2], ccc->val.g[2], ccc->val.b[2], ccc->val.a[2], |
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -735,8 +737,8 @@ _fill_data_add_header(E_Config_Dialog_Data *cfdata, const char *name, const char |
|
|
|
|
|
|
|
|
|
if (icon) |
|
|
|
|
{ |
|
|
|
|
ic = e_icon_add(cfdata->gui.evas); |
|
|
|
|
e_util_icon_theme_set(ic, icon); |
|
|
|
|
ic = e_icon_add(cfdata->gui.evas); |
|
|
|
|
e_util_icon_theme_set(ic, icon); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
ic = NULL; |
|
|
|
@ -752,48 +754,50 @@ _fill_data_add_item(E_Config_Dialog_Data *cfdata, CFColor_Class *ccc) |
|
|
|
|
icon = edje_object_add(cfdata->gui.evas); |
|
|
|
|
if (icon) |
|
|
|
|
{ |
|
|
|
|
const char *group; |
|
|
|
|
|
|
|
|
|
switch (ccc->gui.type) |
|
|
|
|
{ |
|
|
|
|
case COLOR_CLASS_TEXT: |
|
|
|
|
group = "e/modules/conf_colors/preview/text"; |
|
|
|
|
break; |
|
|
|
|
case COLOR_CLASS_SOLID: |
|
|
|
|
group = "e/modules/conf_colors/preview/solid"; |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
group = "e/modules/conf_colors/preview/unknown"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (e_theme_edje_object_set(icon, "base/theme/widgets", group)) |
|
|
|
|
{ |
|
|
|
|
ccc->gui.icon = icon; |
|
|
|
|
_config_color_class_icon_state_apply(ccc); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
EINA_LOG_ERR("your theme misses '%s'!", group); |
|
|
|
|
evas_object_del(icon); |
|
|
|
|
icon = NULL; |
|
|
|
|
} |
|
|
|
|
const char *group; |
|
|
|
|
|
|
|
|
|
switch (ccc->gui.type) |
|
|
|
|
{ |
|
|
|
|
case COLOR_CLASS_TEXT: |
|
|
|
|
group = "e/modules/conf_colors/preview/text"; |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
case COLOR_CLASS_SOLID: |
|
|
|
|
group = "e/modules/conf_colors/preview/solid"; |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
default: |
|
|
|
|
group = "e/modules/conf_colors/preview/unknown"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (e_theme_edje_object_set(icon, "base/theme/widgets", group)) |
|
|
|
|
{ |
|
|
|
|
ccc->gui.icon = icon; |
|
|
|
|
_config_color_class_icon_state_apply(ccc); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
EINA_LOG_ERR("your theme misses '%s'!", group); |
|
|
|
|
evas_object_del(icon); |
|
|
|
|
icon = NULL; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
end = edje_object_add(cfdata->gui.evas); |
|
|
|
|
if (end) |
|
|
|
|
{ |
|
|
|
|
if (e_theme_edje_object_set(end, "base/theme/widgets", |
|
|
|
|
"e/widgets/ilist/toggle_end")) |
|
|
|
|
{ |
|
|
|
|
ccc->gui.end = end; |
|
|
|
|
_config_color_class_end_state_apply(ccc); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
EINA_LOG_ERR("your theme misses 'e/widgets/ilist/toggle_end'!"); |
|
|
|
|
evas_object_del(end); |
|
|
|
|
end = NULL; |
|
|
|
|
} |
|
|
|
|
if (e_theme_edje_object_set(end, "base/theme/widgets", |
|
|
|
|
"e/widgets/ilist/toggle_end")) |
|
|
|
|
{ |
|
|
|
|
ccc->gui.end = end; |
|
|
|
|
_config_color_class_end_state_apply(ccc); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
EINA_LOG_ERR("your theme misses 'e/widgets/ilist/toggle_end'!"); |
|
|
|
|
evas_object_del(end); |
|
|
|
|
end = NULL; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
e_widget_ilist_append_full |
|
|
|
@ -809,35 +813,35 @@ _fill_data_add_batch(E_Config_Dialog_Data *cfdata, Eina_List **p_todo, const CFC |
|
|
|
|
|
|
|
|
|
for (itr = descs; itr->key; itr++) |
|
|
|
|
{ |
|
|
|
|
E_Color_Class *cc; |
|
|
|
|
Eina_List *l, *found_node = NULL; |
|
|
|
|
const char *key_stringshared = eina_stringshare_add(itr->key); |
|
|
|
|
|
|
|
|
|
EINA_LIST_FOREACH(*p_todo, l, cc) |
|
|
|
|
{ |
|
|
|
|
if (cc->name == key_stringshared) |
|
|
|
|
|