forked from enlightenment/enlightenment
some more gadman stuff - innocuous for now. hooked in soem gadman
enable/disable edit mode and fixed a stakcign issue with new windows vs. menus. SVN revision: 12997
This commit is contained in:
parent
876e0b361e
commit
ffa49a8e02
1
TODO
1
TODO
|
@ -40,6 +40,7 @@ ISSUES:
|
||||||
* e_apps polling/updates is broken
|
* e_apps polling/updates is broken
|
||||||
* objects need object types to check the right obj type is passed
|
* objects need object types to check the right obj type is passed
|
||||||
* check on delete all app files/dirs then add all back then pop up menu (segv)
|
* check on delete all app files/dirs then add all back then pop up menu (segv)
|
||||||
|
* border show/hide needs to show from top down and hide from bottom up
|
||||||
|
|
||||||
<add more issues as they are found>
|
<add more issues as they are found>
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,25 @@
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
static void _e_gadman_free(E_Gadman *gm);
|
static void _e_gadman_free(E_Gadman *gm);
|
||||||
static void _e_gadman_client_free(E_Gadman_Client *gmc);
|
static void _e_gadman_client_free(E_Gadman_Client *gmc);
|
||||||
|
static void _e_gadman_client_edit_begin(E_Gadman_Client *gmc);
|
||||||
|
static void _e_gadman_client_edit_end(E_Gadman_Client *gmc);
|
||||||
|
|
||||||
|
|
||||||
|
static void _e_gadman_cb_signal_move_start(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_move_stop(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_move_go(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_resize_left_start(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_resize_left_stop(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_resize_left_go(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_resize_right_start(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_resize_right_stop(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_resize_right_go(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_resize_up_start(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_resize_up_stop(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_resize_up_go(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_resize_down_start(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_resize_down_stop(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
static void _e_gadman_cb_signal_resize_down_go(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
|
||||||
/* externally accessible functions */
|
/* externally accessible functions */
|
||||||
int
|
int
|
||||||
|
@ -41,6 +60,7 @@ e_gadman_client_new(E_Gadman *gm)
|
||||||
if (!gmc) return NULL;
|
if (!gmc) return NULL;
|
||||||
gmc->gadman = gm;
|
gmc->gadman = gm;
|
||||||
gmc->policy = E_GADMAN_POLICY_ANYWHERE;
|
gmc->policy = E_GADMAN_POLICY_ANYWHERE;
|
||||||
|
gmc->zone = e_zone_current_get(gm->container);
|
||||||
gmc->minw = 1;
|
gmc->minw = 1;
|
||||||
gmc->minh = 1;
|
gmc->minh = 1;
|
||||||
gmc->maxw = 0;
|
gmc->maxw = 0;
|
||||||
|
@ -53,6 +73,48 @@ e_gadman_client_new(E_Gadman *gm)
|
||||||
return gmc;
|
return gmc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_gadman_mode_set(E_Gadman *gm, E_Gadman_Mode mode)
|
||||||
|
{
|
||||||
|
Evas_List *l;
|
||||||
|
|
||||||
|
E_OBJECT_CHECK(gm);
|
||||||
|
if (gm->mode == mode) return;
|
||||||
|
gm->mode = mode;
|
||||||
|
if (gm->mode == E_GADMAN_MODE_EDIT)
|
||||||
|
{
|
||||||
|
for (l = gm->clients; l; l = l->next)
|
||||||
|
_e_gadman_client_edit_begin(l->data);
|
||||||
|
}
|
||||||
|
else if (gm->mode == E_GADMAN_MODE_NORMAL)
|
||||||
|
{
|
||||||
|
for (l = gm->clients; l; l = l->next)
|
||||||
|
_e_gadman_client_edit_end(l->data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
E_Gadman_Mode
|
||||||
|
e_gadman_mode_get(E_Gadman *gm)
|
||||||
|
{
|
||||||
|
E_OBJECT_CHECK_RETURN(gm, E_GADMAN_MODE_NORMAL);
|
||||||
|
return gm->mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_gadman_client_save(E_Gadman_Client *gmc, char *domain, int instance)
|
||||||
|
{
|
||||||
|
E_OBJECT_CHECK(gmc);
|
||||||
|
/* cave all values */
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_gadman_client_load(E_Gadman_Client *gmc, char *domain, int instance)
|
||||||
|
{
|
||||||
|
E_OBJECT_CHECK(gmc);
|
||||||
|
/* load all the vales */
|
||||||
|
/* implement all the values */
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_gadman_client_domain_set(E_Gadman_Client *gmc, char *domain, int instance)
|
e_gadman_client_domain_set(E_Gadman_Client *gmc, char *domain, int instance)
|
||||||
{
|
{
|
||||||
|
@ -63,15 +125,10 @@ e_gadman_client_domain_set(E_Gadman_Client *gmc, char *domain, int instance)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_gadman_client_save(E_Gadman_Client *gmc, char *domain, int instance)
|
e_gadman_client_zone_set(E_Gadman_Client *gmc, E_Zone *zone)
|
||||||
{
|
|
||||||
E_OBJECT_CHECK(gmc);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
e_gadman_client_load(E_Gadman_Client *gmc, char *domain, int instance)
|
|
||||||
{
|
{
|
||||||
E_OBJECT_CHECK(gmc);
|
E_OBJECT_CHECK(gmc);
|
||||||
|
gmc->zone = zone;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -145,3 +202,174 @@ _e_gadman_client_free(E_Gadman_Client *gmc)
|
||||||
if (gmc->domain) free(gmc->domain);
|
if (gmc->domain) free(gmc->domain);
|
||||||
free(gmc);
|
free(gmc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_client_edit_begin(E_Gadman_Client *gmc)
|
||||||
|
{
|
||||||
|
gmc->control_object = edje_object_add(gmc->gadman->container->bg_evas);
|
||||||
|
evas_object_layer_set(gmc->control_object, 100);
|
||||||
|
evas_object_move(gmc->control_object, gmc->x, gmc->y);
|
||||||
|
evas_object_resize(gmc->control_object, gmc->w, gmc->h);
|
||||||
|
edje_object_file_set(gmc->control_object,
|
||||||
|
/* FIXME: "default.eet" needs to come from conf */
|
||||||
|
e_path_find(path_themes, "default.eet"),
|
||||||
|
"gadman/control");
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "move_start", "*",
|
||||||
|
_e_gadman_cb_signal_move_start, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "move_stop", "*",
|
||||||
|
_e_gadman_cb_signal_move_stop, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "move_go", "*",
|
||||||
|
_e_gadman_cb_signal_move_go, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "resize_start", "left",
|
||||||
|
_e_gadman_cb_signal_resize_left_start, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "resize_stop", "left",
|
||||||
|
_e_gadman_cb_signal_resize_left_stop, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "resize_go", "left",
|
||||||
|
_e_gadman_cb_signal_resize_left_go, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "resize_start", "right",
|
||||||
|
_e_gadman_cb_signal_resize_right_start, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "resize_stop", "right",
|
||||||
|
_e_gadman_cb_signal_resize_right_stop, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "resize_go", "right",
|
||||||
|
_e_gadman_cb_signal_resize_right_go, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "resize_start", "up",
|
||||||
|
_e_gadman_cb_signal_resize_up_start, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "resize_stop", "up",
|
||||||
|
_e_gadman_cb_signal_resize_up_stop, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "resize_go", "up",
|
||||||
|
_e_gadman_cb_signal_resize_up_go, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "resize_start", "down",
|
||||||
|
_e_gadman_cb_signal_resize_down_start, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "resize_stop", "down",
|
||||||
|
_e_gadman_cb_signal_resize_down_stop, gmc);
|
||||||
|
edje_object_signal_callback_add(gmc->control_object, "resize_go", "down",
|
||||||
|
_e_gadman_cb_signal_resize_down_go, gmc);
|
||||||
|
evas_object_show(gmc->control_object);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_client_edit_end(E_Gadman_Client *gmc)
|
||||||
|
{
|
||||||
|
evas_object_del(gmc->control_object);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_move_start(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_move_stop(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_move_go(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_resize_left_start(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_resize_left_stop(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_resize_left_go(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_resize_right_start(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_resize_right_stop(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_resize_right_go(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_resize_up_start(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_resize_up_stop(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_resize_up_go(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_resize_down_start(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_resize_down_stop(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_gadman_cb_signal_resize_down_go(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,9 +20,15 @@ typedef enum _E_Gadman_Policy
|
||||||
typedef enum _E_Gadman_Change
|
typedef enum _E_Gadman_Change
|
||||||
{
|
{
|
||||||
E_GADMAN_CHANGE_MOVE,
|
E_GADMAN_CHANGE_MOVE,
|
||||||
E_GADMAN_CHANGE_RESIZE,
|
E_GADMAN_CHANGE_RESIZE
|
||||||
} E_Gadman_Change;
|
} E_Gadman_Change;
|
||||||
|
|
||||||
|
typedef enum _E_Gadman_Mode
|
||||||
|
{
|
||||||
|
E_GADMAN_MODE_NORMAL,
|
||||||
|
E_GADMAN_MODE_EDIT
|
||||||
|
} E_Gadman_Mode;
|
||||||
|
|
||||||
typedef struct _E_Gadman E_Gadman;
|
typedef struct _E_Gadman E_Gadman;
|
||||||
typedef struct _E_Gadman_Client E_Gadman_Client;
|
typedef struct _E_Gadman_Client E_Gadman_Client;
|
||||||
|
|
||||||
|
@ -35,6 +41,7 @@ struct _E_Gadman
|
||||||
E_Object e_obj_inherit;
|
E_Object e_obj_inherit;
|
||||||
E_Container *container;
|
E_Container *container;
|
||||||
Evas_List *clients;
|
Evas_List *clients;
|
||||||
|
E_Gadman_Mode mode;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _E_Gadman_Client
|
struct _E_Gadman_Client
|
||||||
|
@ -44,6 +51,7 @@ struct _E_Gadman_Client
|
||||||
|
|
||||||
Evas_Object *control_object;
|
Evas_Object *control_object;
|
||||||
char *domain;
|
char *domain;
|
||||||
|
E_Zone *zone;
|
||||||
int instance;
|
int instance;
|
||||||
E_Gadman_Policy policy;
|
E_Gadman_Policy policy;
|
||||||
Evas_Coord x, y, w, h;
|
Evas_Coord x, y, w, h;
|
||||||
|
@ -56,11 +64,14 @@ struct _E_Gadman_Client
|
||||||
|
|
||||||
EAPI int e_gadman_init(void);
|
EAPI int e_gadman_init(void);
|
||||||
EAPI int e_gadman_shutdown(void);
|
EAPI int e_gadman_shutdown(void);
|
||||||
|
EAPI void e_gadman_mode_set(E_Gadman *gm, E_Gadman_Mode mode);
|
||||||
|
EAPI E_Gadman_Mode e_gadman_mode_get(E_Gadman *gm);
|
||||||
EAPI E_Gadman *e_gadman_new(E_Container *con);
|
EAPI E_Gadman *e_gadman_new(E_Container *con);
|
||||||
EAPI E_Gadman_Client *e_gadman_client_new(E_Gadman *gm);
|
EAPI E_Gadman_Client *e_gadman_client_new(E_Gadman *gm);
|
||||||
EAPI void e_gadman_client_domain_set(E_Gadman_Client *gmc, char *domain, int instance);
|
|
||||||
EAPI void e_gadman_client_save(E_Gadman_Client *gmc, char *domain, int instance);
|
EAPI void e_gadman_client_save(E_Gadman_Client *gmc, char *domain, int instance);
|
||||||
EAPI void e_gadman_client_load(E_Gadman_Client *gmc, char *domain, int instance);
|
EAPI void e_gadman_client_load(E_Gadman_Client *gmc, char *domain, int instance);
|
||||||
|
EAPI void e_gadman_client_domain_set(E_Gadman_Client *gmc, char *domain, int instance);
|
||||||
|
EAPI void e_gadman_client_zone_set(E_Gadman_Client *gmc, E_Zone *zone);
|
||||||
EAPI void e_gadman_client_policy_set(E_Gadman_Client *gmc, E_Gadman_Policy pol);
|
EAPI void e_gadman_client_policy_set(E_Gadman_Client *gmc, E_Gadman_Policy pol);
|
||||||
EAPI void e_gadman_client_min_size_set(E_Gadman_Client *gmc, Evas_Coord minw, Evas_Coord minh);
|
EAPI void e_gadman_client_min_size_set(E_Gadman_Client *gmc, Evas_Coord minw, Evas_Coord minh);
|
||||||
EAPI void e_gadman_client_max_size_set(E_Gadman_Client *gmc, Evas_Coord maxw, Evas_Coord maxh);
|
EAPI void e_gadman_client_max_size_set(E_Gadman_Client *gmc, Evas_Coord maxw, Evas_Coord maxh);
|
||||||
|
|
|
@ -12,6 +12,7 @@ struct _Main_Data
|
||||||
E_Menu *desktops;
|
E_Menu *desktops;
|
||||||
E_Menu *clients;
|
E_Menu *clients;
|
||||||
E_Menu *modules;
|
E_Menu *modules;
|
||||||
|
E_Menu *gadgets;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
|
@ -33,6 +34,8 @@ static void _e_int_menus_desktops_row_add_cb (void *data, E_Menu *m, E_Menu_Item
|
||||||
static void _e_int_menus_desktops_row_del_cb (void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_int_menus_desktops_row_del_cb (void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_int_menus_desktops_col_add_cb (void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_int_menus_desktops_col_add_cb (void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_int_menus_desktops_col_del_cb (void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_int_menus_desktops_col_del_cb (void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _e_int_menus_gadgets_pre_cb (void *data, E_Menu *m);
|
||||||
|
static void _e_int_menus_gadgets_edit_mode_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
|
||||||
/* externally accessible functions */
|
/* externally accessible functions */
|
||||||
E_Menu *
|
E_Menu *
|
||||||
|
@ -83,6 +86,14 @@ e_int_menus_main_new(void)
|
||||||
"windows");
|
"windows");
|
||||||
e_menu_item_submenu_set(mi, subm);
|
e_menu_item_submenu_set(mi, subm);
|
||||||
|
|
||||||
|
subm = e_int_menus_gadgets_new();
|
||||||
|
dat->gadgets = subm;
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_label_set(mi, "Gadgets");
|
||||||
|
e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.eet"),
|
||||||
|
"gadgets");
|
||||||
|
e_menu_item_submenu_set(mi, subm);
|
||||||
|
|
||||||
mi = e_menu_item_new(m);
|
mi = e_menu_item_new(m);
|
||||||
e_menu_item_separator_set(mi, 1);
|
e_menu_item_separator_set(mi, 1);
|
||||||
|
|
||||||
|
@ -134,7 +145,6 @@ e_int_menus_desktops_new(void)
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
E_Menu *
|
E_Menu *
|
||||||
e_int_menus_favorite_apps_new(void)
|
e_int_menus_favorite_apps_new(void)
|
||||||
{
|
{
|
||||||
|
@ -163,6 +173,16 @@ e_int_menus_clients_new(void)
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
E_Menu *
|
||||||
|
e_int_menus_gadgets_new(void)
|
||||||
|
{
|
||||||
|
E_Menu *m;
|
||||||
|
|
||||||
|
m = e_menu_new();
|
||||||
|
e_menu_pre_activate_callback_set(m, _e_int_menus_gadgets_pre_cb, NULL);
|
||||||
|
return m;
|
||||||
|
}
|
||||||
|
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
static void
|
static void
|
||||||
_e_int_menus_main_del_hook(void *obj)
|
_e_int_menus_main_del_hook(void *obj)
|
||||||
|
@ -178,6 +198,7 @@ _e_int_menus_main_del_hook(void *obj)
|
||||||
e_object_del(E_OBJECT(dat->modules));
|
e_object_del(E_OBJECT(dat->modules));
|
||||||
e_object_del(E_OBJECT(dat->desktops));
|
e_object_del(E_OBJECT(dat->desktops));
|
||||||
e_object_del(E_OBJECT(dat->clients));
|
e_object_del(E_OBJECT(dat->clients));
|
||||||
|
e_object_del(E_OBJECT(dat->gadgets));
|
||||||
free(dat);
|
free(dat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -481,3 +502,42 @@ _e_int_menus_clients_item_cb(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
e_border_raise(bd);
|
e_border_raise(bd);
|
||||||
e_border_focus_set(bd, 1, 1);
|
e_border_focus_set(bd, 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_int_menus_gadgets_pre_cb(void *data, E_Menu *m)
|
||||||
|
{
|
||||||
|
E_Menu_Item *mi;
|
||||||
|
E_Menu *root;
|
||||||
|
|
||||||
|
e_menu_pre_activate_callback_set(m, NULL, NULL);
|
||||||
|
root = e_menu_root_get(m);
|
||||||
|
if ((root) && (root->zone))
|
||||||
|
{
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_check_set(mi, 1);
|
||||||
|
if (e_gadman_mode_get(root->zone->container->gadman) == E_GADMAN_MODE_EDIT)
|
||||||
|
e_menu_item_toggle_set(mi, 1);
|
||||||
|
else
|
||||||
|
e_menu_item_toggle_set(mi, 0);
|
||||||
|
e_menu_item_label_set(mi, "Edit Mode");
|
||||||
|
e_menu_item_callback_set(mi, _e_int_menus_gadgets_edit_mode_cb, root->zone->container->gadman);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mi = e_menu_item_new(m);
|
||||||
|
e_menu_item_label_set(mi, "(Unused)");
|
||||||
|
e_menu_item_callback_set(mi, NULL, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_int_menus_gadgets_edit_mode_cb(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
E_Gadman *gm;
|
||||||
|
|
||||||
|
gm = data;
|
||||||
|
if (e_menu_item_toggle_get(mi))
|
||||||
|
e_gadman_mode_set(gm, E_GADMAN_MODE_EDIT);
|
||||||
|
else
|
||||||
|
e_gadman_mode_set(gm, E_GADMAN_MODE_NORMAL);
|
||||||
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ EAPI E_Menu *e_int_menus_desktops_new(void);
|
||||||
EAPI E_Menu *e_int_menus_clients_new(void);
|
EAPI E_Menu *e_int_menus_clients_new(void);
|
||||||
EAPI E_Menu *e_int_menus_apps_new(char *dir);
|
EAPI E_Menu *e_int_menus_apps_new(char *dir);
|
||||||
EAPI E_Menu *e_int_menus_favorite_apps_new(void);
|
EAPI E_Menu *e_int_menus_favorite_apps_new(void);
|
||||||
|
EAPI E_Menu *e_int_menus_gadgets_new(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -534,6 +534,16 @@ _e_main_screens_init(void)
|
||||||
i);
|
i);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
/* FIXME: testing... */
|
||||||
|
{
|
||||||
|
E_Gadman_Client *gmc;
|
||||||
|
|
||||||
|
gmc = e_gadman_client_new(con->gadman);
|
||||||
|
gmc->x = 100;
|
||||||
|
gmc->y = 100;
|
||||||
|
gmc->w = 150;
|
||||||
|
gmc->h = 150;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
free(roots);
|
free(roots);
|
||||||
ecore_x_sync();
|
ecore_x_sync();
|
||||||
|
|
|
@ -192,7 +192,11 @@ _e_manager_cb_window_show_request(void *data, int ev_type, void *ev)
|
||||||
if (!e_border_find_by_client_window(e->win))
|
if (!e_border_find_by_client_window(e->win))
|
||||||
{
|
{
|
||||||
bd = e_border_new(con, e->win, 0);
|
bd = e_border_new(con, e->win, 0);
|
||||||
if (bd) e_border_show(bd);
|
if (bd)
|
||||||
|
{
|
||||||
|
e_border_raise(bd);
|
||||||
|
e_border_show(bd);
|
||||||
|
}
|
||||||
else ecore_x_window_show(e->win);
|
else ecore_x_window_show(e->win);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,7 +89,6 @@ e_zone_new(E_Container *con, int x, int y, int w, int h)
|
||||||
e_zone_desk_count_set(zone,
|
e_zone_desk_count_set(zone,
|
||||||
e_config->zone_desks_x_count,
|
e_config->zone_desks_x_count,
|
||||||
e_config->zone_desks_y_count);
|
e_config->zone_desks_y_count);
|
||||||
|
|
||||||
return zone;
|
return zone;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue