forked from enlightenment/enlightenment
parent
a17844935b
commit
3b94f5f39e
|
@ -1,25 +1,25 @@
|
||||||
#include "e.h"
|
#include "e.h"
|
||||||
|
|
||||||
/* function protos */
|
/* function protos */
|
||||||
static void *_create_data(E_Config_Dialog *cfd);
|
static void *_create_data(E_Config_Dialog *cfd);
|
||||||
static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
||||||
static int _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata);
|
static int _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata);
|
||||||
static int _basic_apply_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(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
|
static Evas_Object *_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
|
||||||
static void _fill_remembers(E_Config_Dialog_Data *cfdata);
|
static void _fill_remembers(E_Config_Dialog_Data *cfdata);
|
||||||
static void _cb_delete(void *data, void *data2);
|
static void _cb_delete(void *data, void *data2);
|
||||||
static void _cb_list_change(void *data, Evas_Object *obj);
|
static void _cb_list_change(void *data, Evas_Object *obj);
|
||||||
|
|
||||||
struct _E_Config_Dialog_Data
|
struct _E_Config_Dialog_Data
|
||||||
{
|
{
|
||||||
Evas_Object *list, *btn, *name, *class, *title, *role;
|
Evas_Object *list, *btn, *name, *class, *title, *role;
|
||||||
int remember_dialogs;
|
int remember_dialogs;
|
||||||
int remember_fm_wins;
|
int remember_fm_wins;
|
||||||
int remember_internal_fm_windows_globally;
|
int remember_internal_fm_windows_globally;
|
||||||
};
|
};
|
||||||
|
|
||||||
E_Config_Dialog *
|
E_Config_Dialog *
|
||||||
e_int_config_remembers(E_Container *con, const char *params __UNUSED__)
|
e_int_config_remembers(E_Container *con, const char *params __UNUSED__)
|
||||||
{
|
{
|
||||||
E_Config_Dialog *cfd;
|
E_Config_Dialog *cfd;
|
||||||
E_Config_Dialog_View *v;
|
E_Config_Dialog_View *v;
|
||||||
|
@ -33,8 +33,8 @@ e_int_config_remembers(E_Container *con, const char *params __UNUSED__)
|
||||||
v->basic.create_widgets = _basic_create;
|
v->basic.create_widgets = _basic_create;
|
||||||
v->basic.check_changed = _basic_check_changed;
|
v->basic.check_changed = _basic_check_changed;
|
||||||
|
|
||||||
cfd = e_config_dialog_new(con, _("Window Remembers"), "E",
|
cfd = e_config_dialog_new(con, _("Window Remembers"), "E",
|
||||||
"windows/window_remembers",
|
"windows/window_remembers",
|
||||||
"preferences-desktop-window-remember", 0, v, NULL);
|
"preferences-desktop-window-remember", 0, v, NULL);
|
||||||
return cfd;
|
return cfd;
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,7 @@ _cb_sort(const void *data1, const void *data2)
|
||||||
else if (rem2->role)
|
else if (rem2->role)
|
||||||
d2 = rem2->role;
|
d2 = rem2->role;
|
||||||
|
|
||||||
if (!strcmp(d1, d2))
|
if (!strcmp(d1, d2))
|
||||||
return -1;
|
return -1;
|
||||||
else
|
else
|
||||||
return strcmp(d1, d2);
|
return strcmp(d1, d2);
|
||||||
|
@ -84,11 +84,11 @@ _create_data(E_Config_Dialog *cfd __UNUSED__)
|
||||||
cfdata->remember_dialogs = e_config->remember_internal_windows;
|
cfdata->remember_dialogs = e_config->remember_internal_windows;
|
||||||
cfdata->remember_fm_wins = e_config->remember_internal_fm_windows;
|
cfdata->remember_fm_wins = e_config->remember_internal_fm_windows;
|
||||||
cfdata->remember_internal_fm_windows_globally = e_config->remember_internal_fm_windows_globally;
|
cfdata->remember_internal_fm_windows_globally = e_config->remember_internal_fm_windows_globally;
|
||||||
|
|
||||||
return cfdata;
|
return cfdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
_free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
free(cfdata);
|
free(cfdata);
|
||||||
|
@ -97,9 +97,9 @@ _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
||||||
static int
|
static int
|
||||||
_basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
_basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
return ((cfdata->remember_dialogs == e_config->remember_internal_windows) &&
|
return (cfdata->remember_dialogs == e_config->remember_internal_windows) &&
|
||||||
(cfdata->remember_fm_wins == e_config->remember_internal_fm_windows) &&
|
(cfdata->remember_fm_wins == e_config->remember_internal_fm_windows) &&
|
||||||
(cfdata->remember_internal_fm_windows_globally == e_config->remember_internal_fm_windows_globally));
|
(cfdata->remember_internal_fm_windows_globally == e_config->remember_internal_fm_windows_globally);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -134,7 +134,7 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||||
e_widget_list_object_append(ol, ow, 1, 0, 0.0);
|
e_widget_list_object_append(ol, ow, 1, 0, 0.0);
|
||||||
|
|
||||||
ow = e_widget_button_add(evas, _("Delete"), "list-remove",
|
ow = e_widget_button_add(evas, _("Delete"), "list-remove",
|
||||||
_cb_delete, cfdata, NULL);
|
_cb_delete, cfdata, NULL);
|
||||||
cfdata->btn = ow;
|
cfdata->btn = ow;
|
||||||
|
|
||||||
ow = e_widget_ilist_add(evas, 1, 1, NULL);
|
ow = e_widget_ilist_add(evas, 1, 1, NULL);
|
||||||
|
@ -185,8 +185,8 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||||
return ol;
|
return ol;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_fill_remembers(E_Config_Dialog_Data *cfdata)
|
_fill_remembers(E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
Evas *evas;
|
Evas *evas;
|
||||||
Eina_List *l = NULL;
|
Eina_List *l = NULL;
|
||||||
|
@ -207,7 +207,7 @@ _fill_remembers(E_Config_Dialog_Data *cfdata)
|
||||||
e_util_icon_theme_set(ic, "preferences-applications");
|
e_util_icon_theme_set(ic, "preferences-applications");
|
||||||
e_widget_ilist_header_append(cfdata->list, ic, _("Applications"));
|
e_widget_ilist_header_append(cfdata->list, ic, _("Applications"));
|
||||||
|
|
||||||
for (l = ll; l; l = l->next)
|
for (l = ll; l; l = l->next)
|
||||||
{
|
{
|
||||||
E_Remember *rem = NULL;
|
E_Remember *rem = NULL;
|
||||||
|
|
||||||
|
@ -217,7 +217,7 @@ _fill_remembers(E_Config_Dialog_Data *cfdata)
|
||||||
if ((rem->name) && (!strcmp(rem->name, "E"))) continue;
|
if ((rem->name) && (!strcmp(rem->name, "E"))) continue;
|
||||||
/* Filter out the module config remembers */
|
/* Filter out the module config remembers */
|
||||||
if ((rem->class) && (rem->class[0] == '_')) continue;
|
if ((rem->class) && (rem->class[0] == '_')) continue;
|
||||||
|
|
||||||
if (rem->name)
|
if (rem->name)
|
||||||
e_widget_ilist_append(cfdata->list, NULL, rem->name, NULL, rem, NULL);
|
e_widget_ilist_append(cfdata->list, NULL, rem->name, NULL, rem, NULL);
|
||||||
else if (rem->class)
|
else if (rem->class)
|
||||||
|
@ -241,14 +241,14 @@ _fill_remembers(E_Config_Dialog_Data *cfdata)
|
||||||
|
|
||||||
/* Garuntee we add only E's internal remembers */
|
/* Garuntee we add only E's internal remembers */
|
||||||
if ((!rem->name) || (strcmp(rem->name, "E"))) continue;
|
if ((!rem->name) || (strcmp(rem->name, "E"))) continue;
|
||||||
|
|
||||||
e_widget_ilist_append(cfdata->list, NULL, rem->class, NULL, rem, NULL);
|
e_widget_ilist_append(cfdata->list, NULL, rem->class, NULL, rem, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
ic = e_icon_add(evas);
|
ic = e_icon_add(evas);
|
||||||
e_util_icon_theme_set(ic, "preferences-plugin");
|
e_util_icon_theme_set(ic, "preferences-plugin");
|
||||||
e_widget_ilist_header_append(cfdata->list, ic, _("Modules"));
|
e_widget_ilist_header_append(cfdata->list, ic, _("Modules"));
|
||||||
for (l = ll; l; l = l->next)
|
for (l = ll; l; l = l->next)
|
||||||
{
|
{
|
||||||
E_Remember *rem = NULL;
|
E_Remember *rem = NULL;
|
||||||
|
|
||||||
|
@ -285,7 +285,7 @@ _cb_delete(void *data, void *data2 __UNUSED__)
|
||||||
int last_selected = -1;
|
int last_selected = -1;
|
||||||
|
|
||||||
if (!(cfdata = data)) return;
|
if (!(cfdata = data)) return;
|
||||||
for (i = 0, l = e_widget_ilist_items_get(cfdata->list); l; l = l->next, i++)
|
for (i = 0, l = e_widget_ilist_items_get(cfdata->list); l; l = l->next, i++)
|
||||||
{
|
{
|
||||||
E_Ilist_Item *item = NULL;
|
E_Ilist_Item *item = NULL;
|
||||||
E_Remember *rem = NULL;
|
E_Remember *rem = NULL;
|
||||||
|
@ -294,9 +294,9 @@ _cb_delete(void *data, void *data2 __UNUSED__)
|
||||||
if ((!item) || (!item->selected)) continue;
|
if ((!item) || (!item->selected)) continue;
|
||||||
if (!(rem = e_widget_ilist_nth_data_get(cfdata->list, i))) continue;
|
if (!(rem = e_widget_ilist_nth_data_get(cfdata->list, i))) continue;
|
||||||
e_remember_del(rem);
|
e_remember_del(rem);
|
||||||
last_selected = i;
|
last_selected = i;
|
||||||
changed = 1;
|
changed = 1;
|
||||||
++deleted;
|
++deleted;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changed) e_config_save_queue();
|
if (changed) e_config_save_queue();
|
||||||
|
@ -322,38 +322,38 @@ _cb_list_change(void *data, Evas_Object *obj __UNUSED__)
|
||||||
|
|
||||||
if ((selected = e_widget_ilist_selected_items_get(cfdata->list)))
|
if ((selected = e_widget_ilist_selected_items_get(cfdata->list)))
|
||||||
{
|
{
|
||||||
if ((item = eina_list_last_data_get(selected)))
|
if ((item = eina_list_last_data_get(selected)))
|
||||||
rem = e_widget_ilist_item_data_get(item);
|
rem = e_widget_ilist_item_data_get(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!rem)
|
if (!rem)
|
||||||
{
|
{
|
||||||
e_widget_label_text_set(cfdata->name, _("No selection"));
|
e_widget_label_text_set(cfdata->name, _("No selection"));
|
||||||
e_widget_disabled_set(cfdata->name, 1);
|
e_widget_disabled_set(cfdata->name, 1);
|
||||||
e_widget_label_text_set(cfdata->class, _("No selection"));
|
e_widget_label_text_set(cfdata->class, _("No selection"));
|
||||||
e_widget_disabled_set(cfdata->class, 1);
|
e_widget_disabled_set(cfdata->class, 1);
|
||||||
e_widget_label_text_set(cfdata->title, _("No selection"));
|
e_widget_label_text_set(cfdata->title, _("No selection"));
|
||||||
e_widget_disabled_set(cfdata->title, 1);
|
e_widget_disabled_set(cfdata->title, 1);
|
||||||
e_widget_label_text_set(cfdata->role, _("No selection"));
|
e_widget_label_text_set(cfdata->role, _("No selection"));
|
||||||
e_widget_disabled_set(cfdata->role, 1);
|
e_widget_disabled_set(cfdata->role, 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
e_widget_label_text_set(cfdata->name,
|
e_widget_label_text_set(cfdata->name,
|
||||||
rem->name ? rem->name : _("Any"));
|
rem->name ? rem->name : _("Any"));
|
||||||
e_widget_disabled_set(cfdata->name, !rem->name);
|
e_widget_disabled_set(cfdata->name, !rem->name);
|
||||||
|
|
||||||
e_widget_label_text_set(cfdata->class,
|
e_widget_label_text_set(cfdata->class,
|
||||||
rem->class ? rem->class : _("Any"));
|
rem->class ? rem->class : _("Any"));
|
||||||
e_widget_disabled_set(cfdata->class, !rem->class);
|
e_widget_disabled_set(cfdata->class, !rem->class);
|
||||||
|
|
||||||
e_widget_label_text_set(cfdata->title,
|
e_widget_label_text_set(cfdata->title,
|
||||||
rem->title ? rem->title : _("Any"));
|
rem->title ? rem->title : _("Any"));
|
||||||
e_widget_disabled_set(cfdata->title, !rem->title);
|
e_widget_disabled_set(cfdata->title, !rem->title);
|
||||||
|
|
||||||
e_widget_label_text_set(cfdata->role,
|
e_widget_label_text_set(cfdata->role,
|
||||||
rem->role ? rem->role : _("Any"));
|
rem->role ? rem->role : _("Any"));
|
||||||
e_widget_disabled_set(cfdata->role, !rem->role);
|
e_widget_disabled_set(cfdata->role, !rem->role);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (e_widget_ilist_selected_count_get(cfdata->list) < 1)
|
if (e_widget_ilist_selected_count_get(cfdata->list) < 1)
|
||||||
|
@ -361,3 +361,4 @@ _cb_list_change(void *data, Evas_Object *obj __UNUSED__)
|
||||||
else
|
else
|
||||||
e_widget_disabled_set(cfdata->btn, 0);
|
e_widget_disabled_set(cfdata->btn, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue