2.5
Added operator for moving area to 'full screen'. This is instable with tooltips on... fishy stuff then goes on, which Brecht will first look at. :)
This commit is contained in:
@@ -866,6 +866,10 @@ static int screen_set_exec(bContext *C, wmOperator *op)
|
||||
bScreen *screen= C->screen;
|
||||
int delta= RNA_int_get(op->ptr, "delta");
|
||||
|
||||
/* this screen is 'fake', solve later XXX */
|
||||
if(C->area->full)
|
||||
return OPERATOR_CANCELLED;
|
||||
|
||||
if(delta==1) {
|
||||
screen= screen->id.next;
|
||||
if(screen==NULL) screen= G.main->screen.first;
|
||||
@@ -879,7 +883,7 @@ static int screen_set_exec(bContext *C, wmOperator *op)
|
||||
}
|
||||
|
||||
if(screen) {
|
||||
ED_screen_set(C, screen);
|
||||
ed_screen_set(C, screen);
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
return OPERATOR_CANCELLED;
|
||||
@@ -898,6 +902,25 @@ void ED_SCR_OT_screen_set(wmOperatorType *ot)
|
||||
RNA_def_property(ot->srna, "delta", PROP_INT, PROP_NONE);
|
||||
}
|
||||
|
||||
/* ************** screen full-area operator ***************************** */
|
||||
|
||||
|
||||
/* function to be called outside UI context, or for redo */
|
||||
static int screen_full_area_exec(bContext *C, wmOperator *op)
|
||||
{
|
||||
ed_screen_fullarea(C);
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
|
||||
void ED_SCR_OT_screen_full_area(wmOperatorType *ot)
|
||||
{
|
||||
ot->name = "Toggle Full Area in Screen";
|
||||
ot->idname = "ED_SCR_OT_screen_full_area";
|
||||
|
||||
ot->exec= screen_full_area_exec;
|
||||
ot->poll= ED_operator_screenactive;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ************** join area operator ********************************************** */
|
||||
@@ -1356,6 +1379,7 @@ void ED_operatortypes_screen(void)
|
||||
WM_operatortype_append(ED_SCR_OT_region_split);
|
||||
WM_operatortype_append(ED_SCR_OT_region_flip);
|
||||
WM_operatortype_append(ED_SCR_OT_screen_set);
|
||||
WM_operatortype_append(ED_SCR_OT_screen_full_area);
|
||||
|
||||
/*frame changes*/
|
||||
WM_operatortype_append(ED_SCR_OT_frame_offset);
|
||||
@@ -1378,6 +1402,9 @@ void ED_keymap_screen(wmWindowManager *wm)
|
||||
WM_keymap_verify_item(keymap, "ED_SCR_OT_area_rip", RKEY, KM_PRESS, KM_ALT, 0);
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "ED_SCR_OT_screen_set", RIGHTARROWKEY, KM_PRESS, KM_CTRL, 0)->ptr, "delta", 1);
|
||||
RNA_int_set(WM_keymap_add_item(keymap, "ED_SCR_OT_screen_set", LEFTARROWKEY, KM_PRESS, KM_CTRL, 0)->ptr, "delta", -1);
|
||||
WM_keymap_add_item(keymap, "ED_SCR_OT_screen_full_area", UPARROWKEY, KM_PRESS, KM_CTRL, 0);
|
||||
WM_keymap_add_item(keymap, "ED_SCR_OT_screen_full_area", DOWNARROWKEY, KM_PRESS, KM_CTRL, 0);
|
||||
WM_keymap_add_item(keymap, "ED_SCR_OT_screen_full_area", SPACEKEY, KM_PRESS, KM_CTRL, 0);
|
||||
|
||||
/* tests */
|
||||
RNA_enum_set(WM_keymap_add_item(keymap, "ED_SCR_OT_region_split", SKEY, KM_PRESS, 0, 0)->ptr, "dir", 'h');
|
||||
|
||||
Reference in New Issue
Block a user