forked from enlightenment/enlightenment
Pager: Add the option to switch between live and plain pagers as well as switch to plain pager when saving power.
This commit is contained in:
parent
4a22d2f178
commit
2ab2fe18ea
|
@ -153,7 +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();
|
||||
_pager_cb_config_gadget_updated(EINA_FALSE);
|
||||
e_config_save_queue();
|
||||
return 1;
|
||||
}
|
||||
|
@ -307,7 +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();
|
||||
_pager_cb_config_gadget_updated(EINA_FALSE);
|
||||
e_config_save_queue();
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -164,7 +164,6 @@ static Pager_Popup *act_popup = NULL; /* active popup */
|
|||
static int hold_count = 0;
|
||||
static int hold_mod = 0;
|
||||
static E_Desk *current_desk = NULL;
|
||||
static E_Config_DD *conf_edd = NULL;
|
||||
static Eina_List *pagers = NULL;
|
||||
|
||||
EINTERN E_Module *module;
|
||||
|
@ -2052,57 +2051,6 @@ e_modapi_init(E_Module *m)
|
|||
e_util_dialog_show(_("Error"), _("Pager module cannot be loaded at the same time as Pager Plain!"));
|
||||
return NULL;
|
||||
}
|
||||
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);
|
||||
|
||||
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);
|
||||
|
@ -2155,8 +2103,6 @@ e_modapi_shutdown(E_Module *m)
|
|||
e_object_del(E_OBJECT(config_dialog));
|
||||
E_FREE_LIST(shandlers, ecore_event_handler_del);
|
||||
|
||||
e_configure_registry_item_del("extensions/pager");
|
||||
|
||||
e_action_del("pager_show");
|
||||
e_action_del("pager_switch");
|
||||
|
||||
|
@ -2167,8 +2113,6 @@ e_modapi_shutdown(E_Module *m)
|
|||
e_action_predef_name_del("Pager", "Popup Desk Next");
|
||||
e_action_predef_name_del("Pager", "Popup Desk Previous");
|
||||
|
||||
E_FREE(pager_config);
|
||||
E_CONFIG_DD_FREE(conf_edd);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -2176,7 +2120,6 @@ E_API int
|
|||
e_modapi_save(E_Module *m)
|
||||
{
|
||||
e_modapi_gadget_save(m);
|
||||
e_config_domain_save("module.pager", conf_edd, pager_config);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ struct _Config_Objects
|
|||
Evas_Object *general_page;
|
||||
Evas_Object *popup_page;
|
||||
Evas_Object *urgent_page;
|
||||
Evas_Object *style_page;
|
||||
Evas_Object *o_popup;
|
||||
Evas_Object *o_popup_speed;
|
||||
Evas_Object *o_popup_urgent;
|
||||
|
@ -25,6 +26,8 @@ struct _Config_Objects
|
|||
Evas_Object *o_btn_desk;
|
||||
Evas_Object *o_btn_virtual;
|
||||
Evas_Object *o_flip_desk;
|
||||
Evas_Object *o_permanent;
|
||||
Evas_Object *o_plain;
|
||||
E_Grab_Dialog *grab_dia;
|
||||
int grab_btn;
|
||||
int w, h;
|
||||
|
@ -43,6 +46,7 @@ _config_show_general(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
|
|||
{
|
||||
evas_object_hide(pager_gadget_config_objects->popup_page);
|
||||
evas_object_hide(pager_gadget_config_objects->urgent_page);
|
||||
evas_object_hide(pager_gadget_config_objects->style_page);
|
||||
evas_object_show(pager_gadget_config_objects->general_page);
|
||||
}
|
||||
|
||||
|
@ -51,6 +55,7 @@ _config_show_popup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
|
|||
{
|
||||
evas_object_hide(pager_gadget_config_objects->general_page);
|
||||
evas_object_hide(pager_gadget_config_objects->urgent_page);
|
||||
evas_object_hide(pager_gadget_config_objects->style_page);
|
||||
evas_object_show(pager_gadget_config_objects->popup_page);
|
||||
}
|
||||
|
||||
|
@ -59,12 +64,23 @@ _config_show_urgent(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
|
|||
{
|
||||
evas_object_hide(pager_gadget_config_objects->general_page);
|
||||
evas_object_hide(pager_gadget_config_objects->popup_page);
|
||||
evas_object_hide(pager_gadget_config_objects->style_page);
|
||||
evas_object_show(pager_gadget_config_objects->urgent_page);
|
||||
}
|
||||
|
||||
static void
|
||||
_config_show_style(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_hide(pager_gadget_config_objects->urgent_page);
|
||||
evas_object_show(pager_gadget_config_objects->style_page);
|
||||
}
|
||||
|
||||
static void
|
||||
_config_value_changed(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_data EINA_UNUSED)
|
||||
{
|
||||
Eina_Bool val, changed = EINA_FALSE;
|
||||
pager_config->popup =
|
||||
elm_check_state_get(pager_gadget_config_objects->o_popup);
|
||||
pager_config->popup_speed =
|
||||
|
@ -87,7 +103,15 @@ _config_value_changed(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
|
|||
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();
|
||||
val = elm_check_state_get(pager_gadget_config_objects->o_permanent);
|
||||
if (val != pager_config->permanent_plain)
|
||||
changed = EINA_TRUE;
|
||||
pager_config->permanent_plain = val;
|
||||
val = elm_check_state_get(pager_gadget_config_objects->o_plain);
|
||||
if (val != pager_config->plain)
|
||||
changed = EINA_TRUE;
|
||||
pager_config->plain = val;
|
||||
_pager_cb_config_gadget_updated(changed);
|
||||
_pager_cb_config_updated();
|
||||
e_config_save_queue();
|
||||
|
||||
|
@ -322,7 +346,7 @@ _config_create_pages(Evas_Object *parent)
|
|||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_show_desk_names = ow;
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
ow = elm_label_add(m);
|
||||
elm_object_text_set(ow, _("Resistance to dragging"));
|
||||
elm_table_pack(tb, ow, 0, 3, 1, 1);
|
||||
E_ALIGN(ow, 0.0, 0.0);
|
||||
|
@ -343,7 +367,7 @@ _config_create_pages(Evas_Object *parent)
|
|||
pager_gadget_config_objects->o_drag_resist = ow;
|
||||
|
||||
#if 0
|
||||
ow = elm_label_add(tb);
|
||||
ow = elm_label_add(m);
|
||||
elm_object_text_set(ow, _("Select and Slide button"));
|
||||
elm_table_pack(tb, ow, 0, row, 1, 1);
|
||||
E_ALIGN(ow, 0.0, 0.0);
|
||||
|
@ -363,7 +387,7 @@ _config_create_pages(Evas_Object *parent)
|
|||
row++;
|
||||
#endif
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
ow = elm_label_add(m);
|
||||
elm_object_text_set(ow, _("Drag and Drop button"));
|
||||
elm_table_pack(tb, ow, 0, row, 1, 1);
|
||||
E_ALIGN(ow, 0.0, 0.0);
|
||||
|
@ -382,7 +406,7 @@ _config_create_pages(Evas_Object *parent)
|
|||
pager_gadget_config_objects->o_btn_noplace = ow;
|
||||
row++;
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
ow = elm_label_add(m);
|
||||
elm_object_text_set(ow, _("Drag whole desktop"));
|
||||
elm_table_pack(tb, ow, 0, row, 1, 1);
|
||||
E_ALIGN(ow, 0.0, 0.0);
|
||||
|
@ -429,7 +453,7 @@ _config_create_pages(Evas_Object *parent)
|
|||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_popup = ow;
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
ow = elm_label_add(m);
|
||||
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);
|
||||
|
@ -451,7 +475,7 @@ _config_create_pages(Evas_Object *parent)
|
|||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_popup_height = ow;
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
ow = elm_label_add(m);
|
||||
elm_object_text_set(ow, _("Popup duration"));
|
||||
elm_object_disabled_set(ow, !pager_config->popup);
|
||||
elm_table_pack(tb, ow, 0, 3, 1, 1);
|
||||
|
@ -473,7 +497,7 @@ _config_create_pages(Evas_Object *parent)
|
|||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_popup_speed = ow;
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
ow = elm_label_add(m);
|
||||
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);
|
||||
|
@ -548,7 +572,7 @@ _config_create_pages(Evas_Object *parent)
|
|||
evas_object_show(ow);
|
||||
pager_gadget_config_objects->o_popup_urgent_focus = ow;
|
||||
|
||||
ow = elm_label_add(tb);
|
||||
ow = elm_label_add(m);
|
||||
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);
|
||||
|
@ -573,6 +597,45 @@ _config_create_pages(Evas_Object *parent)
|
|||
elm_table_pack(m, fr, 0, 0, 1, 1);
|
||||
pager_gadget_config_objects->urgent_page = fr;
|
||||
|
||||
/* Style Page */
|
||||
fr = elm_frame_add(m);
|
||||
elm_object_text_set(fr, _("Style"));
|
||||
E_EXPAND(fr);
|
||||
E_FILL(fr);
|
||||
evas_object_show(fr);
|
||||
|
||||
tb = elm_table_add(m);
|
||||
E_EXPAND(tb);
|
||||
elm_object_content_set(fr, tb);
|
||||
evas_object_show(tb);
|
||||
|
||||
ow = elm_check_add(tb);
|
||||
elm_object_text_set(ow, _("Always Use Plain Style"));
|
||||
evas_object_size_hint_align_set(ow, 0.0, EVAS_HINT_FILL);
|
||||
elm_check_state_set(ow, pager_config->permanent_plain);
|
||||
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_permanent = ow;
|
||||
|
||||
ow = elm_check_add(tb);
|
||||
elm_object_text_set(ow, _("Switch to Plain Style When Saving Power"));
|
||||
evas_object_size_hint_align_set(ow, 0.0, EVAS_HINT_FILL);
|
||||
elm_check_state_set(ow, pager_config->plain);
|
||||
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_plain = ow;
|
||||
|
||||
elm_table_pack(m, fr, 0, 0, 1, 1);
|
||||
pager_gadget_config_objects->style_page = fr;
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
|
@ -615,6 +678,8 @@ config_pager(E_Zone *zone)
|
|||
_config_show_popup, NULL);
|
||||
it = elm_list_item_append(list, _("Urgent"), NULL, NULL,
|
||||
_config_show_urgent, NULL);
|
||||
it = elm_list_item_append(list, _("Style"), NULL, NULL,
|
||||
_config_show_style, NULL);
|
||||
elm_list_go(list);
|
||||
evas_object_show(list);
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
static E_Config_DD *conf_edd = NULL;
|
||||
Config *pager_config;
|
||||
Evas_Object *cfg_dialog;
|
||||
Eina_List *ginstances, *ghandlers;
|
||||
Eina_List *ginstances, *ghandlers, *phandlers;
|
||||
|
||||
EINTERN void *
|
||||
e_modapi_gadget_init(E_Module *m)
|
||||
|
@ -25,6 +25,8 @@ e_modapi_gadget_init(E_Module *m)
|
|||
E_CONFIG_VAL(D, T, btn_noplace, UCHAR);
|
||||
E_CONFIG_VAL(D, T, btn_desk, UCHAR);
|
||||
E_CONFIG_VAL(D, T, flip_desk, UCHAR);
|
||||
E_CONFIG_VAL(D, T, plain, UCHAR);
|
||||
E_CONFIG_VAL(D, T, permanent_plain, UCHAR);
|
||||
|
||||
pager_config = e_config_domain_load("module.pager", conf_edd);
|
||||
|
||||
|
@ -44,6 +46,8 @@ e_modapi_gadget_init(E_Module *m)
|
|||
pager_config->btn_noplace = 2;
|
||||
pager_config->btn_desk = 2;
|
||||
pager_config->flip_desk = 0;
|
||||
pager_config->plain = 0;
|
||||
pager_config->permanent_plain = 0;
|
||||
}
|
||||
E_CONFIG_LIMIT(pager_config->popup, 0, 1);
|
||||
E_CONFIG_LIMIT(pager_config->popup_speed, 0.1, 10.0);
|
||||
|
@ -58,6 +62,8 @@ e_modapi_gadget_init(E_Module *m)
|
|||
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);
|
||||
E_CONFIG_LIMIT(pager_config->plain, 0, 1);
|
||||
E_CONFIG_LIMIT(pager_config->permanent_plain, 0, 1);
|
||||
|
||||
pager_init();
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -24,17 +24,19 @@ struct _Config
|
|||
unsigned int btn_noplace;
|
||||
unsigned int btn_desk;
|
||||
unsigned int flip_desk;
|
||||
unsigned int plain;
|
||||
unsigned int permanent_plain;
|
||||
};
|
||||
|
||||
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_gadget_updated(Eina_Bool style_changed);
|
||||
EINTERN void _pager_cb_config_updated(void);
|
||||
|
||||
EINTERN extern Config *pager_config;
|
||||
EINTERN extern Evas_Object *cfg_dialog;
|
||||
EINTERN extern Eina_List *ginstances, *ghandlers;
|
||||
EINTERN extern Eina_List *ginstances, *ghandlers, *phandlers;
|
||||
/**
|
||||
* @addtogroup Optional_Gadgets
|
||||
* @{
|
||||
|
|
Loading…
Reference in New Issue