forked from enlightenment/enlightenment
parent
0a8ffffa5f
commit
ada4c17fa2
|
@ -4,14 +4,12 @@
|
||||||
#include "e_mod_config.h"
|
#include "e_mod_config.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
|
||||||
struct _E_Config_Dialog_Data
|
struct _E_Config_Dialog_Data
|
||||||
{
|
{
|
||||||
Evas_Object *o_avail; //List of available gadgets
|
Evas_Object *o_avail; //List of available gadgets
|
||||||
Evas_Object *o_add; //Add button
|
Evas_Object *o_add; //Add button
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* Local protos */
|
/* Local 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);
|
||||||
|
@ -21,7 +19,6 @@ static void _fill_gadgets_list(Evas_Object *ilist);
|
||||||
static void _cb_add(void *data, void *data2);
|
static void _cb_add(void *data, void *data2);
|
||||||
static void _avail_list_cb_change(void *data, Evas_Object *obj);
|
static void _avail_list_cb_change(void *data, Evas_Object *obj);
|
||||||
|
|
||||||
|
|
||||||
EAPI E_Config_Dialog *
|
EAPI E_Config_Dialog *
|
||||||
e_int_config_gadman_module(E_Container *con, const char *params __UNUSED__)
|
e_int_config_gadman_module(E_Container *con, const char *params __UNUSED__)
|
||||||
{
|
{
|
||||||
|
@ -31,24 +28,21 @@ e_int_config_gadman_module(E_Container *con, const char *params __UNUSED__)
|
||||||
|
|
||||||
/* check if config dialog exists ... */
|
/* check if config dialog exists ... */
|
||||||
if (e_config_dialog_find("E", "_e_modules_gadman_config_dialog"))
|
if (e_config_dialog_find("E", "_e_modules_gadman_config_dialog"))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/* ... else create it */
|
/* ... else create it */
|
||||||
v = E_NEW(E_Config_Dialog_View, 1);
|
v = E_NEW(E_Config_Dialog_View, 1);
|
||||||
v->create_cfdata = _create_data;
|
v->create_cfdata = _create_data;
|
||||||
v->free_cfdata = _free_data;
|
v->free_cfdata = _free_data;
|
||||||
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;
|
||||||
v->advanced.apply_cfdata = NULL;
|
|
||||||
v->advanced.create_widgets = NULL;
|
|
||||||
v->override_auto_apply = 0; //TODO this should remove the ok/apply buttons ... but doesnt work :(
|
v->override_auto_apply = 0; //TODO this should remove the ok/apply buttons ... but doesnt work :(
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "%s/e-module-gadman.edj",
|
snprintf(buf, sizeof(buf), "%s/e-module-gadman.edj", Man->module->dir);
|
||||||
Man->module->dir);
|
|
||||||
cfd = e_config_dialog_new(con, _("Gadgets Manager"),
|
cfd = e_config_dialog_new(con, _("Gadgets Manager"),
|
||||||
"E", "_e_modules_gadman_config_dialog",
|
"E", "_e_modules_gadman_config_dialog",
|
||||||
buf, 0, v, Man);
|
buf, 0, v, Man);
|
||||||
|
|
||||||
Man->config_dialog = cfd;
|
Man->config_dialog = cfd;
|
||||||
|
|
||||||
return Man->config_dialog;
|
return Man->config_dialog;
|
||||||
|
@ -58,6 +52,7 @@ static void *
|
||||||
_create_data(E_Config_Dialog *cfd)
|
_create_data(E_Config_Dialog *cfd)
|
||||||
{
|
{
|
||||||
E_Config_Dialog_Data *cfdata;
|
E_Config_Dialog_Data *cfdata;
|
||||||
|
|
||||||
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
||||||
return cfdata;
|
return cfdata;
|
||||||
}
|
}
|
||||||
|
@ -66,8 +61,7 @@ static void
|
||||||
_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
Man->config_dialog = NULL;
|
Man->config_dialog = NULL;
|
||||||
free(cfdata);
|
E_FREE(cfdata);
|
||||||
cfdata = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static Evas_Object *
|
static Evas_Object *
|
||||||
|
@ -77,7 +71,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
of = e_widget_framelist_add(evas, _("Available Gadgets"), 0);
|
of = e_widget_framelist_add(evas, _("Available Gadgets"), 0);
|
||||||
|
|
||||||
//o_avail List of available gadgets
|
//o_avail List of available gadgets
|
||||||
ol = e_widget_ilist_add(evas, 24, 24, NULL);
|
ol = e_widget_ilist_add(evas, 24, 24, NULL);
|
||||||
e_widget_ilist_multi_select_set(ol, 0);
|
e_widget_ilist_multi_select_set(ol, 0);
|
||||||
|
@ -85,13 +79,13 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
cfdata->o_avail = ol;
|
cfdata->o_avail = ol;
|
||||||
_fill_gadgets_list(ol);
|
_fill_gadgets_list(ol);
|
||||||
e_widget_framelist_object_append(of, ol);
|
e_widget_framelist_object_append(of, ol);
|
||||||
|
|
||||||
//o_add Button to add a gadget
|
//o_add Button to add a gadget
|
||||||
ob = e_widget_button_add(evas, _("Add Gadget"), NULL, _cb_add, cfdata, NULL);
|
ob = e_widget_button_add(evas, _("Add Gadget"), NULL, _cb_add, cfdata, NULL);
|
||||||
e_widget_disabled_set(ob, 1);
|
e_widget_disabled_set(ob, 1);
|
||||||
cfdata->o_add = ob;
|
cfdata->o_add = ob;
|
||||||
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_list_object_append(o, of, 1, 1, 0.5);
|
||||||
|
|
||||||
return o;
|
return o;
|
||||||
|
@ -105,14 +99,12 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************************/
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_fill_gadgets_list(Evas_Object *ilist)
|
_fill_gadgets_list(Evas_Object *ilist)
|
||||||
{
|
{
|
||||||
Evas_List *l = NULL;
|
Evas_List *l = NULL;
|
||||||
int w;
|
int w;
|
||||||
|
|
||||||
e_widget_ilist_freeze(ilist);
|
e_widget_ilist_freeze(ilist);
|
||||||
e_widget_ilist_clear(ilist);
|
e_widget_ilist_clear(ilist);
|
||||||
|
|
||||||
|
@ -126,10 +118,9 @@ _fill_gadgets_list(Evas_Object *ilist)
|
||||||
if (cc->func.label) lbl = cc->func.label();
|
if (cc->func.label) lbl = cc->func.label();
|
||||||
if (!lbl) lbl = cc->name;
|
if (!lbl) lbl = cc->name;
|
||||||
if (cc->func.icon) icon = cc->func.icon(Man->gc->evas);
|
if (cc->func.icon) icon = cc->func.icon(Man->gc->evas);
|
||||||
e_widget_ilist_append(ilist, icon, lbl, NULL,
|
e_widget_ilist_append(ilist, icon, lbl, NULL, (void *)cc, NULL);
|
||||||
(void *)cc, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
e_widget_ilist_go(ilist);
|
e_widget_ilist_go(ilist);
|
||||||
e_widget_min_size_get(ilist, &w, NULL);
|
e_widget_min_size_get(ilist, &w, NULL);
|
||||||
if (w < 200) w = 200;
|
if (w < 200) w = 200;
|
||||||
|
@ -140,12 +131,12 @@ _fill_gadgets_list(Evas_Object *ilist)
|
||||||
static void
|
static void
|
||||||
_cb_add(void *data, void *data2)
|
_cb_add(void *data, void *data2)
|
||||||
{
|
{
|
||||||
E_Config_Dialog_Data *cfdata = data;
|
E_Config_Dialog_Data *cfdata;
|
||||||
Evas_List *l;
|
Evas_List *l = NULL;
|
||||||
Evas_List *selected;
|
Evas_List *selected;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (!cfdata) return;
|
if (!(cfdata = data)) return;
|
||||||
|
|
||||||
for (i = 0, l = e_widget_ilist_items_get(cfdata->o_avail); l; l = l->next, i++)
|
for (i = 0, l = e_widget_ilist_items_get(cfdata->o_avail); l; l = l->next, i++)
|
||||||
{
|
{
|
||||||
|
@ -156,21 +147,22 @@ _cb_add(void *data, void *data2)
|
||||||
|
|
||||||
if (!(item = l->data)) continue;
|
if (!(item = l->data)) continue;
|
||||||
if (!item->selected) continue;
|
if (!item->selected) continue;
|
||||||
|
|
||||||
cc = e_widget_ilist_nth_data_get(cfdata->o_avail, i);
|
cc = e_widget_ilist_nth_data_get(cfdata->o_avail, i);
|
||||||
if (!cc) continue;
|
if (!cc) continue;
|
||||||
|
|
||||||
gcc = gadman_gadget_add(cc, 0);
|
gcc = gadman_gadget_add(cc, 0);
|
||||||
gadman_gadget_edit_start(gcc);
|
gadman_gadget_edit_start(gcc);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (l) evas_list_free(l);
|
if (l) evas_list_free(l);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_avail_list_cb_change(void *data, Evas_Object *obj)
|
_avail_list_cb_change(void *data, Evas_Object *obj)
|
||||||
{
|
{
|
||||||
E_Config_Dialog_Data *cfdata = data;
|
E_Config_Dialog_Data *cfdata;
|
||||||
|
|
||||||
if (!cfdata) return;
|
if (!(cfdata = data)) return;
|
||||||
e_widget_disabled_set(cfdata->o_add, 0);
|
e_widget_disabled_set(cfdata->o_add, 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,5 +5,5 @@
|
||||||
|
|
||||||
EAPI E_Config_Dialog *e_int_config_gadman_module(E_Container *con, const char *params __UNUSED__);
|
EAPI E_Config_Dialog *e_int_config_gadman_module(E_Container *con, const char *params __UNUSED__);
|
||||||
|
|
||||||
# endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -9,7 +9,6 @@ static void _gadman_maug_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _gadman_maug_add(void *data, E_Menu *m);
|
static void _gadman_maug_add(void *data, E_Menu *m);
|
||||||
static void _gadman_action_cb(E_Object *obj, const char *params);
|
static void _gadman_action_cb(E_Object *obj, const char *params);
|
||||||
|
|
||||||
|
|
||||||
/* public module routines. all modules must have these */
|
/* public module routines. all modules must have these */
|
||||||
EAPI E_Module_Api e_modapi = {
|
EAPI E_Module_Api e_modapi = {
|
||||||
E_MODULE_API_VERSION,
|
E_MODULE_API_VERSION,
|
||||||
|
@ -32,18 +31,18 @@ e_modapi_init(E_Module *m)
|
||||||
"enlightenment/extensions");
|
"enlightenment/extensions");
|
||||||
e_configure_registry_item_add("extensions/gadman", 150, _("Gadgets"), NULL,
|
e_configure_registry_item_add("extensions/gadman", 150, _("Gadgets"), NULL,
|
||||||
buf, e_int_config_gadman_module);
|
buf, e_int_config_gadman_module);
|
||||||
|
|
||||||
/* Set this module to be loaded after all other modules, or we don't see
|
/* Set this module to be loaded after all other modules, or we don't see
|
||||||
modules loaded after this */
|
modules loaded after this */
|
||||||
e_module_priority_set(m, -100);
|
e_module_priority_set(m, -100);
|
||||||
|
|
||||||
gadman_init(m);
|
gadman_init(m);
|
||||||
|
|
||||||
/* Menu augmentation */
|
/* Menu augmentation */
|
||||||
Man->icon_name = evas_stringshare_add(buf);
|
Man->icon_name = evas_stringshare_add(buf);
|
||||||
Man->maug = NULL;
|
Man->maug = NULL;
|
||||||
Man->maug = e_int_menus_menu_augmentation_add("config/1", _gadman_maug_add,
|
Man->maug = e_int_menus_menu_augmentation_add("config/1", _gadman_maug_add,
|
||||||
Man->icon_name, NULL, NULL);
|
Man->icon_name, NULL, NULL);
|
||||||
/* Create toggle action */
|
/* Create toggle action */
|
||||||
Man->action = e_action_add("gadman_toggle");
|
Man->action = e_action_add("gadman_toggle");
|
||||||
if (Man->action)
|
if (Man->action)
|
||||||
|
@ -52,17 +51,17 @@ e_modapi_init(E_Module *m)
|
||||||
e_action_predef_name_set(_("Gadgets"), _("Show/hide gadgets"),
|
e_action_predef_name_set(_("Gadgets"), _("Show/hide gadgets"),
|
||||||
"gadman_toggle", NULL, NULL, 0);
|
"gadman_toggle", NULL, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Create a binding for the action (if not exists) */
|
/* Create a binding for the action (if not exists) */
|
||||||
if (!e_bindings_key_get("gadman_toggle"))
|
if (!e_bindings_key_get("gadman_toggle"))
|
||||||
{
|
{
|
||||||
e_managers_keys_ungrab();
|
e_managers_keys_ungrab();
|
||||||
e_bindings_key_add(E_BINDING_CONTEXT_ANY, "g", E_BINDING_MODIFIER_WIN,
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY, "g", E_BINDING_MODIFIER_WIN,
|
||||||
0, "gadman_toggle", NULL);
|
0, "gadman_toggle", NULL);
|
||||||
|
|
||||||
e_managers_keys_grab();
|
e_managers_keys_grab();
|
||||||
e_config_save_queue();
|
e_config_save_queue();
|
||||||
}
|
}
|
||||||
|
|
||||||
return Man;
|
return Man;
|
||||||
}
|
}
|
||||||
|
@ -70,26 +69,26 @@ e_modapi_init(E_Module *m)
|
||||||
EAPI int
|
EAPI int
|
||||||
e_modapi_shutdown(E_Module *m)
|
e_modapi_shutdown(E_Module *m)
|
||||||
{
|
{
|
||||||
if(Man->maug)
|
if (Man->maug)
|
||||||
e_int_menus_menu_augmentation_del("config/1", Man->maug);
|
e_int_menus_menu_augmentation_del("config/1", Man->maug);
|
||||||
|
|
||||||
e_configure_registry_item_del("extensions/deskman");
|
e_configure_registry_item_del("extensions/deskman");
|
||||||
e_configure_registry_category_del("extensions");
|
e_configure_registry_category_del("extensions");
|
||||||
|
|
||||||
if (Man->config_dialog)
|
if (Man->config_dialog)
|
||||||
{
|
{
|
||||||
e_object_del(E_OBJECT(Man->config_dialog));
|
e_object_del(E_OBJECT(Man->config_dialog));
|
||||||
Man->config_dialog = NULL;
|
Man->config_dialog = NULL;
|
||||||
}
|
}
|
||||||
if (Man->action)
|
if (Man->action)
|
||||||
{
|
{
|
||||||
e_action_predef_name_del(_("Gadgets"), _("Show/hide gadgets"));
|
e_action_predef_name_del(_("Gadgets"), _("Show/hide gadgets"));
|
||||||
e_action_del("gadman_toggle");
|
e_action_del("gadman_toggle");
|
||||||
Man->action = NULL;
|
Man->action = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
gadman_shutdown();
|
gadman_shutdown();
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,7 +108,7 @@ static void
|
||||||
_gadman_maug_add(void *data, E_Menu *m)
|
_gadman_maug_add(void *data, E_Menu *m)
|
||||||
{
|
{
|
||||||
E_Menu_Item *mi;
|
E_Menu_Item *mi;
|
||||||
|
|
||||||
mi = e_menu_item_new(m);
|
mi = e_menu_item_new(m);
|
||||||
e_menu_item_label_set(mi, _("Gadgets"));
|
e_menu_item_label_set(mi, _("Gadgets"));
|
||||||
e_menu_item_icon_edje_set(mi, (char *)data, "icon");
|
e_menu_item_icon_edje_set(mi, (char *)data, "icon");
|
||||||
|
|
Loading…
Reference in New Issue