Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release/scripts/startup/bl_ui/space_image.py12
-rw-r--r--release/scripts/startup/bl_ui/space_sequencer.py5
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_common.py11
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py12
-rw-r--r--source/blender/blenloader/intern/versioning_300.c25
-rw-r--r--source/blender/editors/screen/area.c4
-rw-r--r--source/blender/editors/space_image/space_image.c14
-rw-r--r--source/blender/editors/space_sequencer/space_sequencer.c14
-rw-r--r--source/blender/editors/space_view3d/space_view3d.c14
9 files changed, 60 insertions, 51 deletions
diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py
index 797d0c62b72..6a769b1aecc 100644
--- a/release/scripts/startup/bl_ui/space_image.py
+++ b/release/scripts/startup/bl_ui/space_image.py
@@ -598,16 +598,10 @@ class IMAGE_HT_tool_header(Header):
def draw(self, context):
layout = self.layout
- layout.template_header()
-
self.draw_tool_settings(context)
layout.separator_spacer()
- IMAGE_HT_header.draw_xform_template(layout, context)
-
- layout.separator_spacer()
-
self.draw_mode_settings(context)
def draw_tool_settings(self, context):
@@ -762,8 +756,7 @@ class IMAGE_HT_header(Header):
show_uvedit = sima.show_uvedit
show_maskedit = sima.show_maskedit
- if not show_region_tool_header:
- layout.template_header()
+ layout.template_header()
if sima.mode != 'UV':
layout.prop(sima, "ui_mode", text="")
@@ -784,8 +777,7 @@ class IMAGE_HT_header(Header):
layout.separator_spacer()
- if not show_region_tool_header:
- IMAGE_HT_header.draw_xform_template(layout, context)
+ IMAGE_HT_header.draw_xform_template(layout, context)
layout.template_ID(sima, "image", new="image.new", open="image.open")
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index 5cfd258b174..3622154a178 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -99,8 +99,6 @@ class SEQUENCER_HT_tool_header(Header):
def draw(self, context):
layout = self.layout
- layout.template_header()
-
self.draw_tool_settings(context)
# TODO: options popover.
@@ -132,8 +130,7 @@ class SEQUENCER_HT_header(Header):
show_region_tool_header = st.show_region_tool_header
- if not show_region_tool_header:
- layout.template_header()
+ layout.template_header()
layout.prop(st, "view_type", text="")
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_common.py b/release/scripts/startup/bl_ui/space_toolsystem_common.py
index 98e29d3baba..4a598d0aa63 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_common.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_common.py
@@ -190,7 +190,7 @@ class ToolActivePanelHelper:
ToolSelectPanelHelper.draw_active_tool_header(
context,
layout.column(),
- show_tool_name=True,
+ show_tool_icon=True,
tool_key=ToolSelectPanelHelper._tool_key_from_context(context, space_type=self.bl_space_type),
)
@@ -766,7 +766,7 @@ class ToolSelectPanelHelper:
def draw_active_tool_header(
context, layout,
*,
- show_tool_name=False,
+ show_tool_icon=False,
tool_key=None,
):
if tool_key is None:
@@ -783,9 +783,12 @@ class ToolSelectPanelHelper:
return None
# Note: we could show 'item.text' here but it makes the layout jitter when switching tools.
# Add some spacing since the icon is currently assuming regular small icon size.
- layout.label(text=" " + item.label if show_tool_name else " ", icon_value=icon_value)
- if show_tool_name:
+ if show_tool_icon:
+ layout.label(text=" " + item.label, icon_value=icon_value)
layout.separator()
+ else:
+ layout.label(text=item.label)
+
draw_settings = item.draw_settings
if draw_settings is not None:
draw_settings(context, layout, tool)
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 5d609c0afdf..281c57b282f 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -46,16 +46,10 @@ class VIEW3D_HT_tool_header(Header):
def draw(self, context):
layout = self.layout
- layout.row(align=True).template_header()
-
self.draw_tool_settings(context)
layout.separator_spacer()
- VIEW3D_HT_header.draw_xform_template(layout, context)
-
- layout.separator_spacer()
-
self.draw_mode_settings(context)
def draw_tool_settings(self, context):
@@ -604,10 +598,8 @@ class VIEW3D_HT_header(Header):
tool_settings = context.tool_settings
view = context.space_data
shading = view.shading
- show_region_tool_header = view.show_region_tool_header
- if not show_region_tool_header:
- layout.row(align=True).template_header()
+ layout.row(align=True).template_header()
row = layout.row(align=True)
obj = context.active_object
@@ -754,7 +746,7 @@ class VIEW3D_HT_header(Header):
)
layout.separator_spacer()
- elif not show_region_tool_header:
+ else:
# Transform settings depending on tool header visibility
VIEW3D_HT_header.draw_xform_template(layout, context)
diff --git a/source/blender/blenloader/intern/versioning_300.c b/source/blender/blenloader/intern/versioning_300.c
index 71c7e7cac6a..1c4a0690886 100644
--- a/source/blender/blenloader/intern/versioning_300.c
+++ b/source/blender/blenloader/intern/versioning_300.c
@@ -1625,5 +1625,30 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
*/
{
/* Keep this block, even when empty. */
+
+ /* Swap header with the tool header so the regular header is always on the edge. */
+ for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) {
+ LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
+ LISTBASE_FOREACH (SpaceLink *, sl, &area->spacedata) {
+ ListBase *regionbase = (sl == area->spacedata.first) ? &area->regionbase :
+ &sl->regionbase;
+ ARegion *region_tool = NULL, *region_head = NULL;
+ int region_tool_index = -1, region_head_index = -1, i;
+ LISTBASE_FOREACH_INDEX (ARegion *, region, regionbase, i) {
+ if (region->regiontype == RGN_TYPE_TOOL_HEADER) {
+ region_tool = region;
+ region_tool_index = i;
+ }
+ else if (region->regiontype == RGN_TYPE_HEADER) {
+ region_head = region;
+ region_head_index = i;
+ }
+ }
+ if ((region_tool && region_head) && (region_head_index > region_tool_index)) {
+ BLI_listbase_swaplinks(regionbase, region_tool, region_head);
+ }
+ }
+ }
+ }
}
}
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index d3cbeb4e1d1..d791c0717be 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -1284,8 +1284,8 @@ bool ED_region_is_overlap(int spacetype, int regiontype)
RGN_TYPE_TOOLS,
RGN_TYPE_UI,
RGN_TYPE_TOOL_PROPS,
- RGN_TYPE_HEADER,
- RGN_TYPE_FOOTER)) {
+ RGN_TYPE_FOOTER,
+ RGN_TYPE_TOOL_HEADER)) {
return true;
}
}
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index 5adcdacd49d..f14a8266cdd 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -128,20 +128,20 @@ static SpaceLink *image_create(const ScrArea *UNUSED(area), const Scene *UNUSED(
simage->custom_grid_subdiv = 10;
- /* tool header */
- region = MEM_callocN(sizeof(ARegion), "tool header for image");
+ /* header */
+ region = MEM_callocN(sizeof(ARegion), "header for image");
BLI_addtail(&simage->regionbase, region);
- region->regiontype = RGN_TYPE_TOOL_HEADER;
+ region->regiontype = RGN_TYPE_HEADER;
region->alignment = (U.uiflag & USER_HEADER_BOTTOM) ? RGN_ALIGN_BOTTOM : RGN_ALIGN_TOP;
- region->flag = RGN_FLAG_HIDDEN | RGN_FLAG_HIDDEN_BY_USER;
- /* header */
- region = MEM_callocN(sizeof(ARegion), "header for image");
+ /* tool header */
+ region = MEM_callocN(sizeof(ARegion), "tool header for image");
BLI_addtail(&simage->regionbase, region);
- region->regiontype = RGN_TYPE_HEADER;
+ region->regiontype = RGN_TYPE_TOOL_HEADER;
region->alignment = (U.uiflag & USER_HEADER_BOTTOM) ? RGN_ALIGN_BOTTOM : RGN_ALIGN_TOP;
+ region->flag = RGN_FLAG_HIDDEN | RGN_FLAG_HIDDEN_BY_USER;
/* buttons/list view */
region = MEM_callocN(sizeof(ARegion), "buttons for image");
diff --git a/source/blender/editors/space_sequencer/space_sequencer.c b/source/blender/editors/space_sequencer/space_sequencer.c
index 99b75f82922..813259159f9 100644
--- a/source/blender/editors/space_sequencer/space_sequencer.c
+++ b/source/blender/editors/space_sequencer/space_sequencer.c
@@ -109,20 +109,20 @@ static SpaceLink *sequencer_create(const ScrArea *UNUSED(area), const Scene *sce
BLI_rctf_init(&sseq->runtime.last_thumbnail_area, 0.0f, 0.0f, 0.0f, 0.0f);
sseq->runtime.last_displayed_thumbnails = NULL;
- /* Tool header. */
- region = MEM_callocN(sizeof(ARegion), "tool header for sequencer");
+ /* Header. */
+ region = MEM_callocN(sizeof(ARegion), "header for sequencer");
BLI_addtail(&sseq->regionbase, region);
- region->regiontype = RGN_TYPE_TOOL_HEADER;
+ region->regiontype = RGN_TYPE_HEADER;
region->alignment = (U.uiflag & USER_HEADER_BOTTOM) ? RGN_ALIGN_BOTTOM : RGN_ALIGN_TOP;
- region->flag = RGN_FLAG_HIDDEN | RGN_FLAG_HIDDEN_BY_USER;
- /* Header. */
- region = MEM_callocN(sizeof(ARegion), "header for sequencer");
+ /* Tool header. */
+ region = MEM_callocN(sizeof(ARegion), "tool header for sequencer");
BLI_addtail(&sseq->regionbase, region);
- region->regiontype = RGN_TYPE_HEADER;
+ region->regiontype = RGN_TYPE_TOOL_HEADER;
region->alignment = (U.uiflag & USER_HEADER_BOTTOM) ? RGN_ALIGN_BOTTOM : RGN_ALIGN_TOP;
+ region->flag = RGN_FLAG_HIDDEN | RGN_FLAG_HIDDEN_BY_USER;
/* Buttons/list view. */
region = MEM_callocN(sizeof(ARegion), "buttons for sequencer");
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index 4bee9633ece..f68a4d78a00 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -276,20 +276,20 @@ static SpaceLink *view3d_create(const ScrArea *UNUSED(area), const Scene *scene)
v3d->camera = scene->camera;
}
- /* tool header */
- region = MEM_callocN(sizeof(ARegion), "tool header for view3d");
+ /* header */
+ region = MEM_callocN(sizeof(ARegion), "header for view3d");
BLI_addtail(&v3d->regionbase, region);
- region->regiontype = RGN_TYPE_TOOL_HEADER;
+ region->regiontype = RGN_TYPE_HEADER;
region->alignment = (U.uiflag & USER_HEADER_BOTTOM) ? RGN_ALIGN_BOTTOM : RGN_ALIGN_TOP;
- region->flag = RGN_FLAG_HIDDEN | RGN_FLAG_HIDDEN_BY_USER;
- /* header */
- region = MEM_callocN(sizeof(ARegion), "header for view3d");
+ /* tool header */
+ region = MEM_callocN(sizeof(ARegion), "tool header for view3d");
BLI_addtail(&v3d->regionbase, region);
- region->regiontype = RGN_TYPE_HEADER;
+ region->regiontype = RGN_TYPE_TOOL_HEADER;
region->alignment = (U.uiflag & USER_HEADER_BOTTOM) ? RGN_ALIGN_BOTTOM : RGN_ALIGN_TOP;
+ region->flag = RGN_FLAG_HIDDEN | RGN_FLAG_HIDDEN_BY_USER;
/* tool shelf */
region = MEM_callocN(sizeof(ARegion), "toolshelf for view3d");