forked from enlightenment/enlightenment
e_conf_env: Display variable and assignment.
When setting a custom environment variable display the variable name and the value in NAME=VALUE format within the UI list. If the value string is long then use an ellipsis. Adds some clarity.
This commit is contained in:
parent
9cb83899b4
commit
8d72d36246
|
@ -34,8 +34,8 @@ e_int_config_env(Evas_Object *parent EINA_UNUSED, const char *params EINA_UNUSED
|
|||
v->basic.apply_cfdata = _basic_apply_data;
|
||||
|
||||
cfd = e_config_dialog_new(NULL, _("Environment Variables"),
|
||||
"E", "advanced/environment_variables",
|
||||
"preferences-system", 0, v, NULL);
|
||||
"E", "advanced/environment_variables",
|
||||
"preferences-system", 0, v, NULL);
|
||||
return cfd;
|
||||
}
|
||||
|
||||
|
@ -147,6 +147,24 @@ _sel_cb(void *data)
|
|||
e_widget_entry_text_set(cfdata->gui.val_en, "");
|
||||
}
|
||||
|
||||
static const char *
|
||||
_env_text(E_Config_Env_Var *evr)
|
||||
{
|
||||
static Eina_Slstr *text;
|
||||
char *val;
|
||||
|
||||
val = strndup(evr->val, 64);
|
||||
|
||||
if (strlen(evr->val) > 64)
|
||||
text = eina_slstr_printf("%s=%s...", evr->var, val);
|
||||
else
|
||||
text = eina_slstr_printf("%s=%s", evr->var, val);
|
||||
|
||||
free(val);
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
static void
|
||||
_add_cb(void *data, void *data2 EINA_UNUSED)
|
||||
{
|
||||
|
@ -184,7 +202,7 @@ _add_cb(void *data, void *data2 EINA_UNUSED)
|
|||
}
|
||||
cfdata->env_vars = eina_list_append(cfdata->env_vars, evr);
|
||||
e_widget_ilist_append(cfdata->gui.list, NULL,
|
||||
evr->var, _sel_cb, cfdata, NULL);
|
||||
_env_text(evr), _sel_cb, cfdata, NULL);
|
||||
e_widget_ilist_go(cfdata->gui.list);
|
||||
sel = e_widget_ilist_count(cfdata->gui.list) - 1;
|
||||
e_widget_ilist_selected_set(cfdata->gui.list, sel);
|
||||
|
@ -206,6 +224,7 @@ _add_cb(void *data, void *data2 EINA_UNUSED)
|
|||
if (sel >= 0)
|
||||
{
|
||||
e_widget_ilist_selected_set(cfdata->gui.list, sel);
|
||||
e_widget_ilist_nth_label_set(cfdata->gui.list, sel, _env_text(evr));
|
||||
e_widget_ilist_nth_show(cfdata->gui.list, sel, 0);
|
||||
}
|
||||
}
|
||||
|
@ -249,7 +268,7 @@ _del_cb(void *data, void *data2 EINA_UNUSED)
|
|||
e_widget_ilist_freeze(cfdata->gui.list);
|
||||
EINA_LIST_FOREACH(cfdata->env_vars, l, evr)
|
||||
{
|
||||
e_widget_ilist_append(cfdata->gui.list, NULL, evr->var,
|
||||
e_widget_ilist_append(cfdata->gui.list, NULL, _env_text(evr),
|
||||
_sel_cb, cfdata, NULL);
|
||||
}
|
||||
e_widget_ilist_go(cfdata->gui.list);
|
||||
|
@ -288,7 +307,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
|||
e_widget_ilist_freeze(ol);
|
||||
EINA_LIST_FOREACH(cfdata->env_vars, l, evr)
|
||||
{
|
||||
e_widget_ilist_append(ol, NULL, evr->var, _sel_cb, cfdata, NULL);
|
||||
e_widget_ilist_append(ol, NULL, _env_text(evr), _sel_cb, cfdata, NULL);
|
||||
}
|
||||
e_widget_ilist_go(ol);
|
||||
e_widget_ilist_thaw(ol);
|
||||
|
|
Loading…
Reference in New Issue