don't show layouts in xkb gadget menu if option to disable xkb layout changing is enabled

SVN revision: 83675
This commit is contained in:
Mike Blumenkrantz 2013-02-06 10:56:24 +00:00
parent 893b867070
commit d13c7cc1e4
1 changed files with 82 additions and 83 deletions

View File

@ -204,7 +204,7 @@ _gc_init(E_Gadcon *gc, const char *gcname, const char *id, const char *style)
"base/theme/modules/xkbswitch",
"e/modules/xkbswitch/main");
edje_object_part_text_set(inst->o_xkbswitch, "e.text.label",
inst->layout ? e_xkb_layout_name_reduce(inst->layout->name) : "?");
inst->layout ? e_xkb_layout_name_reduce(inst->layout->name) : _("NONE"));
/* The gadcon client */
inst->gcc = e_gadcon_client_new(gc, gcname, id, style, inst->o_xkbswitch);
inst->gcc->data = inst;
@ -352,7 +352,8 @@ _e_xkb_cb_mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSE
else if ((ev->button == 1) && (!inst->lmenu)) /* Left-click layout menu */
{
Evas_Coord x, y, w, h;
int cx, cy;
int cx, cy, dir;
E_Menu_Item *mi;
/* Coordinates and sizing */
evas_object_geometry_get(inst->o_xkbswitch, &x, &y, &w, &h);
@ -363,20 +364,18 @@ _e_xkb_cb_mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSE
if (!inst->lmenu) inst->lmenu = e_menu_new();
if (inst->lmenu)
{
E_Config_XKB_Layout *cl, *cur;
E_Menu_Item *mi;
Eina_List *l;
int dir;
char buf[4096];
mi = e_menu_item_new(inst->lmenu);
e_menu_item_label_set(mi, _("Settings"));
e_util_menu_item_theme_icon_set(mi, "preferences-system");
e_menu_item_callback_set(mi, _e_xkb_cb_menu_configure, NULL);
if (!e_config->xkb.dont_touch_my_damn_keyboard)
{
E_Config_XKB_Layout *cl, *cur;
Eina_List *l;
char buf[4096];
mi = e_menu_item_new(inst->lmenu);
e_menu_item_separator_set(mi, 1);
cur = e_xkb_layout_get();
@ -401,6 +400,7 @@ _e_xkb_cb_mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSE
e_menu_item_label_set(mi, buf);
e_menu_item_callback_set(mi, _e_xkb_cb_lmenu_set, cl);
}
}
/* Deactivate callback */
e_menu_post_deactivate_callback_set(inst->lmenu,
@ -474,7 +474,6 @@ _e_xkb_cb_mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSE
(e_manager_current_get()),
x, y, w, h, dir, ev->timestamp);
}
}
else if (ev->button == 2) /* Middle click */
e_xkb_layout_next();
}