forked from enlightenment/enlightenment
add in gadman for desktop. happy dave! :)
SVN revision: 34610
This commit is contained in:
parent
85bdd7b5b8
commit
0a8ffffa5f
|
@ -373,6 +373,8 @@ src/modules/conf_mime/Makefile
|
||||||
src/modules/conf_mime/module.desktop
|
src/modules/conf_mime/module.desktop
|
||||||
src/modules/conf_interaction/Makefile
|
src/modules/conf_interaction/Makefile
|
||||||
src/modules/conf_interaction/module.desktop
|
src/modules/conf_interaction/module.desktop
|
||||||
|
src/modules/gadman/Makefile
|
||||||
|
src/modules/gadman/module.desktop
|
||||||
src/preload/Makefile
|
src/preload/Makefile
|
||||||
data/Makefile
|
data/Makefile
|
||||||
data/fonts/Makefile
|
data/fonts/Makefile
|
||||||
|
|
|
@ -1426,3 +1426,208 @@ group {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
group {
|
||||||
|
name: "e/gadman/full_bg";
|
||||||
|
parts {
|
||||||
|
part{
|
||||||
|
name: "bg";
|
||||||
|
type: RECT;
|
||||||
|
mouse_events: 1;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 255 255 255 200;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "hidden" 0.0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
programs {
|
||||||
|
program {
|
||||||
|
name: "hide";
|
||||||
|
signal: "e,state,visibility,hide";
|
||||||
|
source: "e";
|
||||||
|
action: STATE_SET "hidden" 0.0;
|
||||||
|
transition: LINEAR 0.4;
|
||||||
|
target: "bg";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "show";
|
||||||
|
signal: "e,state,visibility,show";
|
||||||
|
source: "e";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
transition: LINEAR 0.4;
|
||||||
|
target: "bg";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
group {
|
||||||
|
name: "e/gadman/frame";
|
||||||
|
parts {
|
||||||
|
part{
|
||||||
|
name: "bg_clip";
|
||||||
|
type: RECT;
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
rel1 {
|
||||||
|
to: "overlay";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "overlay";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "plain" 0.0;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "background";
|
||||||
|
mouse_events: 1;
|
||||||
|
clip_to: "bg_clip";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1 {
|
||||||
|
to: "overlay";
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "overlay";
|
||||||
|
}
|
||||||
|
image {
|
||||||
|
normal: "e17_ibar_bg_h.png";
|
||||||
|
border: 6 6 6 6;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "hidden" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "items_clip";
|
||||||
|
type: RECT;
|
||||||
|
mouse_events: 0;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1 {
|
||||||
|
to: "background";
|
||||||
|
offset: 4 4;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
to: "background";
|
||||||
|
offset: -5 -5;
|
||||||
|
}
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "hidden" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "e.swallow.content";
|
||||||
|
type: SWALLOW;
|
||||||
|
clip_to: "items_clip";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1 {
|
||||||
|
offset: 4 4;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
offset: -5 -5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "hidden" 0.0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.5 0.5;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 0.5 0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part {
|
||||||
|
name: "overlay";
|
||||||
|
mouse_events: 0;
|
||||||
|
clip_to: "bg_clip";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
image {
|
||||||
|
normal: "e17_ibar_over_h.png";
|
||||||
|
border: 13 13 13 13;
|
||||||
|
middle: 0;
|
||||||
|
}
|
||||||
|
fill {
|
||||||
|
smooth: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "hidden" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.5 0.5;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 0.5 0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
programs {
|
||||||
|
program {
|
||||||
|
name: "inset";
|
||||||
|
signal: "e,state,visibility,inset";
|
||||||
|
source: "e";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "bg_clip";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "plain";
|
||||||
|
signal: "e,state,visibility,plain";
|
||||||
|
source: "e";
|
||||||
|
action: STATE_SET "plain" 0.0;
|
||||||
|
target: "bg_clip";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "hide";
|
||||||
|
signal: "e,state,visibility,hide";
|
||||||
|
source: "e";
|
||||||
|
action: STATE_SET "hidden" 0.0;
|
||||||
|
transition: ACCELERATE 0.4;
|
||||||
|
target: "items_clip";
|
||||||
|
target: "background";
|
||||||
|
target: "overlay";
|
||||||
|
target: "e.swallow.content";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
name: "show";
|
||||||
|
signal: "e,state,visibility,show";
|
||||||
|
source: "e";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
transition: DECELERATE 0.4;
|
||||||
|
target: "items_clip";
|
||||||
|
target: "background";
|
||||||
|
target: "overlay";
|
||||||
|
target: "e.swallow.content";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -324,6 +324,22 @@ e_bindings_key_add(E_Binding_Context ctxt, const char *key, E_Binding_Modifier m
|
||||||
key_bindings = evas_list_append(key_bindings, bind);
|
key_bindings = evas_list_append(key_bindings, bind);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI E_Binding_Key *
|
||||||
|
e_bindings_key_get(const char *action)
|
||||||
|
{
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
for (l = key_bindings; l; l = l->next)
|
||||||
|
{
|
||||||
|
E_Binding_Key *bind;
|
||||||
|
|
||||||
|
bind = l->data;
|
||||||
|
if (bind->action && action && !strcmp(action, bind->action))
|
||||||
|
return bind;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_bindings_key_del(E_Binding_Context ctxt, const char *key, E_Binding_Modifier mod, int any_mod, const char *action, const char *params)
|
e_bindings_key_del(E_Binding_Context ctxt, const char *key, E_Binding_Modifier mod, int any_mod, const char *action, const char *params)
|
||||||
{
|
{
|
||||||
|
|
|
@ -95,6 +95,7 @@ EAPI E_Action *e_bindings_mouse_up_event_handle(E_Binding_Context ctxt, E_Obje
|
||||||
|
|
||||||
EAPI void e_bindings_key_add(E_Binding_Context ctxt, const char *key, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
|
EAPI void e_bindings_key_add(E_Binding_Context ctxt, const char *key, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
|
||||||
EAPI void e_bindings_key_del(E_Binding_Context ctxt, const char *key, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
|
EAPI void e_bindings_key_del(E_Binding_Context ctxt, const char *key, E_Binding_Modifier mod, int any_mod, const char *action, const char *params);
|
||||||
|
EAPI E_Binding_Key *e_bindings_key_get(const char *action);
|
||||||
EAPI void e_bindings_key_grab(E_Binding_Context ctxt, Ecore_X_Window win);
|
EAPI void e_bindings_key_grab(E_Binding_Context ctxt, Ecore_X_Window win);
|
||||||
EAPI void e_bindings_key_ungrab(E_Binding_Context ctxt, Ecore_X_Window win);
|
EAPI void e_bindings_key_ungrab(E_Binding_Context ctxt, Ecore_X_Window win);
|
||||||
EAPI E_Action *e_bindings_key_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Key_Down *ev);
|
EAPI E_Action *e_bindings_key_down_event_handle(E_Binding_Context ctxt, E_Object *obj, Ecore_X_Event_Key_Down *ev);
|
||||||
|
|
|
@ -96,6 +96,10 @@ e_config_init(void)
|
||||||
E_CONFIG_VAL(D, T, geom.pos, INT);
|
E_CONFIG_VAL(D, T, geom.pos, INT);
|
||||||
E_CONFIG_VAL(D, T, geom.size, INT);
|
E_CONFIG_VAL(D, T, geom.size, INT);
|
||||||
E_CONFIG_VAL(D, T, geom.res, INT);
|
E_CONFIG_VAL(D, T, geom.res, INT);
|
||||||
|
E_CONFIG_VAL(D, T, geom.pos_x, DOUBLE);
|
||||||
|
E_CONFIG_VAL(D, T, geom.pos_y, DOUBLE);
|
||||||
|
E_CONFIG_VAL(D, T, geom.size_w, DOUBLE);
|
||||||
|
E_CONFIG_VAL(D, T, geom.size_h, DOUBLE);
|
||||||
E_CONFIG_VAL(D, T, state_info.seq, INT);
|
E_CONFIG_VAL(D, T, state_info.seq, INT);
|
||||||
E_CONFIG_VAL(D, T, state_info.flags, INT);
|
E_CONFIG_VAL(D, T, state_info.flags, INT);
|
||||||
E_CONFIG_VAL(D, T, style, STR);
|
E_CONFIG_VAL(D, T, style, STR);
|
||||||
|
@ -188,6 +192,7 @@ e_config_init(void)
|
||||||
E_CONFIG_VAL(D, T, name, STR);
|
E_CONFIG_VAL(D, T, name, STR);
|
||||||
E_CONFIG_VAL(D, T, enabled, UCHAR);
|
E_CONFIG_VAL(D, T, enabled, UCHAR);
|
||||||
E_CONFIG_VAL(D, T, delayed, UCHAR);
|
E_CONFIG_VAL(D, T, delayed, UCHAR);
|
||||||
|
E_CONFIG_VAL(D, T, priority, INT);
|
||||||
|
|
||||||
_e_config_font_default_edd = E_CONFIG_DD_NEW("E_Font_Default",
|
_e_config_font_default_edd = E_CONFIG_DD_NEW("E_Font_Default",
|
||||||
E_Font_Default);
|
E_Font_Default);
|
||||||
|
@ -761,62 +766,64 @@ e_config_init(void)
|
||||||
{
|
{
|
||||||
E_Config_Module *em;
|
E_Config_Module *em;
|
||||||
|
|
||||||
#define CFG_MODULE(_name, _enabled, _delayed) \
|
#define CFG_MODULE(_name, _enabled, _delayed, _priority) \
|
||||||
em = E_NEW(E_Config_Module, 1); \
|
em = E_NEW(E_Config_Module, 1); \
|
||||||
em->name = evas_stringshare_add(_name); \
|
em->name = evas_stringshare_add(_name); \
|
||||||
em->enabled = _enabled; \
|
em->enabled = _enabled; \
|
||||||
em->delayed = _delayed; \
|
em->delayed = _delayed; \
|
||||||
|
em->priority = _priority; \
|
||||||
e_config->modules = evas_list_append(e_config->modules, em)
|
e_config->modules = evas_list_append(e_config->modules, em)
|
||||||
|
|
||||||
CFG_MODULE("start", 1, 0);
|
CFG_MODULE("start", 1, 0, 0);
|
||||||
CFG_MODULE("ibar", 1, 0);
|
CFG_MODULE("ibar", 1, 0, 0);
|
||||||
CFG_MODULE("ibox", 1, 0);
|
CFG_MODULE("ibox", 1, 0, 0);
|
||||||
CFG_MODULE("dropshadow", 1, 0);
|
CFG_MODULE("dropshadow", 1, 0, 0);
|
||||||
CFG_MODULE("clock", 1, 0);
|
CFG_MODULE("clock", 1, 0, 0);
|
||||||
CFG_MODULE("battery", 1, 0);
|
CFG_MODULE("battery", 1, 0, 0);
|
||||||
CFG_MODULE("cpufreq", 1, 0);
|
CFG_MODULE("cpufreq", 1, 0, 0);
|
||||||
CFG_MODULE("temperature", 1, 0);
|
CFG_MODULE("temperature", 1, 0, 0);
|
||||||
CFG_MODULE("pager", 1, 0);
|
CFG_MODULE("gadman", 1, 0, -100);
|
||||||
CFG_MODULE("exebuf", 1, 1);
|
CFG_MODULE("pager", 1, 0, 0);
|
||||||
CFG_MODULE("winlist", 1, 1);
|
CFG_MODULE("exebuf", 1, 1, 0);
|
||||||
CFG_MODULE("conf", 1, 1);
|
CFG_MODULE("winlist", 1, 1, 0);
|
||||||
CFG_MODULE("conf_applications", 1, 1);
|
CFG_MODULE("conf", 1, 1, 0);
|
||||||
CFG_MODULE("conf_borders", 1, 1);
|
CFG_MODULE("conf_applications", 1, 1, 0);
|
||||||
CFG_MODULE("conf_clientlist", 1, 1);
|
CFG_MODULE("conf_borders", 1, 1, 0);
|
||||||
CFG_MODULE("conf_colors", 1, 1);
|
CFG_MODULE("conf_clientlist", 1, 1, 0);
|
||||||
CFG_MODULE("conf_desk", 1, 1);
|
CFG_MODULE("conf_colors", 1, 1, 0);
|
||||||
CFG_MODULE("conf_desklock", 1, 1);
|
CFG_MODULE("conf_desk", 1, 1, 0);
|
||||||
CFG_MODULE("conf_desks", 1, 1);
|
CFG_MODULE("conf_desklock", 1, 1, 0);
|
||||||
CFG_MODULE("conf_dialogs", 1, 1);
|
CFG_MODULE("conf_desks", 1, 1, 0);
|
||||||
CFG_MODULE("conf_display", 1, 1);
|
CFG_MODULE("conf_dialogs", 1, 1, 0);
|
||||||
CFG_MODULE("conf_dpms", 1, 1);
|
CFG_MODULE("conf_display", 1, 1, 0);
|
||||||
CFG_MODULE("conf_exebuf", 1, 1);
|
CFG_MODULE("conf_dpms", 1, 1, 0);
|
||||||
CFG_MODULE("conf_fonts", 1, 1);
|
CFG_MODULE("conf_exebuf", 1, 1, 0);
|
||||||
CFG_MODULE("conf_icon_theme", 1, 1);
|
CFG_MODULE("conf_fonts", 1, 1, 0);
|
||||||
CFG_MODULE("conf_imc", 1, 1);
|
CFG_MODULE("conf_icon_theme", 1, 1, 0);
|
||||||
CFG_MODULE("conf_intl", 1, 1);
|
CFG_MODULE("conf_imc", 1, 1, 0);
|
||||||
CFG_MODULE("conf_keybindings", 1, 1);
|
CFG_MODULE("conf_intl", 1, 1, 0);
|
||||||
CFG_MODULE("conf_menus", 1, 1);
|
CFG_MODULE("conf_keybindings", 1, 1, 0);
|
||||||
CFG_MODULE("conf_mime", 1, 1);
|
CFG_MODULE("conf_menus", 1, 1, 0);
|
||||||
CFG_MODULE("conf_mouse", 1, 1);
|
CFG_MODULE("conf_mime", 1, 1, 0);
|
||||||
CFG_MODULE("conf_mousebindings", 1, 1);
|
CFG_MODULE("conf_mouse", 1, 1, 0);
|
||||||
CFG_MODULE("conf_mouse_cursor", 1, 1);
|
CFG_MODULE("conf_mousebindings", 1, 1, 0);
|
||||||
CFG_MODULE("conf_paths", 1, 1);
|
CFG_MODULE("conf_mouse_cursor", 1, 1, 0);
|
||||||
CFG_MODULE("conf_performance", 1, 1);
|
CFG_MODULE("conf_paths", 1, 1, 0);
|
||||||
CFG_MODULE("conf_profiles", 1, 1);
|
CFG_MODULE("conf_performance", 1, 1, 0);
|
||||||
CFG_MODULE("conf_screensaver", 1, 1);
|
CFG_MODULE("conf_profiles", 1, 1, 0);
|
||||||
CFG_MODULE("conf_shelves", 1, 1);
|
CFG_MODULE("conf_screensaver", 1, 1, 0);
|
||||||
CFG_MODULE("conf_startup", 1, 1);
|
CFG_MODULE("conf_shelves", 1, 1, 0);
|
||||||
CFG_MODULE("conf_theme", 1, 1);
|
CFG_MODULE("conf_startup", 1, 1, 0);
|
||||||
CFG_MODULE("conf_transitions", 1, 1);
|
CFG_MODULE("conf_theme", 1, 1, 0);
|
||||||
CFG_MODULE("conf_wallpaper", 1, 1);
|
CFG_MODULE("conf_transitions", 1, 1, 0);
|
||||||
CFG_MODULE("conf_window_display", 1, 1);
|
CFG_MODULE("conf_wallpaper", 1, 1, 0);
|
||||||
CFG_MODULE("conf_window_focus", 1, 1);
|
CFG_MODULE("conf_window_display", 1, 1, 0);
|
||||||
CFG_MODULE("conf_window_manipulation", 1, 1);
|
CFG_MODULE("conf_window_focus", 1, 1, 0);
|
||||||
CFG_MODULE("conf_winlist", 1, 1);
|
CFG_MODULE("conf_window_manipulation", 1, 1, 0);
|
||||||
CFG_MODULE("conf_engine", 1, 1);
|
CFG_MODULE("conf_winlist", 1, 1, 0);
|
||||||
CFG_MODULE("fileman", 1, 1);
|
CFG_MODULE("conf_engine", 1, 1, 0);
|
||||||
CFG_MODULE("conf_interaction", 1, 1);
|
CFG_MODULE("fileman", 1, 1, 0);
|
||||||
|
CFG_MODULE("conf_interaction", 1, 1, 0);
|
||||||
}
|
}
|
||||||
#if 0
|
#if 0
|
||||||
{
|
{
|
||||||
|
|
|
@ -293,6 +293,7 @@ struct _E_Config_Module
|
||||||
const char *name;
|
const char *name;
|
||||||
unsigned char enabled;
|
unsigned char enabled;
|
||||||
unsigned char delayed;
|
unsigned char delayed;
|
||||||
|
int priority;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _E_Config_Theme
|
struct _E_Config_Theme
|
||||||
|
@ -373,7 +374,8 @@ struct _E_Config_Gadcon_Client
|
||||||
const char *name;
|
const char *name;
|
||||||
const char *id;
|
const char *id;
|
||||||
struct {
|
struct {
|
||||||
int pos, size, res;
|
int pos, size, res; //gadcon
|
||||||
|
double pos_x, pos_y, size_w, size_h; //gadman
|
||||||
} geom;
|
} geom;
|
||||||
struct {
|
struct {
|
||||||
int seq, flags;
|
int seq, flags;
|
||||||
|
|
|
@ -654,7 +654,7 @@ e_gadcon_canvas_zone_geometry_get(E_Gadcon *gc, int *x, int *y, int *w, int *h)
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_gadcon_util_menu_attach_func_set(E_Gadcon *gc,
|
e_gadcon_util_menu_attach_func_set(E_Gadcon *gc,
|
||||||
void (*func) (void *data, E_Menu *menu),
|
void (*func) (void *data, E_Gadcon_Client *gcc, E_Menu *menu),
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
E_OBJECT_CHECK(gc);
|
E_OBJECT_CHECK(gc);
|
||||||
|
@ -1187,7 +1187,7 @@ e_gadcon_client_util_menu_items_append(E_Gadcon_Client *gcc, E_Menu *menu, int f
|
||||||
gcc->menu = menu;
|
gcc->menu = menu;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!gcc->gadcon->toolbar)
|
if (gcc->gadcon->shelf)
|
||||||
{
|
{
|
||||||
mn = e_menu_new();
|
mn = e_menu_new();
|
||||||
mi = e_menu_item_new(mn);
|
mi = e_menu_item_new(mn);
|
||||||
|
@ -1214,42 +1214,44 @@ e_gadcon_client_util_menu_items_append(E_Gadcon_Client *gcc, E_Menu *menu, int f
|
||||||
e_menu_item_submenu_set(mi, mn);
|
e_menu_item_submenu_set(mi, mn);
|
||||||
e_object_del(E_OBJECT(mn));
|
e_object_del(E_OBJECT(mn));
|
||||||
}
|
}
|
||||||
mi = e_menu_item_new(menu);
|
if (gcc->gadcon->shelf || gcc->gadcon->toolbar)
|
||||||
e_menu_item_label_set(mi, _("Automatically scroll contents"));
|
|
||||||
e_util_menu_item_edje_icon_set(mi, "enlightenment/autoscroll");
|
|
||||||
e_menu_item_check_set(mi, 1);
|
|
||||||
if (gcc->autoscroll) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_autoscroll, gcc);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(menu);
|
|
||||||
e_menu_item_label_set(mi, _("Able to be resized"));
|
|
||||||
e_util_menu_item_edje_icon_set(mi, "enlightenment/resizable");
|
|
||||||
e_menu_item_check_set(mi, 1);
|
|
||||||
if (gcc->resizable) e_menu_item_toggle_set(mi, 1);
|
|
||||||
e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_resizable, gcc);
|
|
||||||
|
|
||||||
mi = e_menu_item_new(menu);
|
|
||||||
e_menu_item_separator_set(mi, 1);
|
|
||||||
|
|
||||||
if (!gcc->o_control)
|
|
||||||
{
|
{
|
||||||
mi = e_menu_item_new(menu);
|
mi = e_menu_item_new(menu);
|
||||||
e_menu_item_label_set(mi, _("Begin move/resize this gadget"));
|
e_menu_item_label_set(mi, _("Automatically scroll contents"));
|
||||||
e_util_menu_item_edje_icon_set(mi, "enlightenment/edit");
|
e_util_menu_item_edje_icon_set(mi, "enlightenment/autoscroll");
|
||||||
e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_edit, gcc);
|
e_menu_item_check_set(mi, 1);
|
||||||
|
if (gcc->autoscroll) e_menu_item_toggle_set(mi, 1);
|
||||||
|
e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_autoscroll, gcc);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(menu);
|
||||||
|
e_menu_item_label_set(mi, _("Able to be resized"));
|
||||||
|
e_util_menu_item_edje_icon_set(mi, "enlightenment/resizable");
|
||||||
|
e_menu_item_check_set(mi, 1);
|
||||||
|
if (gcc->resizable) e_menu_item_toggle_set(mi, 1);
|
||||||
|
e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_resizable, gcc);
|
||||||
|
|
||||||
|
mi = e_menu_item_new(menu);
|
||||||
|
e_menu_item_separator_set(mi, 1);
|
||||||
|
|
||||||
|
if (!gcc->o_control)
|
||||||
|
{
|
||||||
|
mi = e_menu_item_new(menu);
|
||||||
|
e_menu_item_label_set(mi, _("Begin move/resize this gadget"));
|
||||||
|
e_util_menu_item_edje_icon_set(mi, "enlightenment/edit");
|
||||||
|
e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_edit, gcc);
|
||||||
|
}
|
||||||
|
|
||||||
|
mi = e_menu_item_new(menu);
|
||||||
|
e_menu_item_label_set(mi, _("Remove this gadget"));
|
||||||
|
e_util_menu_item_edje_icon_set(mi, "enlightenment/remove");
|
||||||
|
e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_remove, gcc);
|
||||||
}
|
}
|
||||||
|
|
||||||
mi = e_menu_item_new(menu);
|
|
||||||
e_menu_item_label_set(mi, _("Remove this gadget"));
|
|
||||||
e_util_menu_item_edje_icon_set(mi, "enlightenment/remove");
|
|
||||||
e_menu_item_callback_set(mi, _e_gadcon_client_cb_menu_remove, gcc);
|
|
||||||
|
|
||||||
if (gcc->gadcon->menu_attach.func)
|
if (gcc->gadcon->menu_attach.func)
|
||||||
{
|
{
|
||||||
mi = e_menu_item_new(menu);
|
mi = e_menu_item_new(menu);
|
||||||
e_menu_item_separator_set(mi, 1);
|
e_menu_item_separator_set(mi, 1);
|
||||||
|
|
||||||
gcc->gadcon->menu_attach.func(gcc->gadcon->menu_attach.data, menu);
|
gcc->gadcon->menu_attach.func(gcc->gadcon->menu_attach.data, gcc, menu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1454,6 +1456,10 @@ _e_gadcon_client_save(E_Gadcon_Client *gcc)
|
||||||
gcc->cf->geom.pos = gcc->config.pos;
|
gcc->cf->geom.pos = gcc->config.pos;
|
||||||
gcc->cf->geom.size = gcc->config.size;
|
gcc->cf->geom.size = gcc->config.size;
|
||||||
gcc->cf->geom.res = gcc->config.res;
|
gcc->cf->geom.res = gcc->config.res;
|
||||||
|
gcc->cf->geom.pos_x = gcc->config.pos_x;
|
||||||
|
gcc->cf->geom.pos_y = gcc->config.pos_y;
|
||||||
|
gcc->cf->geom.size_w = gcc->config.size_w;
|
||||||
|
gcc->cf->geom.size_h = gcc->config.size_h;
|
||||||
gcc->cf->state_info.seq = gcc->state_info.seq;
|
gcc->cf->state_info.seq = gcc->state_info.seq;
|
||||||
gcc->cf->state_info.flags = gcc->state_info.flags;
|
gcc->cf->state_info.flags = gcc->state_info.flags;
|
||||||
gcc->cf->autoscroll = gcc->autoscroll;
|
gcc->cf->autoscroll = gcc->autoscroll;
|
||||||
|
@ -1652,7 +1658,7 @@ _e_gadcon_cb_client_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *e
|
||||||
mi = e_menu_item_new(mn);
|
mi = e_menu_item_new(mn);
|
||||||
e_menu_item_separator_set(mi, 1);
|
e_menu_item_separator_set(mi, 1);
|
||||||
|
|
||||||
gcc->gadcon->menu_attach.func(gcc->gadcon->menu_attach.data, mn);
|
gcc->gadcon->menu_attach.func(gcc->gadcon->menu_attach.data, gcc, mn);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gcc->gadcon->toolbar)
|
if (gcc->gadcon->toolbar)
|
||||||
|
|
|
@ -80,7 +80,7 @@ struct _E_Gadcon
|
||||||
} frame_request;
|
} frame_request;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
void (*func) (void *data, E_Menu *menu);
|
void (*func) (void *data, E_Gadcon_Client *gcc, E_Menu *menu);
|
||||||
void *data;
|
void *data;
|
||||||
} menu_attach;
|
} menu_attach;
|
||||||
|
|
||||||
|
@ -135,7 +135,8 @@ struct _E_Gadcon_Client
|
||||||
void *data;
|
void *data;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
int pos, size, res;
|
int pos, size, res; //gadcon
|
||||||
|
double pos_x, pos_y, size_w, size_h; //gadman
|
||||||
} config;
|
} config;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
|
@ -203,7 +204,7 @@ EAPI void e_gadcon_zone_set(E_Gadcon *gc, E_Zone *zone);
|
||||||
EAPI E_Zone *e_gadcon_zone_get(E_Gadcon *gc);
|
EAPI E_Zone *e_gadcon_zone_get(E_Gadcon *gc);
|
||||||
EAPI void e_gadcon_ecore_evas_set(E_Gadcon *gc, Ecore_Evas *ee);
|
EAPI void e_gadcon_ecore_evas_set(E_Gadcon *gc, Ecore_Evas *ee);
|
||||||
EAPI int e_gadcon_canvas_zone_geometry_get(E_Gadcon *gc, int *x, int *y, int *w, int *h);
|
EAPI int e_gadcon_canvas_zone_geometry_get(E_Gadcon *gc, int *x, int *y, int *w, int *h);
|
||||||
EAPI void e_gadcon_util_menu_attach_func_set(E_Gadcon *gc, void (*func) (void *data, E_Menu *menu), void *data);
|
EAPI void e_gadcon_util_menu_attach_func_set(E_Gadcon *gc, void (*func) (void *data, E_Gadcon_Client *gcc, E_Menu *menu), void *data);
|
||||||
EAPI void e_gadcon_dnd_window_set(E_Gadcon *gc, Ecore_X_Window win);
|
EAPI void e_gadcon_dnd_window_set(E_Gadcon *gc, Ecore_X_Window win);
|
||||||
EAPI Ecore_X_Window e_gadcon_dnd_window_get(E_Gadcon *gc);
|
EAPI Ecore_X_Window e_gadcon_dnd_window_get(E_Gadcon *gc);
|
||||||
EAPI void e_gadcon_shelf_set(E_Gadcon *gc, E_Shelf *shelf);
|
EAPI void e_gadcon_shelf_set(E_Gadcon *gc, E_Shelf *shelf);
|
||||||
|
|
|
@ -133,6 +133,17 @@ e_gadcon_popup_show(E_Gadcon_Popup *pop)
|
||||||
else if (px < zx)
|
else if (px < zx)
|
||||||
px = zx;
|
px = zx;
|
||||||
break;
|
break;
|
||||||
|
case E_GADCON_ORIENT_FLOAT:
|
||||||
|
px = (gx + (gw / 2)) - (pop->w / 2);
|
||||||
|
if (gy >= zh / 2)
|
||||||
|
py = gy - pop->h;
|
||||||
|
else
|
||||||
|
py = gy + gh;
|
||||||
|
if (px + pop->w >= zw)
|
||||||
|
px = zw - pop->w;
|
||||||
|
else if (px < zx)
|
||||||
|
px = zx;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
e_popup_move_resize(pop->win, 50, 50, pop->w, pop->h);
|
e_popup_move_resize(pop->win, 50, 50, pop->w, pop->h);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -16,6 +16,7 @@ static void _e_module_dialog_disable_show(const char *title, const char *body, E
|
||||||
static void _e_module_cb_dialog_disable(void *data, E_Dialog *dia);
|
static void _e_module_cb_dialog_disable(void *data, E_Dialog *dia);
|
||||||
static void _e_module_event_update_free(void *data, void *event);
|
static void _e_module_event_update_free(void *data, void *event);
|
||||||
static int _e_module_cb_idler(void *data);
|
static int _e_module_cb_idler(void *data);
|
||||||
|
static int _e_module_sort_priority(void *d1, void *d2);
|
||||||
|
|
||||||
/* local subsystem globals */
|
/* local subsystem globals */
|
||||||
static Evas_List *_e_modules = NULL;
|
static Evas_List *_e_modules = NULL;
|
||||||
|
@ -43,7 +44,8 @@ e_module_shutdown(void)
|
||||||
*/
|
*/
|
||||||
VALGRIND_DO_LEAK_CHECK
|
VALGRIND_DO_LEAK_CHECK
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
_e_modules = evas_list_reverse(_e_modules);
|
||||||
for (l = _e_modules; l; l = l->next)
|
for (l = _e_modules; l; l = l->next)
|
||||||
{
|
{
|
||||||
E_Module *m;
|
E_Module *m;
|
||||||
|
@ -70,7 +72,9 @@ EAPI void
|
||||||
e_module_all_load(void)
|
e_module_all_load(void)
|
||||||
{
|
{
|
||||||
Evas_List *l;
|
Evas_List *l;
|
||||||
|
e_config->modules = evas_list_sort(e_config->modules,
|
||||||
|
evas_list_count(e_config->modules),
|
||||||
|
_e_module_sort_priority);
|
||||||
for (l = e_config->modules; l; l = l->next)
|
for (l = e_config->modules; l; l = l->next)
|
||||||
{
|
{
|
||||||
E_Config_Module *em;
|
E_Config_Module *em;
|
||||||
|
@ -445,6 +449,31 @@ e_module_delayed_set(E_Module *m, int delayed)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
e_module_priority_set(E_Module *m, int priority)
|
||||||
|
{
|
||||||
|
/* Set the loading order for a module.
|
||||||
|
More priority means load earlier */
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
for (l = e_config->modules; l; l = l->next)
|
||||||
|
{
|
||||||
|
E_Config_Module *em;
|
||||||
|
|
||||||
|
em = l->data;
|
||||||
|
if (!em) continue;
|
||||||
|
if (!e_util_strcmp(m->name, em->name))
|
||||||
|
{
|
||||||
|
if (em->priority != priority)
|
||||||
|
{
|
||||||
|
em->priority = priority;
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -542,3 +571,13 @@ _e_module_cb_idler(void *data)
|
||||||
_e_module_idler = NULL;
|
_e_module_idler = NULL;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
_e_module_sort_priority(void *d1, void *d2)
|
||||||
|
{
|
||||||
|
E_Config_Module *m1, *m2;
|
||||||
|
|
||||||
|
m1 = d1;
|
||||||
|
m2 = d2;
|
||||||
|
return (m2->priority - m1->priority);
|
||||||
|
}
|
||||||
|
|
|
@ -68,6 +68,7 @@ EAPI E_Module *e_module_find(const char *name);
|
||||||
EAPI Evas_List *e_module_list(void);
|
EAPI Evas_List *e_module_list(void);
|
||||||
EAPI void e_module_dialog_show(E_Module *m, const char *title, const char *body);
|
EAPI void e_module_dialog_show(E_Module *m, const char *title, const char *body);
|
||||||
EAPI void e_module_delayed_set(E_Module *m, int delayed);
|
EAPI void e_module_delayed_set(E_Module *m, int delayed);
|
||||||
|
EAPI void e_module_priority_set(E_Module *m, int priority);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -15,7 +15,7 @@ static void _e_shelf_cb_menu_contents(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_shelf_cb_confirm_dialog_yes(void *data);
|
static void _e_shelf_cb_confirm_dialog_yes(void *data);
|
||||||
static void _e_shelf_cb_menu_delete(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_shelf_cb_menu_delete(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_shelf_menu_append(E_Shelf *es, E_Menu *mn);
|
static void _e_shelf_menu_append(E_Shelf *es, E_Menu *mn);
|
||||||
static void _e_shelf_cb_menu_items_append(void *data, E_Menu *mn);
|
static void _e_shelf_cb_menu_items_append(void *data, E_Gadcon_Client *gcc, E_Menu *mn);
|
||||||
static void _e_shelf_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info);
|
static void _e_shelf_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info);
|
||||||
static int _e_shelf_cb_mouse_in(void *data, int type, void *event);
|
static int _e_shelf_cb_mouse_in(void *data, int type, void *event);
|
||||||
static int _e_shelf_cb_mouse_out(void *data, int type, void *event);
|
static int _e_shelf_cb_mouse_out(void *data, int type, void *event);
|
||||||
|
@ -1079,7 +1079,7 @@ _e_shelf_menu_append(E_Shelf *es, E_Menu *mn)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_shelf_cb_menu_items_append(void *data, E_Menu *mn)
|
_e_shelf_cb_menu_items_append(void *data, E_Gadcon_Client *gcc, E_Menu *mn)
|
||||||
{
|
{
|
||||||
E_Shelf *es;
|
E_Shelf *es;
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ static void _e_toolbar_fm2_dir_deleted(void *data, Evas_Object *obj, void *event
|
||||||
static void _e_toolbar_fm2_files_deleted(void *data, Evas_Object *obj, void *event_info);
|
static void _e_toolbar_fm2_files_deleted(void *data, Evas_Object *obj, void *event_info);
|
||||||
static void _e_toolbar_fm2_selected(void *data, Evas_Object *obj, void *event_info);
|
static void _e_toolbar_fm2_selected(void *data, Evas_Object *obj, void *event_info);
|
||||||
static void _e_toolbar_fm2_selection_changed(void *data, Evas_Object *obj, void *event_info);
|
static void _e_toolbar_fm2_selection_changed(void *data, Evas_Object *obj, void *event_info);
|
||||||
static void _e_toolbar_menu_items_append(void *data, E_Menu *mn);
|
static void _e_toolbar_menu_items_append(void *data, E_Gadcon_Client *gcc, E_Menu *mn);
|
||||||
|
|
||||||
/* local vars */
|
/* local vars */
|
||||||
static Evas_List *toolbars = NULL;
|
static Evas_List *toolbars = NULL;
|
||||||
|
@ -336,7 +336,7 @@ _e_toolbar_menu_cb_pre(void *data, E_Menu *mn)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_toolbar_menu_items_append(void *data, E_Menu *mn)
|
_e_toolbar_menu_items_append(void *data, E_Gadcon_Client *gcc, E_Menu *mn)
|
||||||
{
|
{
|
||||||
E_Toolbar *tbar;
|
E_Toolbar *tbar;
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,7 @@ conf_exebuf \
|
||||||
conf_paths \
|
conf_paths \
|
||||||
conf_mime \
|
conf_mime \
|
||||||
conf_interaction \
|
conf_interaction \
|
||||||
|
gadman \
|
||||||
conf_window_remembers
|
conf_window_remembers
|
||||||
|
|
||||||
if HAVE_TEMPERATURE
|
if HAVE_TEMPERATURE
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
MODULE = gadman
|
||||||
|
|
||||||
|
# data files for the module
|
||||||
|
filesdir = $(libdir)/enlightenment/modules/$(MODULE)
|
||||||
|
files_DATA = e-module-gadman.edj module.desktop
|
||||||
|
|
||||||
|
EXTRA_DIST = $(files_DATA)
|
||||||
|
|
||||||
|
# the module .so file
|
||||||
|
INCLUDES = -I. \
|
||||||
|
-I$(top_srcdir) \
|
||||||
|
-I$(top_srcdir)/src/modules/$(MODULE) \
|
||||||
|
-I$(top_srcdir)/src/bin \
|
||||||
|
-I$(top_srcdir)/src/lib \
|
||||||
|
-I$(top_srcdir)/src/modules \
|
||||||
|
@e_cflags@
|
||||||
|
pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
|
||||||
|
pkg_LTLIBRARIES = module.la
|
||||||
|
module_la_SOURCES = e_mod_main.c \
|
||||||
|
e_mod_main.h \
|
||||||
|
e_mod_config.c \
|
||||||
|
e_mod_config.h \
|
||||||
|
e_mod_gadman.c \
|
||||||
|
e_mod_gadman.h
|
||||||
|
module_la_LIBADD = @e_libs@ @dlopen_libs@
|
||||||
|
module_la_LDFLAGS = -module -avoid-version
|
||||||
|
module_la_DEPENDENCIES = $(top_builddir)/config.h
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)
|
Binary file not shown.
|
@ -0,0 +1,176 @@
|
||||||
|
#include <e.h>
|
||||||
|
#include "e_mod_main.h"
|
||||||
|
#include "e_mod_gadman.h"
|
||||||
|
#include "e_mod_config.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
|
||||||
|
struct _E_Config_Dialog_Data
|
||||||
|
{
|
||||||
|
Evas_Object *o_avail; //List of available gadgets
|
||||||
|
Evas_Object *o_add; //Add button
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* Local protos */
|
||||||
|
static void *_create_data(E_Config_Dialog *cfd);
|
||||||
|
static void _free_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 int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
||||||
|
static void _fill_gadgets_list(Evas_Object *ilist);
|
||||||
|
static void _cb_add(void *data, void *data2);
|
||||||
|
static void _avail_list_cb_change(void *data, Evas_Object *obj);
|
||||||
|
|
||||||
|
|
||||||
|
EAPI E_Config_Dialog *
|
||||||
|
e_int_config_gadman_module(E_Container *con, const char *params __UNUSED__)
|
||||||
|
{
|
||||||
|
E_Config_Dialog *cfd;
|
||||||
|
E_Config_Dialog_View *v;
|
||||||
|
char buf[4096];
|
||||||
|
|
||||||
|
/* check if config dialog exists ... */
|
||||||
|
if (e_config_dialog_find("E", "_e_modules_gadman_config_dialog"))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* ... else create it */
|
||||||
|
v = E_NEW(E_Config_Dialog_View, 1);
|
||||||
|
v->create_cfdata = _create_data;
|
||||||
|
v->free_cfdata = _free_data;
|
||||||
|
v->basic.apply_cfdata = _basic_apply_data;
|
||||||
|
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 :(
|
||||||
|
|
||||||
|
snprintf(buf, sizeof(buf), "%s/e-module-gadman.edj",
|
||||||
|
Man->module->dir);
|
||||||
|
cfd = e_config_dialog_new(con, _("Gadgets Manager"),
|
||||||
|
"E", "_e_modules_gadman_config_dialog",
|
||||||
|
buf, 0, v, Man);
|
||||||
|
|
||||||
|
Man->config_dialog = cfd;
|
||||||
|
|
||||||
|
return Man->config_dialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void *
|
||||||
|
_create_data(E_Config_Dialog *cfd)
|
||||||
|
{
|
||||||
|
E_Config_Dialog_Data *cfdata;
|
||||||
|
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
||||||
|
return cfdata;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
|
{
|
||||||
|
Man->config_dialog = NULL;
|
||||||
|
free(cfdata);
|
||||||
|
cfdata = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Evas_Object *
|
||||||
|
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||||
|
{
|
||||||
|
Evas_Object *o, *of, *ob, *ol;
|
||||||
|
|
||||||
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
of = e_widget_framelist_add(evas, _("Available Gadgets"), 0);
|
||||||
|
|
||||||
|
//o_avail List of available gadgets
|
||||||
|
ol = e_widget_ilist_add(evas, 24, 24, NULL);
|
||||||
|
e_widget_ilist_multi_select_set(ol, 0);
|
||||||
|
e_widget_on_change_hook_set(ol, _avail_list_cb_change, cfdata);
|
||||||
|
cfdata->o_avail = ol;
|
||||||
|
_fill_gadgets_list(ol);
|
||||||
|
e_widget_framelist_object_append(of, ol);
|
||||||
|
|
||||||
|
//o_add Button to add a gadget
|
||||||
|
ob = e_widget_button_add(evas, _("Add Gadget"), NULL, _cb_add, cfdata, NULL);
|
||||||
|
e_widget_disabled_set(ob, 1);
|
||||||
|
cfdata->o_add = ob;
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
|
||||||
|
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||||
|
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
|
{
|
||||||
|
gadman_gadget_edit_end();
|
||||||
|
e_config_save_queue();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/********************************************************************/
|
||||||
|
|
||||||
|
static void
|
||||||
|
_fill_gadgets_list(Evas_Object *ilist)
|
||||||
|
{
|
||||||
|
Evas_List *l = NULL;
|
||||||
|
int w;
|
||||||
|
|
||||||
|
e_widget_ilist_freeze(ilist);
|
||||||
|
e_widget_ilist_clear(ilist);
|
||||||
|
|
||||||
|
for (l = e_gadcon_provider_list(); l; l = l->next)
|
||||||
|
{
|
||||||
|
E_Gadcon_Client_Class *cc;
|
||||||
|
Evas_Object *icon = NULL;
|
||||||
|
const char *lbl = NULL;
|
||||||
|
|
||||||
|
if (!(cc = l->data)) continue;
|
||||||
|
if (cc->func.label) lbl = cc->func.label();
|
||||||
|
if (!lbl) lbl = cc->name;
|
||||||
|
if (cc->func.icon) icon = cc->func.icon(Man->gc->evas);
|
||||||
|
e_widget_ilist_append(ilist, icon, lbl, NULL,
|
||||||
|
(void *)cc, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
e_widget_ilist_go(ilist);
|
||||||
|
e_widget_min_size_get(ilist, &w, NULL);
|
||||||
|
if (w < 200) w = 200;
|
||||||
|
e_widget_min_size_set(ilist, w, 250);
|
||||||
|
e_widget_ilist_thaw(ilist);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_cb_add(void *data, void *data2)
|
||||||
|
{
|
||||||
|
E_Config_Dialog_Data *cfdata = data;
|
||||||
|
Evas_List *l;
|
||||||
|
Evas_List *selected;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (!cfdata) return;
|
||||||
|
|
||||||
|
for (i = 0, l = e_widget_ilist_items_get(cfdata->o_avail); l; l = l->next, i++)
|
||||||
|
{
|
||||||
|
E_Ilist_Item *item = NULL;
|
||||||
|
const char *name = NULL;
|
||||||
|
E_Gadcon_Client_Class *cc;
|
||||||
|
E_Gadcon_Client *gcc;
|
||||||
|
|
||||||
|
if (!(item = l->data)) continue;
|
||||||
|
if (!item->selected) continue;
|
||||||
|
|
||||||
|
cc = e_widget_ilist_nth_data_get(cfdata->o_avail, i);
|
||||||
|
if (!cc) continue;
|
||||||
|
|
||||||
|
gcc = gadman_gadget_add(cc, 0);
|
||||||
|
gadman_gadget_edit_start(gcc);
|
||||||
|
}
|
||||||
|
if (l) evas_list_free(l);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_avail_list_cb_change(void *data, Evas_Object *obj)
|
||||||
|
{
|
||||||
|
E_Config_Dialog_Data *cfdata = data;
|
||||||
|
|
||||||
|
if (!cfdata) return;
|
||||||
|
e_widget_disabled_set(cfdata->o_add, 0);
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
#ifdef E_TYPEDEFS
|
||||||
|
#else
|
||||||
|
#ifndef E_MOD_CONFIG_H
|
||||||
|
#define E_MOD_CONFIG_H
|
||||||
|
|
||||||
|
EAPI E_Config_Dialog *e_int_config_gadman_module(E_Container *con, const char *params __UNUSED__);
|
||||||
|
|
||||||
|
# endif
|
||||||
|
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,49 @@
|
||||||
|
#ifndef E_MOD_GADMAN_H
|
||||||
|
#define E_MOD_GADMAN_H
|
||||||
|
|
||||||
|
#define DEFAULT_POS_X 0.1
|
||||||
|
#define DEFAULT_POS_Y 0.1
|
||||||
|
#define DEFAULT_SIZE_W 0.07
|
||||||
|
#define DEFAULT_SIZE_H 0.07
|
||||||
|
|
||||||
|
#define DRAG_START 0
|
||||||
|
#define DRAG_STOP 1
|
||||||
|
#define DRAG_MOVE 2
|
||||||
|
|
||||||
|
typedef struct _Manager Manager;
|
||||||
|
|
||||||
|
struct _Manager
|
||||||
|
{
|
||||||
|
E_Gadcon *gc;
|
||||||
|
E_Gadcon *gc_top;
|
||||||
|
Evas_List *gadgets;
|
||||||
|
Evas_Object *mover;
|
||||||
|
Evas_Object *mover_top;
|
||||||
|
Evas_Object *full_bg;
|
||||||
|
char *icon_name;
|
||||||
|
|
||||||
|
int visible;
|
||||||
|
int use_composite;
|
||||||
|
Ecore_X_Window top_win;
|
||||||
|
Ecore_Evas *top_ee;
|
||||||
|
E_Container *container;
|
||||||
|
|
||||||
|
Evas_Coord width, height;
|
||||||
|
|
||||||
|
E_Module *module;
|
||||||
|
E_Config_Dialog *config_dialog;
|
||||||
|
E_Int_Menu_Augmentation *maug;
|
||||||
|
E_Action *action;
|
||||||
|
};
|
||||||
|
|
||||||
|
Manager *Man;
|
||||||
|
|
||||||
|
void gadman_init(E_Module *m);
|
||||||
|
void gadman_shutdown(void);
|
||||||
|
E_Gadcon_Client *gadman_gadget_add(E_Gadcon_Client_Class *cc, int ontop);
|
||||||
|
void gadman_gadget_del(E_Gadcon_Client *gcc);
|
||||||
|
E_Gadcon_Client *gadman_gadget_place(E_Config_Gadcon_Client *cf, int ontop);
|
||||||
|
void gadman_gadget_edit_start(E_Gadcon_Client *gcc);
|
||||||
|
void gadman_gadget_edit_end(void);
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,123 @@
|
||||||
|
#include <e.h>
|
||||||
|
#include "config.h"
|
||||||
|
#include "e_mod_main.h"
|
||||||
|
#include "e_mod_gadman.h"
|
||||||
|
#include "e_mod_config.h"
|
||||||
|
|
||||||
|
/* local protos */
|
||||||
|
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_action_cb(E_Object *obj, const char *params);
|
||||||
|
|
||||||
|
|
||||||
|
/* public module routines. all modules must have these */
|
||||||
|
EAPI E_Module_Api e_modapi = {
|
||||||
|
E_MODULE_API_VERSION,
|
||||||
|
"Gadman"
|
||||||
|
};
|
||||||
|
|
||||||
|
EAPI void *
|
||||||
|
e_modapi_init(E_Module *m)
|
||||||
|
{
|
||||||
|
char buf[4096];
|
||||||
|
|
||||||
|
/* Set up module's message catalogue */
|
||||||
|
//snprintf(buf, sizeof(buf), "%s/locale", e_module_dir_get(m));
|
||||||
|
//bindtextdomain(PACKAGE, buf);
|
||||||
|
//bind_textdomain_codeset(PACKAGE, "UTF-8");
|
||||||
|
|
||||||
|
/* Set up a new configuration panel */
|
||||||
|
snprintf(buf, sizeof(buf), "%s/e-module-gadman.edj", m->dir);
|
||||||
|
e_configure_registry_category_add("extensions", 90, _("Extensions"), NULL,
|
||||||
|
"enlightenment/extensions");
|
||||||
|
e_configure_registry_item_add("extensions/gadman", 150, _("Gadgets"), NULL,
|
||||||
|
buf, e_int_config_gadman_module);
|
||||||
|
|
||||||
|
/* Set this module to be loaded after all other modules, or we don't see
|
||||||
|
modules loaded after this */
|
||||||
|
e_module_priority_set(m, -100);
|
||||||
|
|
||||||
|
gadman_init(m);
|
||||||
|
|
||||||
|
/* Menu augmentation */
|
||||||
|
Man->icon_name = evas_stringshare_add(buf);
|
||||||
|
Man->maug = NULL;
|
||||||
|
Man->maug = e_int_menus_menu_augmentation_add("config/1", _gadman_maug_add,
|
||||||
|
Man->icon_name, NULL, NULL);
|
||||||
|
/* Create toggle action */
|
||||||
|
Man->action = e_action_add("gadman_toggle");
|
||||||
|
if (Man->action)
|
||||||
|
{
|
||||||
|
Man->action->func.go = _gadman_action_cb;
|
||||||
|
e_action_predef_name_set(_("Gadgets"), _("Show/hide gadgets"),
|
||||||
|
"gadman_toggle", NULL, NULL, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Create a binding for the action (if not exists) */
|
||||||
|
if (!e_bindings_key_get("gadman_toggle"))
|
||||||
|
{
|
||||||
|
e_managers_keys_ungrab();
|
||||||
|
e_bindings_key_add(E_BINDING_CONTEXT_ANY, "g", E_BINDING_MODIFIER_WIN,
|
||||||
|
0, "gadman_toggle", NULL);
|
||||||
|
|
||||||
|
e_managers_keys_grab();
|
||||||
|
e_config_save_queue();
|
||||||
|
}
|
||||||
|
|
||||||
|
return Man;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI int
|
||||||
|
e_modapi_shutdown(E_Module *m)
|
||||||
|
{
|
||||||
|
if(Man->maug)
|
||||||
|
e_int_menus_menu_augmentation_del("config/1", Man->maug);
|
||||||
|
|
||||||
|
e_configure_registry_item_del("extensions/deskman");
|
||||||
|
e_configure_registry_category_del("extensions");
|
||||||
|
|
||||||
|
if (Man->config_dialog)
|
||||||
|
{
|
||||||
|
e_object_del(E_OBJECT(Man->config_dialog));
|
||||||
|
Man->config_dialog = NULL;
|
||||||
|
}
|
||||||
|
if (Man->action)
|
||||||
|
{
|
||||||
|
e_action_predef_name_del(_("Gadgets"), _("Show/hide gadgets"));
|
||||||
|
e_action_del("gadman_toggle");
|
||||||
|
Man->action = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
gadman_shutdown();
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI int
|
||||||
|
e_modapi_save(E_Module *m)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_gadman_maug_cb(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
e_configure_registry_call("extensions/gadman", m->zone->container, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_gadman_maug_add(void *data, E_Menu *m)
|
||||||
|
{
|
||||||
|
E_Menu_Item *mi;
|
||||||
|
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_label_set(mi, _("Gadgets"));
|
||||||
|
e_menu_item_icon_edje_set(mi, (char *)data, "icon");
|
||||||
|
e_menu_item_callback_set(mi, _gadman_maug_cb, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_gadman_action_cb(E_Object *obj, const char *params)
|
||||||
|
{
|
||||||
|
gadman_gadgets_toggle();
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
#ifndef E_MOD_MAIN_H
|
||||||
|
#define E_MOD_MAIN_H
|
||||||
|
|
||||||
|
EAPI extern E_Module_Api e_modapi;
|
||||||
|
|
||||||
|
EAPI void *e_modapi_init(E_Module *m);
|
||||||
|
EAPI int e_modapi_shutdown(E_Module *m);
|
||||||
|
EAPI int e_modapi_save(E_Module *m);
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,6 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Link
|
||||||
|
Name=Gadgets
|
||||||
|
Icon=e-module-gadman
|
||||||
|
X-Enlightenment-ModuleType=appearance
|
||||||
|
Comment=<hilight>Gadget Manager</hilight><br><br>Module to manage gadgets on the desktop.
|
Loading…
Reference in New Issue