this option is more suitable for all actions, not just the desk flip one

SVN revision: 39442
This commit is contained in:
Viktor Kojouharov 2009-03-10 21:34:41 +00:00
parent 8eef516595
commit 4c31250530
4 changed files with 25 additions and 12 deletions

View File

@ -1153,7 +1153,6 @@ ACT_FN_GO_EDGE(desk_flip_in_direction)
wev = E_NEW(E_Event_Pointer_Warp, 1);
if ((!wev) || (!zone)) return;
prev = e_desk_at_xy_get(zone, zone->desk_x_current, zone->desk_y_current);
if (prev->fullscreen_borders && (!e_config->fullscreen_flip)) return;
ecore_x_pointer_xy_get(zone->container->win, &x, &y);
wev->prev.x = x;
wev->prev.y = y;

View File

@ -610,9 +610,13 @@ EAPI E_Action *
e_bindings_edge_in_event_handle(E_Binding_Context ctxt, E_Object *obj, E_Event_Zone_Edge *ev)
{
E_Binding_Modifier mod = 0;
E_Desk *current = NULL;
E_Action *act = NULL;
Eina_List *l;
current = e_desk_at_xy_get(ev->zone, ev->zone->desk_x_current, ev->zone->desk_y_current);
if (current->fullscreen_borders && (!e_config->fullscreen_flip)) return NULL;
if (ev->modifiers & ECORE_X_MODIFIER_SHIFT) mod |= E_BINDING_MODIFIER_SHIFT;
if (ev->modifiers & ECORE_X_MODIFIER_CTRL) mod |= E_BINDING_MODIFIER_CTRL;
if (ev->modifiers & ECORE_X_MODIFIER_ALT) mod |= E_BINDING_MODIFIER_ALT;

View File

@ -23,7 +23,6 @@ struct _E_Config_Dialog_Data
/*- ADVANCED -*/
int edge_flip_dragging;
int flip_wrap;
int fullscreen_flip;
int flip_mode;
int flip_interp;
double flip_speed;
@ -66,7 +65,6 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->flip_animate = e_config->desk_flip_animate_mode > 0;
cfdata->edge_flip_dragging = e_config->edge_flip_dragging;
cfdata->flip_wrap = e_config->desk_flip_wrap;
cfdata->fullscreen_flip = e_config->fullscreen_flip;
cfdata->flip_mode = e_config->desk_flip_animate_mode;
cfdata->flip_interp = e_config->desk_flip_animate_interpolation;
cfdata->flip_speed = e_config->desk_flip_animate_time;
@ -162,7 +160,6 @@ _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
e_config->edge_flip_dragging = cfdata->edge_flip_dragging;
e_config->desk_flip_wrap = cfdata->flip_wrap;
e_config->fullscreen_flip = cfdata->fullscreen_flip;
e_config_save_queue();
return 1; /* Apply was OK */
@ -238,8 +235,6 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
e_widget_framelist_object_append(of, ob);
ob = e_widget_check_add(evas, _("Wrap desktops around when flipping"), &(cfdata->flip_wrap));
e_widget_framelist_object_append(of, ob);
ob = e_widget_check_add(evas, _("Allow flipping with fullscreen windows"), &(cfdata->fullscreen_flip));
e_widget_framelist_object_append(of, ob);
e_widget_table_object_append(ott, of, 1, 0, 1, 1, 1, 0, 1, 0);
of = e_widget_framelist_add(evas, _("Flip Animation"), 0);

View File

@ -77,6 +77,9 @@ struct _E_Config_Dialog_Data
} gui;
const char *params;
int fullscreen_flip;
E_Config_Dialog *cfd;
};
@ -137,6 +140,8 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->binding.edge = eina_list_append(cfdata->binding.edge, bi2);
}
cfdata->fullscreen_flip = e_config->fullscreen_flip;
}
static void *
@ -215,6 +220,8 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
e_bindings_edge_add(bi->context, bi->edge, bi->modifiers, bi->any_mod,
bi->action, bi->params, bi->delay);
}
e_config->fullscreen_flip = cfdata->fullscreen_flip;
e_config_save_queue();
return 1;
@ -223,15 +230,16 @@ _basic_apply_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)
{
Evas_Object *o, *ot, *of, *ob;
Evas_Object *o, *ol, *ot, *of, *ob;
cfdata->evas = evas;
o = e_widget_list_add(evas, 0, 1);
o = e_widget_list_add(evas, 0, 0);
ol = e_widget_list_add(evas, 0, 1);
of = e_widget_frametable_add(evas, _("Edge Bindings"), 0);
ob = e_widget_ilist_add(evas, 32, 32, &(cfdata->locals.binding));
cfdata->gui.o_binding_list = ob;
e_widget_min_size_set(ob, 200, 200);
e_widget_min_size_set(ob, 200, 160);
e_widget_frametable_object_append(of, ob, 0, 0, 2, 1, 1, 1, 1, 1);
ob = e_widget_button_add(evas, _("Add Edge"), NULL, _add_edge_binding_cb, cfdata, NULL);
cfdata->gui.o_add = ob;
@ -250,13 +258,13 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
e_widget_frametable_object_append(of, ob, 1, 2, 1, 1, 1, 0, 1, 0);
ob = e_widget_button_add(evas, _("Restore Default Bindings"), "enlightenment/e", _restore_edge_binding_defaults_cb, cfdata, NULL);
e_widget_frametable_object_append(of, ob, 0, 3, 2, 1, 1, 0, 1, 0);
e_widget_list_object_append(o, of, 1, 1, 0.5);
e_widget_list_object_append(ol, of, 1, 1, 0.5);
ot = e_widget_table_add(evas, 0);
of = e_widget_framelist_add(evas, _("Action"), 0);
ob = e_widget_ilist_add(evas, 24, 24, &(cfdata->locals.action));
cfdata->gui.o_action_list = ob;
e_widget_min_size_set(ob, 200, 280);
e_widget_min_size_set(ob, 200, 240);
e_widget_framelist_object_append(of, ob);
e_widget_table_object_append(ot, of, 0, 0, 1, 1, 1, 1, 1, 1);
@ -266,7 +274,14 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
e_widget_disabled_set(ob, 1);
e_widget_framelist_object_append(of, ob);
e_widget_table_object_append(ot, of, 0, 1, 1, 1, 1, 1, 1, 0);
e_widget_list_object_append(o, ot, 1, 1, 0.5);
e_widget_list_object_append(ol, ot, 1, 1, 0.5);
e_widget_list_object_append(o, ol, 1, 1, 0.5);
of = e_widget_framelist_add(evas, _("General Options"), 0);
ob = e_widget_check_add(evas, _("Allow binding activation with fullscreen windows"), &(cfdata->fullscreen_flip));
e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 1, 0.5);
_update_edge_binding_list(cfdata);
_fill_actions_list(cfdata);