[Bf-blender-cvs] [d245d360746] master: Remove SCREEN_OT_header_flip, use SCREEN_OT_region_flip instead
Julian Eisel
noreply at git.blender.org
Thu Oct 26 22:43:05 CEST 2017
Commit: d245d360746b99abc4bc1c64907d6bd160be120e
Author: Julian Eisel
Date: Thu Oct 26 22:40:24 2017 +0200
Branches: master
https://developer.blender.org/rBd245d360746b99abc4bc1c64907d6bd160be120e
Remove SCREEN_OT_header_flip, use SCREEN_OT_region_flip instead
Basically reverts rB65c4149f203610 and fixes the issue in a better way.
Keymaps using the removed operator will be affected. Switching header
from top to bottom now has the shortcut F5, just like switching other
regions.
===================================================================
M source/blender/editors/screen/screen_ops.c
===================================================================
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index f6b8e5ba8cf..b48f5dc1432 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -3212,6 +3212,7 @@ static void SCREEN_OT_region_flip(wmOperatorType *ot)
}
/* ************** header operator ***************************** */
+
static int header_exec(bContext *C, wmOperator *UNUSED(op))
{
ARegion *ar = screen_find_region_type(C, RGN_TYPE_HEADER);
@@ -3240,50 +3241,6 @@ static void SCREEN_OT_header(wmOperatorType *ot)
ot->exec = header_exec;
}
-/* ************** header flip operator ***************************** */
-
-/* flip a header region alignment */
-static int header_flip_exec(bContext *C, wmOperator *UNUSED(op))
-{
- ARegion *ar = screen_find_region_type(C, RGN_TYPE_HEADER);
-
- if (ar == NULL) {
- return OPERATOR_CANCELLED;
- }
-
- /* copied from SCREEN_OT_region_flip */
- if (ar->alignment == RGN_ALIGN_TOP)
- ar->alignment = RGN_ALIGN_BOTTOM;
- else if (ar->alignment == RGN_ALIGN_BOTTOM)
- ar->alignment = RGN_ALIGN_TOP;
- else if (ar->alignment == RGN_ALIGN_LEFT)
- ar->alignment = RGN_ALIGN_RIGHT;
- else if (ar->alignment == RGN_ALIGN_RIGHT)
- ar->alignment = RGN_ALIGN_LEFT;
-
- ED_area_tag_redraw(CTX_wm_area(C));
-
- WM_event_add_notifier(C, NC_SCREEN | NA_EDITED, NULL);
-
- return OPERATOR_FINISHED;
-}
-
-
-static void SCREEN_OT_header_flip(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name = "Flip Header Region";
- ot->idname = "SCREEN_OT_header_flip";
- ot->description = "Toggle the header over/below the main window area";
-
- /* api callbacks */
- ot->exec = header_flip_exec;
-
- ot->poll = ED_operator_areaactive;
- ot->flag = 0;
-}
-
-
/* ************** show menus operator ***************************** */
@@ -3316,17 +3273,17 @@ static void SCREEN_OT_header_toggle_menus(wmOperatorType *ot)
/* ************** header tools operator ***************************** */
+
void ED_screens_header_tools_menu_create(bContext *C, uiLayout *layout, void *UNUSED(arg))
{
ScrArea *sa = CTX_wm_area(C);
ARegion *ar = CTX_wm_region(C);
+ const char *but_flip_str = (ar->alignment == RGN_ALIGN_TOP) ? IFACE_("Flip to Bottom") : IFACE_("Flip to Top");
- /* XXX SCREEN_OT_region_flip doesn't work - gets wrong context for active region, so added custom operator. */
- if (ar->alignment == RGN_ALIGN_TOP)
- uiItemO(layout, IFACE_("Flip to Bottom"), ICON_NONE, "SCREEN_OT_header_flip");
- else
- uiItemO(layout, IFACE_("Flip to Top"), ICON_NONE, "SCREEN_OT_header_flip");
+ /* default is WM_OP_INVOKE_REGION_WIN, which we don't want here. */
+ uiLayoutSetOperatorContext(layout, WM_OP_INVOKE_DEFAULT);
+ uiItemO(layout, but_flip_str, ICON_NONE, "SCREEN_OT_region_flip");
uiItemO(layout, IFACE_("Collapse Menus"),
(sa->flag & HEADER_NO_PULLDOWN) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT,
"SCREEN_OT_header_toggle_menus");
@@ -4296,7 +4253,6 @@ void ED_operatortypes_screen(void)
WM_operatortype_append(SCREEN_OT_region_quadview);
WM_operatortype_append(SCREEN_OT_region_scale);
WM_operatortype_append(SCREEN_OT_region_flip);
- WM_operatortype_append(SCREEN_OT_header_flip);
WM_operatortype_append(SCREEN_OT_header);
WM_operatortype_append(SCREEN_OT_header_toggle_menus);
WM_operatortype_append(SCREEN_OT_header_toolbox);
More information about the Bf-blender-cvs
mailing list