Add Move and Resize to the border menu.

SVN revision: 44820
This commit is contained in:
Iván Briano 2009-12-31 03:34:27 +00:00
parent e20470a501
commit 1c2ba52eb4
2 changed files with 50 additions and 0 deletions

View File

@ -24301,6 +24301,8 @@ BORDERICON("stacking","icon_border_stack_norm.png")
BORDERICON("stack_on_top","icon_border_stack_top.png")
BORDERICON("stack_normal","icon_border_stack_norm.png")
BORDERICON("stack_below","icon_border_stack_bot.png")
BORDERICON("move_icon", "move.png")
BORDERICON("resize_icon", "resize.png");
BORDERICON("maximize","icon_border_maximize.png")
BORDERICON("fullscreen","icon_border_maximize.png")
BORDERICON("minimize","icon_border_minimize.png")

View File

@ -10,6 +10,8 @@ static void _e_border_menu_cb_border(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_border_menu_cb_close(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_border_menu_cb_iconify(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_border_menu_cb_kill(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_border_menu_cb_move(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_border_menu_cb_resize(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_border_menu_cb_maximize_pre(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_border_menu_cb_maximize(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_border_menu_cb_maximize_vertically(void *data, E_Menu *m, E_Menu_Item *mi);
@ -139,6 +141,30 @@ e_int_border_menu_create(E_Border *bd)
e_menu_item_separator_set(mi, 1);
separator = 1;
if ((!bd->lock_user_location) && (!bd->maximized || e_config->allow_manip))
{
separator = 0;
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Move"));
e_menu_item_callback_set(mi, _e_border_menu_cb_move, bd);
e_menu_item_icon_edje_set(mi,
e_theme_edje_file_get("base/theme/borders",
"e/widgets/border/default/move_icon"),
"e/widgets/border/default/move_icon");
}
if ((!bd->lock_user_size) && (!bd->maximized || e_config->allow_manip))
{
separator = 0;
mi = e_menu_item_new(m);
e_menu_item_label_set(mi, _("Resize"));
e_menu_item_callback_set(mi, _e_border_menu_cb_resize, bd);
e_menu_item_icon_edje_set(mi,
e_theme_edje_file_get("base/theme/borders",
"e/widgets/border/default/resize_icon"),
"e/widgets/border/default/resize_icon");
}
if (!(((bd->client.icccm.min_w == bd->client.icccm.max_w) &&
(bd->client.icccm.min_h == bd->client.icccm.max_h)) ||
(bd->lock_user_maximize)))
@ -340,6 +366,28 @@ _e_border_menu_cb_kill(void *data, E_Menu *m, E_Menu_Item *mi)
if ((a) && (a->func.go)) a->func.go(NULL, NULL);
}
static void
_e_border_menu_cb_move(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Border *bd;
bd = data;
if (!bd->lock_user_location)
e_border_act_move_keyboard(bd);
}
static void
_e_border_menu_cb_resize(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Border *bd;
bd = data;
if (!bd->lock_user_size)
e_border_act_resize_keyboard(bd);
}
static void
_e_border_menu_cb_maximize_pre(void *data, E_Menu *m, E_Menu_Item *mi)
{