As per HandyAndE request, this patch gives ability for modules config

dialogs to show their icon in their config dialog by passing in the
module_eap path to the config_dialog_new function as the icon parameter ie:

e_config_dialog_new(con, module_name, eap_path, 0, v, data);

Update E core modules to use this ability.
Fix dropshadow config dialog to fit in 640x480.


SVN revision: 23682
This commit is contained in:
Christopher Michael 2006-07-03 07:35:44 +00:00
parent 21b68f1e73
commit 73a7ba6011
10 changed files with 65 additions and 46 deletions

View File

@ -2448,17 +2448,20 @@ e_border_icon_add(E_Border *bd, Evas *evas)
if (bd->internal) if (bd->internal)
{ {
o = edje_object_add(evas); o = edje_object_add(evas);
if ((!bd->internal_icon) && (!bd->module_eap)) if (!bd->internal_icon)
e_util_edje_icon_set(o, "enlightenment/e"); e_util_edje_icon_set(o, "enlightenment/e");
else if (bd->internal_icon) else
{ {
if (!e_util_edje_icon_set(o, bd->internal_icon)) if (!strcmp(bd->internal_icon + strlen(bd->internal_icon) - 4, ".eap"))
e_util_edje_icon_set(o, "enlightenment/e"); {
} if (!edje_object_file_set(o, bd->internal_icon, "icon"))
else if (bd->module_eap) e_util_edje_icon_set(o, "enlightenment/e");
{ }
if (!edje_object_file_set(o, bd->module_eap, "icon")) else
e_util_edje_icon_set(o, "enlightenment/e"); {
if (!e_util_edje_icon_set(o, bd->internal_icon))
e_util_edje_icon_set(o, "enlightenment/e");
}
} }
return o; return o;
} }
@ -3037,7 +3040,6 @@ _e_border_free(E_Border *bd)
if (bd->client.netwm.name) free(bd->client.netwm.name); if (bd->client.netwm.name) free(bd->client.netwm.name);
if (bd->client.netwm.icon_name) free(bd->client.netwm.icon_name); if (bd->client.netwm.icon_name) free(bd->client.netwm.icon_name);
e_object_del(E_OBJECT(bd->shape)); e_object_del(E_OBJECT(bd->shape));
if (bd->module_eap) evas_stringshare_del(bd->module_eap);
if (bd->internal_icon) evas_stringshare_del(bd->internal_icon); if (bd->internal_icon) evas_stringshare_del(bd->internal_icon);
if (bd->icon_object) evas_object_del(bd->icon_object); if (bd->icon_object) evas_object_del(bd->icon_object);
evas_object_del(bd->bg_object); evas_object_del(bd->bg_object);

View File

@ -135,7 +135,6 @@ struct _E_Border
Evas_Object *icon_object; Evas_Object *icon_object;
Ecore_X_Window event_win; Ecore_X_Window event_win;
const char *internal_icon; const char *internal_icon;
const char *module_eap;
struct { struct {
Ecore_X_Window shell_win; Ecore_X_Window shell_win;

View File

@ -29,18 +29,18 @@ struct _E_Dialog
unsigned char resizable : 1; unsigned char resizable : 1;
}; };
EAPI E_Dialog *e_dialog_new (E_Container *con); EAPI E_Dialog *e_dialog_new (E_Container *con);
EAPI void e_dialog_button_add (E_Dialog *dia, const char *label, const char *icon, void (*func) (void *data, E_Dialog *dia), void *data); EAPI void e_dialog_button_add (E_Dialog *dia, const char *label, const char *icon, void (*func) (void *data, E_Dialog *dia), void *data);
EAPI int e_dialog_button_focus_num (E_Dialog *dia, int button); EAPI int e_dialog_button_focus_num (E_Dialog *dia, int button);
EAPI int e_dialog_button_disable_num_set (E_Dialog *dia, int button, int disabled); EAPI int e_dialog_button_disable_num_set (E_Dialog *dia, int button, int disabled);
EAPI int e_dialog_button_disable_num_get (E_Dialog *dia, int button); EAPI int e_dialog_button_disable_num_get (E_Dialog *dia, int button);
EAPI void e_dialog_title_set (E_Dialog *dia, const char *title); EAPI void e_dialog_title_set (E_Dialog *dia, const char *title);
EAPI void e_dialog_text_set (E_Dialog *dia, const char *text); EAPI void e_dialog_text_set (E_Dialog *dia, const char *text);
EAPI void e_dialog_icon_set (E_Dialog *dia, const char *icon, Evas_Coord size); EAPI void e_dialog_icon_set (E_Dialog *dia, const char *icon, Evas_Coord size);
EAPI void e_dialog_border_icon_set (E_Dialog *dia, const char *icon); EAPI void e_dialog_border_icon_set (E_Dialog *dia, const char *icon);
EAPI void e_dialog_content_set (E_Dialog *dia, Evas_Object *obj, Evas_Coord minw, Evas_Coord minh); EAPI void e_dialog_content_set (E_Dialog *dia, Evas_Object *obj, Evas_Coord minw, Evas_Coord minh);
EAPI void e_dialog_resizable_set (E_Dialog *dia, int resizable); EAPI void e_dialog_resizable_set (E_Dialog *dia, int resizable);
EAPI void e_dialog_show (E_Dialog *dia); EAPI void e_dialog_show (E_Dialog *dia);
#endif #endif
#endif #endif

View File

@ -383,7 +383,7 @@ e_module_dialog_show(E_Module *m, const char *title, const char *body)
if (!m) return; if (!m) return;
bd = dia->win->border; bd = dia->win->border;
if (!bd) return; if (!bd) return;
bd->module_eap = evas_stringshare_add(eap); bd->internal_icon = evas_stringshare_add(eap);
} }
/* local subsystem functions */ /* local subsystem functions */
@ -505,9 +505,8 @@ _e_module_control_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi)
e_module_disable(mod); e_module_disable(mod);
} }
else if ((!mod->enabled) && (enabled)) else if ((!mod->enabled) && (enabled))
{ e_module_enable(mod);
e_module_enable(mod);
}
e_menu_item_toggle_set(mi, e_module_enabled_get(mod)); e_menu_item_toggle_set(mi, e_module_enabled_get(mod));
} }

View File

@ -21,6 +21,7 @@ _config_battery_module(void)
{ {
E_Config_Dialog *cfd; E_Config_Dialog *cfd;
E_Config_Dialog_View *v; E_Config_Dialog_View *v;
char buf[4096];
v = E_NEW(E_Config_Dialog_View, 1); v = E_NEW(E_Config_Dialog_View, 1);
@ -31,9 +32,10 @@ _config_battery_module(void)
v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.apply_cfdata = _advanced_apply_data;
v->advanced.create_widgets = _advanced_create_widgets; v->advanced.create_widgets = _advanced_create_widgets;
snprintf(buf, sizeof(buf), "%s/module.eap", e_module_dir_get(battery_config->module));
cfd = e_config_dialog_new(e_container_current_get(e_manager_current_get()), cfd = e_config_dialog_new(e_container_current_get(e_manager_current_get()),
_("Battery Monitor Configuration"), _("Battery Monitor Configuration"),
NULL, 0, v, NULL); buf, 0, v, NULL);
battery_config->config_dialog = cfd; battery_config->config_dialog = cfd;
} }

View File

@ -23,6 +23,7 @@ _config_dropshadow_module(E_Container *con, Dropshadow *ds)
{ {
E_Config_Dialog *cfd; E_Config_Dialog *cfd;
E_Config_Dialog_View *v; E_Config_Dialog_View *v;
char buf[4096];
v = E_NEW(E_Config_Dialog_View, 1); v = E_NEW(E_Config_Dialog_View, 1);
@ -31,7 +32,8 @@ _config_dropshadow_module(E_Container *con, Dropshadow *ds)
v->basic.apply_cfdata = _basic_apply_data; v->basic.apply_cfdata = _basic_apply_data;
v->basic.create_widgets = _basic_create_widgets; v->basic.create_widgets = _basic_create_widgets;
cfd = e_config_dialog_new(con, _("Dropshadow Configuration"), NULL, 0, v, ds); snprintf(buf, sizeof(buf), "%s/module.eap", e_module_dir_get(ds->module));
cfd = e_config_dialog_new(con, _("Dropshadow Configuration"), buf, 0, v, ds);
ds->config_dialog = cfd; ds->config_dialog = cfd;
} }
@ -90,12 +92,14 @@ _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
static Evas_Object * static Evas_Object *
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
{ {
Evas_Object *o, *ob, *of; Evas_Object *o, *ob, *of, *ot;
E_Radio_Group *rg; E_Radio_Group *rg;
o = e_widget_list_add(evas, 0, 0); o = e_widget_list_add(evas, 0, 0);
ot = e_widget_table_add(evas, 1);
of = e_widget_framelist_add(evas, _("Quality"), 0); of = e_widget_framelist_add(evas, _("Quality"), 0);
e_widget_framelist_content_align_set(of, 0.5, 0.0);
rg = e_widget_radio_group_new(&(cfdata->quality)); rg = e_widget_radio_group_new(&(cfdata->quality));
ob = e_widget_radio_add(evas, _("High Quality"), 1, rg); ob = e_widget_radio_add(evas, _("High Quality"), 1, rg);
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
@ -103,9 +107,10 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
ob = e_widget_radio_add(evas, _("Low Quality"), 4, rg); ob = e_widget_radio_add(evas, _("Low Quality"), 4, rg);
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 1, 0.5); e_widget_table_object_append(ot, of, 0, 0, 1, 1, 1, 1, 1, 1);
of = e_widget_framelist_add(evas, _("Blur Type"), 0); of = e_widget_framelist_add(evas, _("Blur Type"), 0);
e_widget_framelist_content_align_set(of, 0.5, 0.0);
rg = e_widget_radio_group_new(&(cfdata->blur_size)); rg = e_widget_radio_group_new(&(cfdata->blur_size));
ob = e_widget_radio_add(evas, _("Very Fuzzy"), 80, rg); ob = e_widget_radio_add(evas, _("Very Fuzzy"), 80, rg);
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
@ -117,9 +122,10 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
ob = e_widget_radio_add(evas, _("Very Sharp"), 5, rg); ob = e_widget_radio_add(evas, _("Very Sharp"), 5, rg);
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 1, 0.5); e_widget_table_object_append(ot, of, 0, 1, 1, 1, 1, 1, 1, 1);
of = e_widget_framelist_add(evas, _("Shadow Distance"), 0); of = e_widget_framelist_add(evas, _("Shadow Distance"), 0);
e_widget_framelist_content_align_set(of, 0.5, 0.0);
rg = e_widget_radio_group_new(&(cfdata->shadow_x)); rg = e_widget_radio_group_new(&(cfdata->shadow_x));
ob = e_widget_radio_add(evas, _("Very Far"), 32, rg); ob = e_widget_radio_add(evas, _("Very Far"), 32, rg);
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
@ -133,9 +139,10 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
ob = e_widget_radio_add(evas, _("Underneath"), 0, rg); ob = e_widget_radio_add(evas, _("Underneath"), 0, rg);
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 1, 0.5); e_widget_table_object_append(ot, of, 1, 0, 1, 1, 1, 1, 1, 1);
of = e_widget_framelist_add(evas, _("Shadow Darkness"), 0); of = e_widget_framelist_add(evas, _("Shadow Darkness"), 0);
e_widget_framelist_content_align_set(of, 0.5, 0.0);
rg = e_widget_radio_group_new(&(cfdata->darkness)); rg = e_widget_radio_group_new(&(cfdata->darkness));
ob = e_widget_radio_add(evas, _("Very Dark"), 0, rg); ob = e_widget_radio_add(evas, _("Very Dark"), 0, rg);
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
@ -145,7 +152,9 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
ob = e_widget_radio_add(evas, _("Very Light"), 3, rg); ob = e_widget_radio_add(evas, _("Very Light"), 3, rg);
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 1, 0.5); e_widget_table_object_append(ot, of, 1, 1, 1, 1, 1, 1, 1, 1);
e_widget_list_object_append(o, ot, 1, 1, 0.5);
return o; return o;
} }

View File

@ -34,6 +34,7 @@ _config_ibar_module(Config_Item *ci)
{ {
E_Config_Dialog *cfd; E_Config_Dialog *cfd;
E_Config_Dialog_View *v; E_Config_Dialog_View *v;
char buf[4096];
v = E_NEW(E_Config_Dialog_View, 1); v = E_NEW(E_Config_Dialog_View, 1);
@ -45,9 +46,10 @@ _config_ibar_module(Config_Item *ci)
v->advanced.apply_cfdata = NULL; v->advanced.apply_cfdata = NULL;
v->advanced.create_widgets = NULL; v->advanced.create_widgets = NULL;
snprintf(buf, sizeof(buf), "%s/module.eap", e_module_dir_get(ibar_config->module));
/* Create The Dialog */ /* Create The Dialog */
cfd = e_config_dialog_new(e_container_current_get(e_manager_current_get()), cfd = e_config_dialog_new(e_container_current_get(e_manager_current_get()),
_("IBar Configuration"), NULL, 0, v, ci); _("IBar Configuration"), buf, 0, v, ci);
ibar_config->config_dialog = cfd; ibar_config->config_dialog = cfd;
} }

View File

@ -33,6 +33,7 @@ _config_ibox_module(Config_Item *ci)
{ {
E_Config_Dialog *cfd; E_Config_Dialog *cfd;
E_Config_Dialog_View *v; E_Config_Dialog_View *v;
char buf[4096];
v = E_NEW(E_Config_Dialog_View, 1); v = E_NEW(E_Config_Dialog_View, 1);
@ -45,8 +46,9 @@ _config_ibox_module(Config_Item *ci)
v->advanced.create_widgets = NULL; v->advanced.create_widgets = NULL;
/* Create The Dialog */ /* Create The Dialog */
snprintf(buf, sizeof(buf), "%s/module.eap", e_module_dir_get(ibox_config->module));
cfd = e_config_dialog_new(e_container_current_get(e_manager_current_get()), cfd = e_config_dialog_new(e_container_current_get(e_manager_current_get()),
_("IBox Configuration"), NULL, 0, v, ci); _("IBox Configuration"), buf, 0, v, ci);
ibox_config->config_dialog = evas_list_append(ibox_config->config_dialog, cfd); ibox_config->config_dialog = evas_list_append(ibox_config->config_dialog, cfd);
} }

View File

@ -21,6 +21,7 @@ _config_pager_module(Config_Item *ci)
{ {
E_Config_Dialog *cfd; E_Config_Dialog *cfd;
E_Config_Dialog_View *v; E_Config_Dialog_View *v;
char buf[4096];
v = E_NEW(E_Config_Dialog_View, 1); v = E_NEW(E_Config_Dialog_View, 1);
@ -31,8 +32,9 @@ _config_pager_module(Config_Item *ci)
v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.apply_cfdata = _advanced_apply_data;
v->advanced.create_widgets = _advanced_create_widgets; v->advanced.create_widgets = _advanced_create_widgets;
snprintf(buf, sizeof(buf), "%s/module.eap", e_module_dir_get(pager_config->module));
cfd = e_config_dialog_new(e_container_current_get(e_manager_current_get()), cfd = e_config_dialog_new(e_container_current_get(e_manager_current_get()),
_("Pager Configuration"), NULL, 0, v, ci); _("Pager Configuration"), buf, 0, v, ci);
pager_config->config_dialog = cfd; pager_config->config_dialog = cfd;
} }

View File

@ -44,6 +44,7 @@ _config_temperature_module(void)
{ {
E_Config_Dialog *cfd; E_Config_Dialog *cfd;
E_Config_Dialog_View *v; E_Config_Dialog_View *v;
char buf[4096];
v = E_NEW(E_Config_Dialog_View, 1); v = E_NEW(E_Config_Dialog_View, 1);
@ -54,8 +55,9 @@ _config_temperature_module(void)
v->advanced.apply_cfdata = _advanced_apply_data; v->advanced.apply_cfdata = _advanced_apply_data;
v->advanced.create_widgets = _advanced_create_widgets; v->advanced.create_widgets = _advanced_create_widgets;
snprintf(buf, sizeof(buf), "%s/module.eap", e_module_dir_get(temperature_config->module));
cfd = e_config_dialog_new(e_container_current_get(e_manager_current_get()), cfd = e_config_dialog_new(e_container_current_get(e_manager_current_get()),
_("Temperature Configuration"), NULL, 0, v, NULL); _("Temperature Configuration"), buf, 0, v, NULL);
temperature_config->config_dialog = cfd; temperature_config->config_dialog = cfd;
} }