forked from enlightenment/enlightenment
Introduce pager gadget using new gadget api.
This commit is contained in:
parent
900517b80f
commit
5b2f952c85
|
@ -5,7 +5,6 @@ pagerdir = $(MDIR)/pager
|
|||
pager_DATA = src/modules/pager/e-module-pager.edj \
|
||||
src/modules/pager/module.desktop
|
||||
|
||||
|
||||
pagerpkgdir = $(MDIR)/pager/$(MODULE_ARCH)
|
||||
pagerpkg_LTLIBRARIES = src/modules/pager/module.la
|
||||
|
||||
|
@ -14,7 +13,11 @@ src_modules_pager_module_la_CPPFLAGS = $(MOD_CPPFLAGS)
|
|||
src_modules_pager_module_la_LDFLAGS = $(MOD_LDFLAGS)
|
||||
src_modules_pager_module_la_SOURCES = src/modules/pager/e_mod_main.h \
|
||||
src/modules/pager/e_mod_main.c \
|
||||
src/modules/pager/e_mod_config.c
|
||||
src/modules/pager/e_mod_config.c \
|
||||
src/modules/pager/gadget/pager.h \
|
||||
src/modules/pager/gadget/pager.c \
|
||||
src/modules/pager/gadget/mod.c \
|
||||
src/modules/pager/gadget/config.c
|
||||
|
||||
PHONIES += pager install-pager
|
||||
pager: $(pagerpkg_LTLIBRARIES) $(pager_DATA)
|
||||
|
|
|
@ -70,10 +70,10 @@ _config_pager_module(Config_Item *ci)
|
|||
v->advanced.check_changed = _adv_check_changed;
|
||||
|
||||
snprintf(buff, sizeof(buff), "%s/e-module-pager.edj",
|
||||
pager_config->module->dir);
|
||||
module->dir);
|
||||
cfd = e_config_dialog_new(NULL, _("Pager Settings"), "E",
|
||||
"_e_mod_pager_config_dialog", buff, 0, v, ci);
|
||||
pager_config->config_dialog = cfd;
|
||||
config_dialog = cfd;
|
||||
}
|
||||
|
||||
/* local function prototypes */
|
||||
|
@ -111,7 +111,7 @@ _free_data(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
|
|||
{
|
||||
cfdata->gui.popup_list = eina_list_free(cfdata->gui.popup_list);
|
||||
cfdata->gui.urgent_list = eina_list_free(cfdata->gui.urgent_list);
|
||||
pager_config->config_dialog = NULL;
|
||||
config_dialog = NULL;
|
||||
E_FREE(cfdata);
|
||||
}
|
||||
|
||||
|
@ -153,6 +153,7 @@ _basic_apply(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
|
|||
pager_config->show_desk_names = cfdata->show_desk_names;
|
||||
pager_config->popup_urgent = cfdata->popup.urgent_show;
|
||||
_pager_cb_config_updated();
|
||||
_pager_cb_config_gadget_updated();
|
||||
e_config_save_queue();
|
||||
return 1;
|
||||
}
|
||||
|
@ -306,6 +307,7 @@ _adv_apply(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
|
|||
pager_config->btn_noplace = cfdata->btn.noplace;
|
||||
pager_config->btn_desk = cfdata->btn.desk;
|
||||
_pager_cb_config_updated();
|
||||
_pager_cb_config_gadget_updated();
|
||||
e_config_save_queue();
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -167,8 +167,9 @@ static E_Desk *current_desk = NULL;
|
|||
static E_Config_DD *conf_edd = NULL;
|
||||
static Eina_List *pagers = NULL;
|
||||
|
||||
Config *pager_config = NULL;
|
||||
|
||||
EINTERN E_Module *module;
|
||||
EINTERN E_Config_Dialog *config_dialog;
|
||||
EINTERN Eina_List *instances, *shandlers;
|
||||
|
||||
static Pager_Win *
|
||||
_pager_desk_window_find(Pager_Desk *pd, E_Client *client)
|
||||
|
@ -240,7 +241,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style)
|
|||
_pager_cb_obj_show, inst);
|
||||
evas_object_event_callback_add(o, EVAS_CALLBACK_HIDE,
|
||||
_pager_cb_obj_hide, inst);
|
||||
pager_config->instances = eina_list_append(pager_config->instances, inst);
|
||||
instances = eina_list_append(instances, inst);
|
||||
return gcc;
|
||||
}
|
||||
|
||||
|
@ -251,7 +252,7 @@ _gc_shutdown(E_Gadcon_Client *gcc)
|
|||
|
||||
inst = gcc->data;
|
||||
if (pager_config)
|
||||
pager_config->instances = eina_list_remove(pager_config->instances, inst);
|
||||
instances = eina_list_remove(instances, inst);
|
||||
e_drop_handler_del(inst->pager->drop_handler);
|
||||
_pager_free(inst->pager);
|
||||
free(inst);
|
||||
|
@ -299,7 +300,7 @@ _gc_icon(const E_Gadcon_Client_Class *client_class EINA_UNUSED, Evas *evas)
|
|||
|
||||
o = edje_object_add(evas);
|
||||
snprintf(buf, sizeof(buf), "%s/e-module-pager.edj",
|
||||
e_module_dir_get(pager_config->module));
|
||||
e_module_dir_get(module));
|
||||
edje_object_file_set(o, buf, "icon");
|
||||
return o;
|
||||
}
|
||||
|
@ -310,7 +311,7 @@ _gc_id_new(const E_Gadcon_Client_Class *client_class)
|
|||
static char buf[4096];
|
||||
|
||||
snprintf(buf, sizeof(buf), "%s.%d", client_class->name,
|
||||
eina_list_count(pager_config->instances) + 1);
|
||||
eina_list_count(instances) + 1);
|
||||
return buf;
|
||||
}
|
||||
|
||||
|
@ -908,7 +909,7 @@ static void
|
|||
_pager_inst_cb_menu_configure(void *data EINA_UNUSED, E_Menu *m EINA_UNUSED, E_Menu_Item *mi EINA_UNUSED)
|
||||
{
|
||||
if (!pager_config) return;
|
||||
if (pager_config->config_dialog) return;
|
||||
if (config_dialog) return;
|
||||
/* FIXME: pass zone config item */
|
||||
_config_pager_module(NULL);
|
||||
}
|
||||
|
@ -917,10 +918,10 @@ static E_Config_Dialog *
|
|||
_pager_config_dialog(Evas_Object *parent EINA_UNUSED, const char *params EINA_UNUSED)
|
||||
{
|
||||
if (!pager_config) return NULL;
|
||||
if (pager_config->config_dialog) return NULL;
|
||||
if (config_dialog) return NULL;
|
||||
/* FIXME: pass zone config item */
|
||||
_config_pager_module(NULL);
|
||||
return pager_config->config_dialog;
|
||||
return config_dialog;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2040,6 +2041,7 @@ e_modapi_init(E_Module *m)
|
|||
{
|
||||
E_Module *p;
|
||||
|
||||
e_modapi_gadget_init(m);
|
||||
p = e_module_find("pager_plain");
|
||||
if (p && p->enabled)
|
||||
{
|
||||
|
@ -2098,13 +2100,13 @@ e_modapi_init(E_Module *m)
|
|||
E_CONFIG_LIMIT(pager_config->btn_noplace, 0, 32);
|
||||
E_CONFIG_LIMIT(pager_config->btn_desk, 0, 32);
|
||||
|
||||
E_LIST_HANDLER_APPEND(pager_config->handlers, E_EVENT_ZONE_DESK_COUNT_SET, _pager_cb_event_zone_desk_count_set, NULL);
|
||||
E_LIST_HANDLER_APPEND(pager_config->handlers, E_EVENT_DESK_SHOW, _pager_cb_event_desk_show, NULL);
|
||||
E_LIST_HANDLER_APPEND(pager_config->handlers, E_EVENT_DESK_NAME_CHANGE, _pager_cb_event_desk_name_change, NULL);
|
||||
E_LIST_HANDLER_APPEND(pager_config->handlers, E_EVENT_COMPOSITOR_RESIZE, _pager_cb_event_compositor_resize, NULL);
|
||||
E_LIST_HANDLER_APPEND(pager_config->handlers, E_EVENT_CLIENT_PROPERTY, _pager_cb_event_client_urgent_change, NULL);
|
||||
E_LIST_HANDLER_APPEND(shandlers, E_EVENT_ZONE_DESK_COUNT_SET, _pager_cb_event_zone_desk_count_set, NULL);
|
||||
E_LIST_HANDLER_APPEND(shandlers, E_EVENT_DESK_SHOW, _pager_cb_event_desk_show, NULL);
|
||||
E_LIST_HANDLER_APPEND(shandlers, E_EVENT_DESK_NAME_CHANGE, _pager_cb_event_desk_name_change, NULL);
|
||||
E_LIST_HANDLER_APPEND(shandlers, E_EVENT_COMPOSITOR_RESIZE, _pager_cb_event_compositor_resize, NULL);
|
||||
E_LIST_HANDLER_APPEND(shandlers, E_EVENT_CLIENT_PROPERTY, _pager_cb_event_client_urgent_change, NULL);
|
||||
|
||||
pager_config->module = m;
|
||||
module = m;
|
||||
|
||||
e_gadcon_provider_register(&_gadcon_class);
|
||||
|
||||
|
@ -2140,13 +2142,14 @@ e_modapi_init(E_Module *m)
|
|||
}
|
||||
|
||||
E_API int
|
||||
e_modapi_shutdown(E_Module *m EINA_UNUSED)
|
||||
e_modapi_shutdown(E_Module *m)
|
||||
{
|
||||
e_modapi_gadget_shutdown(m);
|
||||
e_gadcon_provider_unregister(&_gadcon_class);
|
||||
|
||||
if (pager_config->config_dialog)
|
||||
e_object_del(E_OBJECT(pager_config->config_dialog));
|
||||
E_FREE_LIST(pager_config->handlers, ecore_event_handler_del);
|
||||
if (config_dialog)
|
||||
e_object_del(E_OBJECT(config_dialog));
|
||||
E_FREE_LIST(shandlers, ecore_event_handler_del);
|
||||
|
||||
e_configure_registry_item_del("extensions/pager");
|
||||
|
||||
|
@ -2166,8 +2169,9 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED)
|
|||
}
|
||||
|
||||
E_API int
|
||||
e_modapi_save(E_Module *m EINA_UNUSED)
|
||||
e_modapi_save(E_Module *m)
|
||||
{
|
||||
e_modapi_gadget_save(m);
|
||||
e_config_domain_save("module.pager", conf_edd, pager_config);
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#ifndef E_MOD_MAIN_H
|
||||
#define E_MOD_MAIN_H
|
||||
#include "gadget/pager.h"
|
||||
|
||||
typedef struct _Config Config;
|
||||
typedef struct _Config_Item Config_Item;
|
||||
|
@ -15,38 +16,17 @@ typedef struct _Config_Item Config_Item;
|
|||
#define PAGER_DESKNAME_LEFT 3
|
||||
#define PAGER_DESKNAME_RIGHT 4
|
||||
|
||||
struct _Config
|
||||
{
|
||||
unsigned int popup;
|
||||
double popup_speed;
|
||||
unsigned int popup_urgent;
|
||||
unsigned int popup_urgent_stick;
|
||||
unsigned int popup_urgent_focus;
|
||||
double popup_urgent_speed;
|
||||
unsigned int show_desk_names;
|
||||
int popup_act_height; /*keyaction popup */
|
||||
int popup_height; /* urgent/on-deskswitch popup*/
|
||||
unsigned int drag_resist;
|
||||
unsigned int btn_drag;
|
||||
unsigned int btn_noplace;
|
||||
unsigned int btn_desk;
|
||||
unsigned int flip_desk;
|
||||
|
||||
/* just config state */
|
||||
E_Module *module;
|
||||
E_Config_Dialog *config_dialog;
|
||||
Eina_List *instances, *handlers;
|
||||
};
|
||||
|
||||
E_API extern E_Module_Api e_modapi;
|
||||
|
||||
E_API void *e_modapi_init(E_Module *m);
|
||||
E_API int e_modapi_shutdown(E_Module *m);
|
||||
E_API int e_modapi_save(E_Module *m);
|
||||
|
||||
EINTERN void _pager_cb_config_updated(void);
|
||||
EINTERN void _config_pager_module(Config_Item *ci);
|
||||
extern Config *pager_config;
|
||||
|
||||
extern E_Module *module;
|
||||
extern E_Config_Dialog *config_dialog;
|
||||
extern Eina_List *instances, *shandlers;
|
||||
|
||||
/**
|
||||
* @addtogroup Optional_Gadgets
|
||||
|
|
|
@ -0,0 +1,601 @@
|
|||
#include "pager.h"
|
||||
|
||||
#define BUTTON_DRAG 0
|
||||
#define BUTTON_NOPLACE 1
|
||||
#define BUTTON_DESK 2
|
||||
|
||||
typedef struct _Config_Objects Config_Objects;
|
||||
struct _Config_Objects
|
||||
{
|
||||
Evas_Object *general_page;
|
||||
Evas_Object *popup_page;
|
||||
Evas_Object *urgent_page;
|
||||
Evas_Object *o_popup;
|
||||
Evas_Object *o_popup_speed;
|
||||
Evas_Object *o_popup_urgent;
|
||||
Evas_Object *o_popup_urgent_stick;
|
||||
Evas_Object *o_popup_urgent_focus;
|
||||
Evas_Object *o_popup_urgent_speed;
|
||||
Evas_Object *o_show_desk_names;
|
||||
Evas_Object *o_popup_act_height;
|
||||
Evas_Object *o_popup_height;
|
||||
Evas_Object *o_drag_resist;
|
||||
Evas_Object *o_btn_drag;
|
||||
Evas_Object *o_btn_noplace;
|
||||
Evas_Object *o_btn_desk;
|
||||
Evas_Object *o_flip_desk;
|
||||
E_Grab_Dialog *grab_dia;
|
||||
int grab_btn;
|
||||
int w, h;
|
||||
};
|
||||
Config_Objects *pager_gadget_config_objects = NULL;
|
||||
|
||||
static void
|
||||
_config_close(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
cfg_dialog = NULL;
|
||||
E_FREE(pager_gadget_config_objects);
|
||||
}
|
||||
|
||||
static void
|
||||
_config_show_general(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
evas_object_hide(pager_gadget_config_objects->popup_page);
|
||||
evas_object_hide(pager_gadget_config_objects->urgent_page);
|
||||
evas_object_show(pager_gadget_config_objects->general_page);
|
||||
}
|
||||
|
||||
static void
|
||||
_config_show_popup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
evas_object_hide(pager_gadget_config_objects->general_page);
|
||||
evas_object_hide(pager_gadget_config_objects->urgent_page);
|
||||
evas_object_show(pager_gadget_config_objects->popup_page);
|
||||
}
|
||||
|
||||
static void
|
||||
_config_show_urgent(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
evas_object_hide(pager_gadget_config_objects->general_page);
|
||||
evas_object_hide(pager_gadget_config_objects->popup_page);
|
||||
evas_object_show(pager_gadget_config_objects->urgent_page);
|
||||
}
|
||||
|
||||
static void
|
||||
_config_value_changed(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_data EINA_UNUSED)
|
||||
{
|
||||
pager_config->popup =
|
||||
elm_check_state_get(pager_gadget_config_objects->o_popup);
|
||||
pager_config->popup_speed =
|
||||
elm_slider_value_get(pager_gadget_config_objects->o_popup_speed);
|
||||
pager_config->flip_desk =
|
||||
elm_check_state_get(pager_gadget_config_objects->o_flip_desk);
|
||||
pager_config->popup_urgent =
|
||||
elm_check_state_get(pager_gadget_config_objects->o_popup_urgent);
|
||||
pager_config->popup_urgent_stick =
|
||||
elm_check_state_get(pager_gadget_config_objects->o_popup_urgent_stick);
|
||||
pager_config->popup_urgent_focus =
|
||||
elm_check_state_get(pager_gadget_config_objects->o_popup_urgent_focus);
|
||||
pager_config->popup_urgent_speed =
|
||||
elm_slider_value_get(pager_gadget_config_objects->o_popup_urgent_speed);
|
||||
pager_config->show_desk_names =
|
||||
elm_check_state_get(pager_gadget_config_objects->o_show_desk_names);
|
||||
pager_config->popup_height =
|
||||
elm_slider_value_get(pager_gadget_config_objects->o_popup_height);
|
||||
pager_config->popup_act_height =
|
||||
elm_slider_value_get(pager_gadget_config_objects->o_popup_act_height);
|
||||
pager_config->drag_resist =
|
||||
elm_slider_value_get(pager_gadget_config_objects->o_drag_resist);
|
||||
_pager_cb_config_gadget_updated();
|
||||
_pager_cb_config_updated();
|
||||
e_config_save_queue();
|
||||
|
||||
elm_object_disabled_set(pager_gadget_config_objects->o_popup_speed,
|
||||
!pager_config->popup);
|
||||
elm_object_disabled_set(pager_gadget_config_objects->o_popup_act_height,
|
||||
!pager_config->popup);
|
||||
elm_object_disabled_set(pager_gadget_config_objects->o_popup_height,
|
||||
!pager_config->popup);
|
||||
elm_object_disabled_set(pager_gadget_config_objects->o_popup_urgent_stick,
|
||||
!pager_config->popup_urgent);
|
||||
elm_object_disabled_set(pager_gadget_config_objects->o_popup_urgent_focus,
|
||||
!pager_config->popup_urgent);
|
||||
elm_object_disabled_set(pager_gadget_config_objects->o_popup_urgent_speed,
|
||||
!pager_config->popup_urgent);
|
||||
}
|
||||
|
||||
static void
|
||||
_config_update_btn(Evas_Object *button, const int mouse_button)
|
||||
{
|
||||
char lbl[256];
|
||||
char *icon = NULL;
|
||||
Evas_Object *ic = NULL;
|
||||
|
||||
switch (mouse_button)
|
||||
{
|
||||
case 0:
|
||||
snprintf(lbl, sizeof(lbl), _("Click to set"));
|
||||
break;
|
||||
case 1:
|
||||
if (e_config->mouse_hand == E_MOUSE_HAND_RIGHT)
|
||||
{
|
||||
snprintf(lbl, sizeof(lbl), _("Left button"));
|
||||
icon = "preferences-desktop-mouse-left";
|
||||
}
|
||||
else if (e_config->mouse_hand == E_MOUSE_HAND_LEFT)
|
||||
{
|
||||
snprintf(lbl, sizeof(lbl), _("Right button"));
|
||||
icon = "preferences-desktop-mouse-right";
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(lbl, sizeof(lbl), _("Button %i"), mouse_button);
|
||||
icon = "preferences-desktop-mouse-extra";
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
snprintf(lbl, sizeof(lbl), _("Middle button"));
|
||||
icon = "preferences-desktop-mouse-middle";
|
||||
break;
|
||||
case 3:
|
||||
if (e_config->mouse_hand == E_MOUSE_HAND_RIGHT)
|
||||
{
|
||||
snprintf(lbl, sizeof(lbl), _("Right button"));
|
||||
icon = "preferences-desktop-mouse-right";
|
||||
}
|
||||
else if (e_config->mouse_hand == E_MOUSE_HAND_LEFT)
|
||||
{
|
||||
snprintf(lbl, sizeof(lbl), _("Left button"));
|
||||
icon = "preferences-desktop-mouse-left";
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(lbl, sizeof(lbl), _("Button %i"), mouse_button);
|
||||
icon = "preferences-desktop-mouse-extra";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
snprintf(lbl, sizeof(lbl), _("Button %i"), mouse_button);
|
||||
icon = "preferences-desktop-mouse-extra";
|
||||
break;
|
||||
}
|
||||
elm_object_text_set(button, lbl);
|
||||
if (icon)
|
||||
{
|
||||
ic = elm_icon_add(evas_object_evas_get(button));
|
||||
elm_icon_standard_set(ic, icon);
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
||||
}
|
||||
elm_object_part_content_set(button, "icon", ic);
|
||||
}
|
||||
|
||||
static void
|
||||
_config_update_btns(void)
|
||||
{
|
||||
#if 0
|
||||
_config_update_btn(pager_gadget_config_objects->o_btn_drag, pager_config->btn_drag);
|
||||
#endif
|
||||
|
||||
_config_update_btn(pager_gadget_config_objects->o_btn_noplace, pager_config->btn_noplace);
|
||||
_config_update_btn(pager_gadget_config_objects->o_btn_desk, pager_config->btn_desk);
|
||||
}
|
||||
|
||||
static void
|
||||
_config_grab_window_del(void *data EINA_UNUSED)
|
||||
{
|
||||
evas_object_show(cfg_dialog);
|
||||
_config_update_btns();
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_config_grab_cb_mouse_down(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
|
||||
{
|
||||
Ecore_Event_Mouse_Button *ev;
|
||||
|
||||
ev = event;
|
||||
|
||||
if (ev->buttons == 3)
|
||||
{
|
||||
e_util_dialog_show(_("Attention"),
|
||||
_("You cannot use the right mouse button in the<br>"
|
||||
"gadget for this as it is already taken by internal<br>"
|
||||
"code for context menus.<br>"
|
||||
"This button only works in the popup."));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ev->buttons == pager_config->btn_drag)
|
||||
pager_config->btn_drag = 0;
|
||||
else if (ev->buttons == pager_config->btn_noplace)
|
||||
pager_config->btn_noplace = 0;
|
||||
else if (ev->buttons == pager_config->btn_desk)
|
||||
pager_config->btn_desk = 0;
|
||||
|
||||
if (pager_gadget_config_objects->grab_btn == 1)
|
||||
pager_config->btn_drag = ev->buttons;
|
||||
else if (pager_gadget_config_objects->grab_btn == 2)
|
||||
pager_config->btn_noplace = ev->buttons;
|
||||
else
|
||||
pager_config->btn_desk = ev->buttons;
|
||||
}
|
||||
|
||||
e_object_del(E_OBJECT(pager_gadget_config_objects->grab_dia));
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_config_grab_cb_key_down(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
|
||||
{
|
||||
Ecore_Event_Key *ev;
|
||||
|
||||
ev = event;
|
||||
if (!strcmp(ev->key, "Delete"))
|
||||
{
|
||||
if (pager_gadget_config_objects->grab_btn == 1)
|
||||
pager_config->btn_drag = 0;
|
||||
else if (pager_gadget_config_objects->grab_btn == 2)
|
||||
pager_config->btn_noplace = 0;
|
||||
else
|
||||
pager_config->btn_desk = 0;
|
||||
}
|
||||
e_object_del(E_OBJECT(pager_gadget_config_objects->grab_dia));
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
|
||||
static void
|
||||
_config_grab_window_show(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
|
||||
evas_object_hide(cfg_dialog);
|
||||
pager_gadget_config_objects->grab_btn = 0;
|
||||
if ((long)data == BUTTON_DRAG)
|
||||
pager_gadget_config_objects->grab_btn = 1;
|
||||
else if ((long)data == BUTTON_NOPLACE)
|
||||
pager_gadget_config_objects->grab_btn = 2;
|
||||
|
||||
pager_gadget_config_objects->grab_dia = e_grab_dialog_show(NULL, EINA_TRUE,
|
||||
_config_grab_cb_key_down, _config_grab_cb_mouse_down, NULL, NULL);
|
||||
e_object_del_attach_func_set(E_OBJECT(pager_gadget_config_objects->grab_dia), _config_grab_window_del);
|
||||
}
|
||||
|
||||
static Evas_Object *
|
||||
_config_create_pages(Evas_Object *parent)
|
||||
{
|
||||
Evas_Object *m, *tb, *ow;
|
||||
int row = 4;
|
||||
|
||||
m = elm_table_add(parent);
|
||||
E_EXPAND(m);
|
||||
evas_object_show(m);
|
||||
|
||||
/* General Page */
|
||||
tb = elm_table_add(m);
|
||||
E_EXPAND(tb);
|
||||
evas_object_show(tb);
|
||||
|
||||
ow = elm_check_add(tb);
|
||||
elm_object_text_set(ow, _("Flip desktop on mouse wheel"));
|
||||
evas_object_size_hint_align_set(ow, 0.0, EVAS_HINT_FILL);
|
||||
elm_check_state_set(ow, pager_config->flip_desk);
|
||||
elm_table_pack(tb, ow, 0, 0, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_smart_callback_add(ow, "changed",
|
||||
_config_value_changed, NULL);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_flip_desk = ow;
|
||||
|
||||
ow = elm_check_add(tb);
|
||||
elm_object_text_set(ow, _("Always show desktop names"));
|
||||
evas_object_size_hint_align_set(ow, 0.0, EVAS_HINT_FILL);
|
||||
elm_check_state_set(ow, pager_config->show_desk_names);
|
||||
elm_table_pack(tb, ow, 0, 1, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_smart_callback_add(ow, "changed",
|
||||
_config_value_changed, NULL);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_show_desk_names = ow;
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
elm_object_text_set(ow, _("Resistance to dragging"));
|
||||
elm_table_pack(tb, ow, 0, 2, 1, 1);
|
||||
E_ALIGN(ow, 0.5, 0.5);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_show(ow);
|
||||
|
||||
ow = elm_slider_add(tb);
|
||||
elm_slider_min_max_set(ow, 0, 10);
|
||||
elm_slider_step_set(ow, 1);
|
||||
elm_slider_value_set(ow, pager_config->drag_resist);
|
||||
elm_slider_unit_format_set(ow, _("%.0f pixels"));
|
||||
elm_table_pack(tb, ow, 0, 3, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_smart_callback_add(ow, "delay,changed",
|
||||
_config_value_changed, NULL);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_drag_resist = ow;
|
||||
|
||||
#if 0
|
||||
ow = elm_label_add(tb);
|
||||
elm_object_text_set(ow, _("Select and Slide button"));
|
||||
elm_table_pack(tb, ow, 0, row, 1, 1);
|
||||
E_ALIGN(ow, 0.5, 0.5);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_show(ow);
|
||||
row++;
|
||||
|
||||
ow = elm_button_add(tb);
|
||||
elm_object_text_set(ow, _("Click to set"));
|
||||
evas_object_smart_callback_add(ow, "clicked",
|
||||
_config_grab_window_show, (void *)BUTTON_DRAG);
|
||||
elm_table_pack(tb, ow, 0, row, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_btn_drag = ow;
|
||||
row++;
|
||||
#endif
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
elm_object_text_set(ow, _("Drag and Drop button"));
|
||||
elm_table_pack(tb, ow, 0, row, 1, 1);
|
||||
E_ALIGN(ow, 0.5, 0.5);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_show(ow);
|
||||
row++;
|
||||
|
||||
ow = elm_button_add(tb);
|
||||
elm_object_text_set(ow, _("Click to set"));
|
||||
evas_object_smart_callback_add(ow, "clicked",
|
||||
_config_grab_window_show, (void *)BUTTON_NOPLACE);
|
||||
elm_table_pack(tb, ow, 0, row, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_btn_noplace = ow;
|
||||
row++;
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
elm_object_text_set(ow, _("Drag whole desktop"));
|
||||
elm_table_pack(tb, ow, 0, row, 1, 1);
|
||||
E_ALIGN(ow, 0.5, 0.5);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_show(ow);
|
||||
row++;
|
||||
|
||||
ow = elm_button_add(tb);
|
||||
elm_object_text_set(ow, _("Click to set"));
|
||||
evas_object_smart_callback_add(ow, "clicked",
|
||||
_config_grab_window_show, (void *)BUTTON_DESK);
|
||||
elm_table_pack(tb, ow, 0, row, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_btn_desk = ow;
|
||||
|
||||
_config_update_btns();
|
||||
|
||||
elm_table_pack(m, tb, 0, 0, 1, 1);
|
||||
pager_gadget_config_objects->general_page = tb;
|
||||
|
||||
/* Popup Page */
|
||||
tb = elm_table_add(m);
|
||||
E_EXPAND(tb);
|
||||
evas_object_show(tb);
|
||||
|
||||
ow = elm_check_add(tb);
|
||||
elm_object_text_set(ow, _("Show popup on desktop change"));
|
||||
evas_object_size_hint_align_set(ow, 0.0, EVAS_HINT_FILL);
|
||||
elm_check_state_set(ow, pager_config->show_desk_names);
|
||||
elm_table_pack(tb, ow, 0, 0, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_smart_callback_add(ow, "changed",
|
||||
_config_value_changed, NULL);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_popup = ow;
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
elm_object_text_set(ow, _("Popup pager height"));
|
||||
elm_object_disabled_set(ow, !pager_config->popup);
|
||||
elm_table_pack(tb, ow, 0, 1, 1, 1);
|
||||
E_ALIGN(ow, 0.5, 0.5);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_show(ow);
|
||||
|
||||
ow = elm_slider_add(tb);
|
||||
elm_object_disabled_set(ow, !pager_config->popup);
|
||||
elm_slider_min_max_set(ow, 20, 200);
|
||||
elm_slider_step_set(ow, 1);
|
||||
elm_slider_value_set(ow, pager_config->popup_height);
|
||||
elm_slider_unit_format_set(ow, _("%.0f pixels"));
|
||||
elm_table_pack(tb, ow, 0, 2, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_smart_callback_add(ow, "delay,changed",
|
||||
_config_value_changed, NULL);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_popup_height = ow;
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
elm_object_text_set(ow, _("Popup duration"));
|
||||
elm_object_disabled_set(ow, !pager_config->popup);
|
||||
elm_table_pack(tb, ow, 0, 3, 1, 1);
|
||||
E_ALIGN(ow, 0.5, 0.5);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_show(ow);
|
||||
|
||||
ow = elm_slider_add(tb);
|
||||
elm_object_disabled_set(ow, !pager_config->popup);
|
||||
elm_slider_min_max_set(ow, 0.1, 10);
|
||||
elm_slider_step_set(ow, 0.1);
|
||||
elm_slider_value_set(ow, pager_config->popup_speed);
|
||||
elm_slider_unit_format_set(ow, _("%1.1f seconds"));
|
||||
elm_table_pack(tb, ow, 0, 4, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_smart_callback_add(ow, "delay,changed",
|
||||
_config_value_changed, NULL);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_popup_speed = ow;
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
elm_object_text_set(ow, _("Pager action popup height"));
|
||||
elm_object_disabled_set(ow, !pager_config->popup);
|
||||
elm_table_pack(tb, ow, 0, 5, 1, 1);
|
||||
E_ALIGN(ow, 0.5, 0.5);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_show(ow);
|
||||
|
||||
ow = elm_slider_add(tb);
|
||||
elm_object_disabled_set(ow, !pager_config->popup);
|
||||
elm_slider_min_max_set(ow, 20, 200);
|
||||
elm_slider_step_set(ow, 1);
|
||||
elm_slider_value_set(ow, pager_config->popup_act_height);
|
||||
elm_slider_unit_format_set(ow, _("%.0f pixels"));
|
||||
elm_table_pack(tb, ow, 0, 6, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_smart_callback_add(ow, "delay,changed",
|
||||
_config_value_changed, NULL);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_popup_act_height = ow;
|
||||
|
||||
elm_table_pack(m, tb, 0, 0, 1, 1);
|
||||
pager_gadget_config_objects->popup_page = tb;
|
||||
|
||||
/* Urgent Page */
|
||||
tb = elm_table_add(m);
|
||||
E_EXPAND(tb);
|
||||
evas_object_show(tb);
|
||||
|
||||
ow = elm_check_add(tb);
|
||||
elm_object_text_set(ow, _("Show popup for urgent window"));
|
||||
evas_object_size_hint_align_set(ow, 0.0, EVAS_HINT_FILL);
|
||||
elm_check_state_set(ow, pager_config->popup_urgent);
|
||||
elm_table_pack(tb, ow, 0, 0, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_smart_callback_add(ow, "changed",
|
||||
_config_value_changed, NULL);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_popup_urgent = ow;
|
||||
|
||||
ow = elm_check_add(tb);
|
||||
elm_object_disabled_set(ow, !pager_config->popup_urgent);
|
||||
elm_object_text_set(ow, _("Urgent popup sticks on screen"));
|
||||
evas_object_size_hint_align_set(ow, 0.0, EVAS_HINT_FILL);
|
||||
elm_check_state_set(ow, pager_config->popup_urgent_stick);
|
||||
elm_table_pack(tb, ow, 0, 1, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_smart_callback_add(ow, "changed",
|
||||
_config_value_changed, NULL);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_popup_urgent_stick = ow;
|
||||
|
||||
ow = elm_check_add(tb);
|
||||
elm_object_disabled_set(ow, !pager_config->popup_urgent);
|
||||
elm_object_text_set(ow, _("Show popup for focused windows"));
|
||||
evas_object_size_hint_align_set(ow, 0.0, EVAS_HINT_FILL);
|
||||
elm_check_state_set(ow, pager_config->popup_urgent_focus);
|
||||
elm_table_pack(tb, ow, 0, 2, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_smart_callback_add(ow, "changed",
|
||||
_config_value_changed, NULL);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_popup_urgent_focus = ow;
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
elm_object_text_set(ow, _("Urgent Popup Duration"));
|
||||
elm_object_disabled_set(ow, !pager_config->popup_urgent);
|
||||
elm_table_pack(tb, ow, 0, 3, 1, 1);
|
||||
E_ALIGN(ow, 0.5, 0.5);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_show(ow);
|
||||
|
||||
ow = elm_slider_add(tb);
|
||||
elm_object_disabled_set(ow, !pager_config->popup_urgent);
|
||||
elm_slider_min_max_set(ow, 0.1, 10);
|
||||
elm_slider_step_set(ow, 0.1);
|
||||
elm_slider_value_set(ow, pager_config->popup_urgent_speed);
|
||||
elm_slider_unit_format_set(ow, _("%1.1f seconds"));
|
||||
elm_table_pack(tb, ow, 0, 4, 1, 1);
|
||||
E_ALIGN(ow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
E_WEIGHT(ow, EVAS_HINT_EXPAND, 0);
|
||||
evas_object_smart_callback_add(ow, "delay,changed",
|
||||
_config_value_changed, NULL);
|
||||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_popup_urgent_speed = ow;
|
||||
|
||||
elm_table_pack(m, tb, 0, 0, 1, 1);
|
||||
pager_gadget_config_objects->urgent_page = tb;
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
EINTERN Evas_Object *
|
||||
config_pager(E_Zone *zone)
|
||||
{
|
||||
Evas_Object *popup, *tb, *lbl, *list, *fr;
|
||||
Elm_Object_Item *it;
|
||||
|
||||
pager_gadget_config_objects = E_NEW(Config_Objects, 1);
|
||||
pager_gadget_config_objects->w = 0;
|
||||
pager_gadget_config_objects->h = 0;
|
||||
|
||||
popup = elm_popup_add(e_comp->elm);
|
||||
E_EXPAND(popup);
|
||||
elm_popup_allow_events_set(popup, 1);
|
||||
elm_popup_scrollable_set(popup, 1);
|
||||
|
||||
tb = elm_table_add(popup);
|
||||
E_EXPAND(tb);
|
||||
evas_object_show(tb);
|
||||
elm_object_content_set(popup, tb);
|
||||
|
||||
lbl = elm_label_add(tb);
|
||||
elm_object_style_set(lbl, "marker");
|
||||
evas_object_show(lbl);
|
||||
elm_object_text_set(lbl, _("Pager Configuration"));
|
||||
elm_table_pack(tb, lbl, 0, 0, 2, 1);
|
||||
|
||||
list = elm_list_add(tb);
|
||||
E_ALIGN(list, 0, EVAS_HINT_FILL);
|
||||
E_WEIGHT(list, 0, EVAS_HINT_EXPAND);
|
||||
elm_table_pack(tb, list, 0, 1, 1, 1);
|
||||
elm_list_select_mode_set(list, ELM_OBJECT_SELECT_MODE_ALWAYS);
|
||||
elm_scroller_content_min_limit(list, 1, 1);
|
||||
it = elm_list_item_append(list, _("General"), NULL, NULL,
|
||||
_config_show_general, NULL);
|
||||
elm_list_item_selected_set(it, 1);
|
||||
it = elm_list_item_append(list, _("Popup"), NULL, NULL,
|
||||
_config_show_popup, NULL);
|
||||
it = elm_list_item_append(list, _("Urgent"), NULL, NULL,
|
||||
_config_show_urgent, NULL);
|
||||
elm_list_go(list);
|
||||
evas_object_show(list);
|
||||
|
||||
fr = elm_frame_add(tb);
|
||||
E_EXPAND(fr);
|
||||
elm_table_pack(tb, fr, 1, 1, 1, 1);
|
||||
evas_object_show(fr);
|
||||
|
||||
elm_object_content_set(fr,
|
||||
_config_create_pages(fr));
|
||||
_config_show_general(NULL, NULL, NULL);
|
||||
|
||||
popup = e_comp_object_util_add(popup, E_COMP_OBJECT_TYPE_NONE);
|
||||
evas_object_layer_set(popup, E_LAYER_POPUP);
|
||||
evas_object_resize(popup, zone->w / 4, zone->h / 3);
|
||||
e_comp_object_util_center(popup);
|
||||
evas_object_show(popup);
|
||||
e_comp_object_util_autoclose(popup, NULL, e_comp_object_util_autoclose_on_escape, NULL);
|
||||
evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, _config_close, NULL);
|
||||
|
||||
return cfg_dialog = popup;
|
||||
}
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
#include "pager.h"
|
||||
static E_Config_DD *conf_edd = NULL;
|
||||
Config *pager_config;
|
||||
E_Module *gmodule;
|
||||
Evas_Object *cfg_dialog;
|
||||
Eina_List *ginstances, *ghandlers;
|
||||
|
||||
E_API void *
|
||||
e_modapi_gadget_init(E_Module *m)
|
||||
{
|
||||
conf_edd = E_CONFIG_DD_NEW("Pager_Config", Config);
|
||||
#undef T
|
||||
#undef D
|
||||
#define T Config
|
||||
#define D conf_edd
|
||||
E_CONFIG_VAL(D, T, popup, UINT);
|
||||
E_CONFIG_VAL(D, T, popup_speed, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, popup_urgent, UINT);
|
||||
E_CONFIG_VAL(D, T, popup_urgent_stick, UINT);
|
||||
E_CONFIG_VAL(D, T, popup_urgent_speed, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, show_desk_names, UINT);
|
||||
E_CONFIG_VAL(D, T, popup_height, INT);
|
||||
E_CONFIG_VAL(D, T, popup_act_height, INT);
|
||||
E_CONFIG_VAL(D, T, drag_resist, UINT);
|
||||
E_CONFIG_VAL(D, T, btn_drag, UCHAR);
|
||||
E_CONFIG_VAL(D, T, btn_noplace, UCHAR);
|
||||
E_CONFIG_VAL(D, T, btn_desk, UCHAR);
|
||||
E_CONFIG_VAL(D, T, flip_desk, UCHAR);
|
||||
|
||||
pager_config = e_config_domain_load("module.pager", conf_edd);
|
||||
|
||||
if (!pager_config)
|
||||
{
|
||||
pager_config = E_NEW(Config, 1);
|
||||
pager_config->popup = 1;
|
||||
pager_config->popup_speed = 1.0;
|
||||
pager_config->popup_urgent = 0;
|
||||
pager_config->popup_urgent_stick = 0;
|
||||
pager_config->popup_urgent_speed = 1.5;
|
||||
pager_config->show_desk_names = 0;
|
||||
pager_config->popup_height = 60;
|
||||
pager_config->popup_act_height = 60;
|
||||
pager_config->drag_resist = 3;
|
||||
pager_config->btn_drag = 1;
|
||||
pager_config->btn_noplace = 2;
|
||||
pager_config->btn_desk = 2;
|
||||
pager_config->flip_desk = 0;
|
||||
}
|
||||
E_CONFIG_LIMIT(pager_config->popup, 0, 1);
|
||||
E_CONFIG_LIMIT(pager_config->popup_speed, 0.1, 10.0);
|
||||
E_CONFIG_LIMIT(pager_config->popup_urgent, 0, 1);
|
||||
E_CONFIG_LIMIT(pager_config->popup_urgent_stick, 0, 1);
|
||||
E_CONFIG_LIMIT(pager_config->popup_urgent_speed, 0.1, 10.0);
|
||||
E_CONFIG_LIMIT(pager_config->show_desk_names, 0, 1);
|
||||
E_CONFIG_LIMIT(pager_config->popup_height, 20, 200);
|
||||
E_CONFIG_LIMIT(pager_config->popup_act_height, 20, 200);
|
||||
E_CONFIG_LIMIT(pager_config->drag_resist, 0, 50);
|
||||
E_CONFIG_LIMIT(pager_config->flip_desk, 0, 1);
|
||||
E_CONFIG_LIMIT(pager_config->btn_drag, 0, 32);
|
||||
E_CONFIG_LIMIT(pager_config->btn_noplace, 0, 32);
|
||||
E_CONFIG_LIMIT(pager_config->btn_desk, 0, 32);
|
||||
|
||||
gmodule = m;
|
||||
|
||||
pager_init();
|
||||
|
||||
e_gadget_type_add("Pager Gadget", pager_create, NULL);
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
E_API int
|
||||
e_modapi_gadget_shutdown(E_Module *m EINA_UNUSED)
|
||||
{
|
||||
if (cfg_dialog)
|
||||
e_object_del(E_OBJECT(cfg_dialog));
|
||||
|
||||
if (pager_config && ghandlers)
|
||||
E_FREE_LIST(ghandlers, ecore_event_handler_del);
|
||||
|
||||
e_action_del("pager_gadget_show");
|
||||
e_action_del("pager_gadget_switch");
|
||||
|
||||
e_action_predef_name_del("Pager Gadget", "Show Pager Popup");
|
||||
e_action_predef_name_del("Pager Gadget", "Popup Desk Right");
|
||||
e_action_predef_name_del("Pager Gadget", "Popup Desk Left");
|
||||
e_action_predef_name_del("Pager Gadget", "Popup Desk Up");
|
||||
e_action_predef_name_del("Pager Gadget", "Popup Desk Down");
|
||||
e_action_predef_name_del("Pager Gadget", "Popup Desk Next");
|
||||
e_action_predef_name_del("Pager Gadget", "Popup Desk Previous");
|
||||
|
||||
e_gadget_type_del("Pager Gadget");
|
||||
|
||||
E_FREE(pager_config);
|
||||
E_CONFIG_DD_FREE(conf_edd);
|
||||
return 1;
|
||||
}
|
||||
|
||||
E_API int
|
||||
e_modapi_gadget_save(E_Module *m EINA_UNUSED)
|
||||
{
|
||||
e_config_domain_save("module.pager", conf_edd, pager_config);
|
||||
return 1;
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,50 @@
|
|||
#ifndef PAGER_H
|
||||
#define PAGER_H
|
||||
|
||||
#include "e.h"
|
||||
|
||||
E_API void *e_modapi_gadget_init(E_Module *m);
|
||||
E_API int e_modapi_gadget_shutdown(E_Module *m);
|
||||
E_API int e_modapi_gadget_save(E_Module *m);
|
||||
|
||||
typedef struct _Config Config;
|
||||
struct _Config
|
||||
{
|
||||
unsigned int popup;
|
||||
double popup_speed;
|
||||
unsigned int popup_urgent;
|
||||
unsigned int popup_urgent_stick;
|
||||
unsigned int popup_urgent_focus;
|
||||
double popup_urgent_speed;
|
||||
unsigned int show_desk_names;
|
||||
int popup_act_height;
|
||||
int popup_height;
|
||||
unsigned int drag_resist;
|
||||
unsigned int btn_drag;
|
||||
unsigned int btn_noplace;
|
||||
unsigned int btn_desk;
|
||||
unsigned int flip_desk;
|
||||
};
|
||||
|
||||
EINTERN Evas_Object *pager_create(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient);
|
||||
EINTERN Evas_Object *config_pager(E_Zone *zone);
|
||||
EINTERN void pager_init(void);
|
||||
EINTERN void _pager_cb_config_gadget_updated(void);
|
||||
EINTERN void _pager_cb_config_updated(void);
|
||||
|
||||
extern Config *pager_config;
|
||||
extern E_Module *gmodule;
|
||||
extern Evas_Object *cfg_dialog;
|
||||
extern Eina_List *ginstances, *ghandlers;
|
||||
/**
|
||||
* @addtogroup Optional_Gadgets
|
||||
* @{
|
||||
*
|
||||
* @defgroup Module_Pager Virtual Desktop Pager
|
||||
*
|
||||
* Shows the grid of virtual desktops and allows changing between
|
||||
* them.
|
||||
*
|
||||
* @}
|
||||
*/
|
||||
#endif
|
Loading…
Reference in New Issue