ram's fullscreen action patch and laurent's small radiobutton patch for send

to desktop menu


SVN revision: 23645
This commit is contained in:
Carsten Haitzler 2006-07-02 06:57:38 +00:00
parent 3cfb2ba1e0
commit 021cdfacd6
2 changed files with 74 additions and 0 deletions

View File

@ -352,6 +352,67 @@ ACT_FN_GO(window_iconic)
}
}
/***************************************************************************/
ACT_FN_GO(window_fullscreen_toggle)
{
if (!obj) obj = E_OBJECT(e_border_focused_get());
if (!obj) return;
if (obj->type != E_BORDER_TYPE)
{
obj = E_OBJECT(e_border_focused_get());
if (!obj) return;
}
if (!((E_Border *)obj)->lock_user_fullscreen)
{
E_Border *bd;
bd = (E_Border *)obj;
if (bd->fullscreen)
e_border_unfullscreen(bd);
else if (params == 0 || *params == '\0')
e_border_fullscreen(bd, e_config->fullscreen_policy);
else if (! strcmp(params, "resize"))
e_border_fullscreen(bd, E_FULLSCREEN_RESIZE);
else if (! strcmp(params, "zoom"))
e_border_fullscreen(bd, E_FULLSCREEN_ZOOM);
}
}
/***************************************************************************/
ACT_FN_GO(window_fullscreen)
{
if (!obj) obj = E_OBJECT(e_border_focused_get());
if (!obj) return;
if (obj->type != E_BORDER_TYPE)
{
obj = E_OBJECT(e_border_focused_get());
if (!obj) return;
}
if (!((E_Border *)obj)->lock_user_fullscreen)
{
E_Border *bd;
bd = (E_Border *)obj;
if (params)
{
int v;
char buf[32];
if (sscanf(params, "%i %20s", &v, buf) == 2)
{
if (v == 1)
{
if (buf == 0 || *buf == '\0')
e_border_fullscreen(bd, e_config->fullscreen_policy);
else if (! strcmp(buf, "resize"))
e_border_fullscreen(bd, E_FULLSCREEN_RESIZE);
else if (! strcmp(buf, "zoom"))
e_border_fullscreen(bd, E_FULLSCREEN_ZOOM);
}
else if (v == 0)
e_border_unfullscreen(bd);
}
}
}
}
/***************************************************************************/
ACT_FN_GO(window_maximized_toggle)
{
@ -1594,6 +1655,14 @@ e_actions_init(void)
ACT_GO(window_iconic);
/* window_fullscreen_toggle */
ACT_GO(window_fullscreen_toggle);
e_register_action_predef_name(_("Window : State"), _("Fullscreen Mode Toggle"),
"window_fullscreen_toggle", NULL,
EDIT_RESTRICT_ACTION | EDIT_RESTRICT_PARAMS, 0);
ACT_GO(window_fullscreen);
/* window_maximized_toggle */
ACT_GO(window_maximized_toggle);
e_register_action_predef_name(_("Window : State"), _("Maximize"), "window_maximized_toggle",

View File

@ -706,9 +706,11 @@ _e_border_menu_cb_sendto_pre(void *data, E_Menu *m, E_Menu_Item *mi)
E_Menu *subm;
E_Menu_Item *submi;
E_Border *bd;
E_Desk *desk_cur;
int i;
bd = data;
desk_cur = e_desk_current_get(bd->zone);
subm = e_menu_new();
e_object_data_set(E_OBJECT(subm), bd);
@ -721,6 +723,9 @@ _e_border_menu_cb_sendto_pre(void *data, E_Menu *m, E_Menu_Item *mi)
desk = bd->zone->desks[i];
submi = e_menu_item_new(subm);
e_menu_item_label_set(submi, desk->name);
e_menu_item_radio_set(submi, 1);
e_menu_item_radio_group_set(submi, 2);
e_menu_item_toggle_set(submi, (desk_cur == desk ? 1 : 0));
e_menu_item_callback_set(submi, _e_border_menu_cb_sendto, desk);
}
}