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:
authorHoward Trickey <howard.trickey@gmail.com>2021-10-30 22:37:05 +0300
committerHoward Trickey <howard.trickey@gmail.com>2021-10-30 22:37:05 +0300
commite9bbfd0c8c7a508d220bf355722ff03f91e93183 (patch)
tree1230f26bc82f24547aeccbaa7fcd6d3db2655fd3 /release
parent1aa953bd1913c81b22c80a00edbf4ad88a32c52f (diff)
parent03a962d8cab44221650f59eb223cb0a767e05b2b (diff)
Merge branch 'master' into soc-2020-io-performancesoc-2020-io-performance
Diffstat (limited to 'release')
m---------release/datafiles/locale0
-rw-r--r--release/datafiles/userdef/userdef_default_theme.c854
m---------release/scripts/addons0
m---------release/scripts/addons_contrib0
-rw-r--r--release/scripts/modules/rna_prop_ui.py90
-rw-r--r--release/scripts/presets/interface_theme/Blender_Light.xml42
-rw-r--r--release/scripts/presets/keyconfig/Blender.py16
-rw-r--r--release/scripts/presets/keyconfig/keymap_data/blender_default.py530
-rw-r--r--release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py12
-rw-r--r--release/scripts/startup/bl_operators/spreadsheet.py13
-rw-r--r--release/scripts/startup/bl_operators/userpref.py8
-rw-r--r--release/scripts/startup/bl_operators/wm.py85
-rw-r--r--release/scripts/startup/bl_ui/properties_grease_pencil_common.py2
-rw-r--r--release/scripts/startup/bl_ui/space_filebrowser.py7
-rw-r--r--release/scripts/startup/bl_ui/space_sequencer.py264
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_toolbar.py2
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py12
-rw-r--r--release/scripts/startup/nodeitems_builtins.py65
18 files changed, 1104 insertions, 898 deletions
diff --git a/release/datafiles/locale b/release/datafiles/locale
-Subproject 80d9e7ee122c626cbbcd1da554683bce79f8d3d
+Subproject 8ee2942570f08d10484bb2328d0d1b0aaaa0367
diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c
index ad93f87e962..f33ecea0eed 100644
--- a/release/datafiles/userdef/userdef_default_theme.c
+++ b/release/datafiles/userdef/userdef_default_theme.c
@@ -22,181 +22,163 @@ const bTheme U_theme_default = {
.name = "Default",
.tui = {
.wcol_regular = {
- .outline = RGBA(0x373737ff),
- .inner = RGBA(0x585858ff),
- .inner_sel = RGBA(0x5680c2e6),
- .item = RGBA(0x3e3e3eff),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x545454ff),
+ .inner_sel = RGBA(0x4772b3ff),
+ .item = RGBA(0xffffff80),
.text = RGBA(0xd9d9d9ff),
.text_sel = RGBA(0xffffffff),
- .shadedown = -5,
.roundness = 0.2f,
},
.wcol_tool = {
- .outline = RGBA(0x373737ff),
- .inner = RGBA(0x585858ff),
- .inner_sel = RGBA(0x5680c2ff),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x545454ff),
+ .inner_sel = RGBA(0x4772b3ff),
.item = RGBA(0xffffffff),
.text = RGBA(0xe6e6e6ff),
.text_sel = RGBA(0xffffffff),
- .shadedown = -5,
.roundness = 0.2f,
},
.wcol_toolbar_item = {
- .outline = RGBA(0x373737ff),
- .inner = RGBA(0x313131ff),
- .inner_sel = RGBA(0x5680c2ff),
- .item = RGBA(0xe6e6e6cc),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x282828ff),
+ .inner_sel = RGBA(0x4772b3ff),
+ .item = RGBA(0xffffff80),
.text = RGBA(0xe6e6e6ff),
.text_sel = RGBA(0xffffffff),
.roundness = 0.2f,
},
.wcol_text = {
- .outline = RGBA(0x444444ff),
- .inner = RGBA(0x1f1f1fff),
- .inner_sel = RGBA(0x505050ff),
- .item = RGBA(0x191919ff),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x1d1d1dff),
+ .inner_sel = RGBA(0x181818ff),
+ .item = RGBA(0x4772b3ff),
.text = RGBA(0xe6e6e6ff),
.text_sel = RGBA(0xffffffff),
- .shaded = 1,
- .shadetop = -3,
.roundness = 0.2f,
},
.wcol_radio = {
- .outline = RGBA(0x373737ff),
- .inner = RGBA(0x595959ff),
- .inner_sel = RGBA(0x5680c2e6),
- .item = RGBA(0xffffffff),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x282828ff),
+ .inner_sel = RGBA(0x4772b3ff),
+ .item = RGBA(0x252525ff),
.text = RGBA(0xe6e6e6ff),
.text_sel = RGBA(0xffffffff),
- .shadetop = 5,
- .shadedown = -5,
.roundness = 0.2f,
},
.wcol_option = {
- .outline = RGBA(0x373737ff),
- .inner = RGBA(0x666666ff),
- .inner_sel = RGBA(0x5680c2e6),
- .item = RGBA(0xffffffff),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x282828ff),
+ .inner_sel = RGBA(0x71aaffff),
+ .item = RGBA(0x111111ff),
.text = RGBA(0xe6e6e6ff),
.text_sel = RGBA(0xffffffff),
- .shadedown = -15,
.roundness = 0.2f,
},
.wcol_toggle = {
- .outline = RGBA(0x373737ff),
- .inner = RGBA(0x595959ff),
- .inner_sel = RGBA(0x5680c2e6),
- .item = RGBA(0x191919ff),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x282828ff),
+ .inner_sel = RGBA(0x4772b3ff),
+ .item = RGBA(0x252525ff),
.text = RGBA(0xe6e6e6ff),
.text_sel = RGBA(0xffffffff),
.roundness = 0.2f,
},
.wcol_num = {
- .outline = RGBA(0x444444ff),
- .inner = RGBA(0x595959ff),
- .inner_sel = RGBA(0x505050ff),
- .item = RGBA(0x191919ff),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x545454ff),
+ .inner_sel = RGBA(0x222222ff),
+ .item = RGBA(0x4772b3ff),
.text = RGBA(0xe6e6e6ff),
.text_sel = RGBA(0xffffffff),
.roundness = 0.2f,
},
.wcol_numslider = {
- .outline = RGBA(0x444444ff),
- .inner = RGBA(0x595959ff),
- .inner_sel = RGBA(0x505050ff),
- .item = RGBA(0x5680c2e6),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x545454ff),
+ .inner_sel = RGBA(0x222222ff),
+ .item = RGBA(0x4772b3ff),
.text = RGBA(0xe6e6e6ff),
.text_sel = RGBA(0xffffffff),
- .shaded = 1,
- .shadetop = -4,
.roundness = 0.2f,
},
.wcol_tab = {
- .outline = RGBA(0x202020ff),
- .inner = RGBA(0x2b2b2bff),
- .inner_sel = RGBA(0x424242ff),
- .item = RGBA(0x2d2d2dff),
+ .outline = RGBA(0x1d1d1dff),
+ .inner = RGBA(0x1d1d1dff),
+ .inner_sel = RGBA(0x303030ff),
+ .item = RGBA(0x1d1d1dff),
.text = RGBA(0x989898ff),
.text_sel = RGBA(0xffffffff),
.roundness = 0.2f,
},
.wcol_menu = {
- .outline = RGBA(0x444444ff),
- .inner = RGBA(0x2c2c2cff),
- .inner_sel = RGBA(0x696e76ff),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x282828ff),
+ .inner_sel = RGBA(0x4772b3b3),
.item = RGBA(0xd9d9d9ff),
- .text = RGBA(0xd9d9d9ff),
+ .text = RGBA(0xe6e6e6ff),
.text_sel = RGBA(0xffffffff),
- .shadetop = 10,
- .shadedown = -10,
.roundness = 0.2f,
},
.wcol_pulldown = {
- .outline = RGBA(0x4d4d4dff),
- .inner = RGBA(0x2e2e2ecc),
- .inner_sel = RGBA(0x5680c2e6),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x22222266),
+ .inner_sel = RGBA(0x4772b3b3),
.item = RGBA(0x727272ff),
.text = RGBA(0xd9d9d9ff),
.text_sel = RGBA(0xffffffff),
- .shadetop = 25,
- .shadedown = -20,
.roundness = 0.2f,
},
.wcol_menu_back = {
- .outline = RGBA(0x19191aff),
- .inner = RGBA(0x1f1f1fef),
- .inner_sel = RGBA(0x585858ff),
- .item = RGBA(0x727272ff),
- .text = RGBA(0xa5a5a5ff),
+ .outline = RGBA(0x242424ff),
+ .inner = RGBA(0x181818ff),
+ .inner_sel = RGBA(0x4772b3ff),
+ .item = RGBA(0xd9d9d9ff),
+ .text = RGBA(0x999999ff),
.text_sel = RGBA(0xffffffff),
- .shadetop = 25,
- .shadedown = -20,
.roundness = 0.2f,
},
.wcol_menu_item = {
- .inner_sel = RGBA(0x5680c2e6),
+ .outline = RGBA(0x3d3d3d00),
+ .inner = RGBA(0x18181800),
+ .inner_sel = RGBA(0x4772b3ff),
.item = RGBA(0xffffff8f),
- .text = RGBA(0xe6e6e6ff),
+ .text = RGBA(0xddddddff),
.text_sel = RGBA(0xffffffff),
- .shadetop = 38,
.roundness = 0.2f,
},
.wcol_tooltip = {
.outline = RGBA(0x19191aff),
- .inner = RGBA(0x19191aef),
- .inner_sel = RGBA(0x19191aef),
- .item = RGBA(0x19191aef),
- .text = RGBA(0xe6e6e6ff),
+ .inner = RGBA(0x181818ff),
+ .inner_sel = RGBA(0x181818ff),
+ .item = RGBA(0x181818ff),
+ .text = RGBA(0xccccccff),
.text_sel = RGBA(0xffffffff),
- .shadetop = 25,
- .shadedown = -20,
.roundness = 0.2f,
},
.wcol_box = {
- .outline = RGBA(0x444444ff),
- .inner = RGBA(0x00000033),
- .inner_sel = RGBA(0x696e76ff),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x1d1d1d80),
+ .inner_sel = RGBA(0x545454ff),
.item = RGBA(0x191919ff),
.text = RGBA(0xe6e6e6ff),
.text_sel = RGBA(0xffffffff),
.roundness = 0.2f,
},
.wcol_scroll = {
- .outline = RGBA(0x424242ff),
- .inner = RGBA(0x67676700),
- .inner_sel = RGBA(0xb3b3b3ff),
- .item = RGBA(0x676767ff),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x22222200),
+ .inner_sel = RGBA(0xffffffff),
+ .item = RGBA(0x545454ff),
.text = RGBA(0xe6e6e6ff),
.text_sel = RGBA(0xffffffff),
- .shadetop = 5,
- .shadedown = -5,
.roundness = 0.5f,
},
.wcol_progress = {
- .outline = RGBA(0x585858ff),
- .inner = RGBA(0x2c2c2cff),
- .inner_sel = RGBA(0x5680c2ff),
- .item = RGBA(0x5680c2ff),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x222222ff),
+ .inner_sel = RGBA(0x4772b3ff),
+ .item = RGBA(0x4772b3ff),
.text = RGBA(0xe6e6e6ff),
.text_sel = RGBA(0xffffffff),
.roundness = 0.2f,
@@ -204,21 +186,19 @@ const bTheme U_theme_default = {
.wcol_list_item = {
.outline = RGBA(0x2d2d2dff),
.inner = RGBA(0x2d2d2d00),
- .inner_sel = RGBA(0x696e76ff),
+ .inner_sel = RGBA(0x484a4fff),
.item = RGBA(0xb3b3b3ff),
- .text = RGBA(0xe6e6e6ff),
+ .text = RGBA(0xccccccff),
.text_sel = RGBA(0xffffffff),
.roundness = 0.2f,
},
.wcol_pie_menu = {
- .outline = RGBA(0x333333ff),
- .inner = RGBA(0x212121ef),
- .inner_sel = RGBA(0x5680c2e6),
- .item = RGBA(0x585858ff),
+ .outline = RGBA(0x3d3d3dff),
+ .inner = RGBA(0x181818ff),
+ .inner_sel = RGBA(0x5680c2ff),
+ .item = RGBA(0x4772b3ff),
.text = RGBA(0xd9d9d9ff),
.text_sel = RGBA(0xffffffff),
- .shadetop = 10,
- .shadedown = -10,
.roundness = 0.2f,
},
.wcol_state = {
@@ -235,15 +215,15 @@ const bTheme U_theme_default = {
.blend = 0.5f,
},
.widget_emboss = RGBA(0x00000026),
- .menu_shadow_fac = 0.3f,
- .menu_shadow_width = 4,
- .editor_outline = RGBA(0x1f1f1fff),
+ .menu_shadow_fac = 0.4f,
+ .menu_shadow_width = 2,
+ .editor_outline = RGBA(0x161616ff),
.transparent_checker_primary = RGBA(0x333333ff),
.transparent_checker_secondary = RGBA(0x262626ff),
.transparent_checker_size = 8,
.icon_alpha = 1.0f,
.icon_saturation = 0.5f,
- .widget_text_cursor = RGBA(0x3399e6ff),
+ .widget_text_cursor = RGBA(0x71a8ffff),
.xaxis = RGBA(0xff3352ff),
.yaxis = RGBA(0x8bdc00ff),
.zaxis = RGBA(0x2890ffff),
@@ -253,65 +233,70 @@ const bTheme U_theme_default = {
.gizmo_view_align = RGBA(0xffffffff),
.gizmo_a = RGBA(0x4da84dff),
.gizmo_b = RGBA(0xa33535ff),
- .icon_scene = RGBA(0xe6e6e6ff),
- .icon_collection = RGBA(0xf4f4f4ff),
- .icon_object = RGBA(0xee9e5dff),
+ .icon_scene = RGBA(0xccccccff),
+ .icon_collection = RGBA(0xffffffff),
+ .icon_object = RGBA(0xe19658ff),
.icon_object_data = RGBA(0x00d4a3ff),
- .icon_modifier = RGBA(0x84b8ffff),
- .icon_shading = RGBA(0xea7581ff),
- .icon_folder = RGBA(0xe3c16eff),
+ .icon_modifier = RGBA(0x74a2ffff),
+ .icon_shading = RGBA(0xcc6670ff),
+ .icon_folder = RGBA(0xccad63ff),
.panel_roundness = 0.4f,
},
.space_properties = {
- .back = RGBA(0x42424200),
- .title = RGBA(0xd4d4d4ff),
+ .back = RGBA(0x30303000),
+ .title = RGBA(0xe6e6e6ff),
.text = RGBA(0xe6e6e6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x424242ff),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x424242ff),
- .button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
+ .button_title = RGBA(0xccccccff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
- .navigation_bar = RGBA(0x232323ff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x1d1d1dff),
.panelcolors = {
- .header = RGBA(0x424242ff),
- .back = RGBA(0x383838ff),
- .sub_back = RGBA(0x00000024),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
+ .active = RGBA(0x4772b3ff),
.vertex_size = 3,
.outline_width = 1,
.facedot_size = 4,
- .match = RGBA(0x5680c2ff),
- .active = RGBA(0x5680c2ff),
+ .match = RGBA(0x4772b3ff),
},
.space_view3d = {
- .back = RGBA(0x393939ff),
+ .back = RGBA(0x3d3d3dff),
+ .back_grad = RGBA(0x30303000),
+ .background_type = 2,
.title = RGBA(0xeeeeeeff),
.text = RGBA(0xe6e6e6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x42424200),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x35353500),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242e6),
- .back = RGBA(0x333333f0),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
- .grid = RGBA(0x6666664d),
+ .grid = RGBA(0x54545480),
.wire = RGBA(0x000000ff),
.wire_edit = RGBA(0x000000ff),
.select = RGBA(0xed5700ff),
@@ -347,7 +332,7 @@ const bTheme U_theme_default = {
.bone_pose = RGBA(0x50c8ff50),
.bone_pose_active = RGBA(0x8cffff50),
.bone_locked_weight = RGBA(0xff000080),
- .cframe = RGBA(0x60c040ff),
+ .cframe = RGBA(0x4772b3ff),
.time_keyframe = RGBA(0xddd700ff),
.time_gp_keyframe = RGBA(0xb5e61dff),
.freestyle_edge_mark = RGBA(0x7fff7fff),
@@ -371,7 +356,7 @@ const bTheme U_theme_default = {
.obcenter_dia = 6,
.facedot_size = 3,
.editmesh_active = RGBA(0xffffff33),
- .clipping_border_3d = RGBA(0x313131ff),
+ .clipping_border_3d = RGBA(0x3f3f3fff),
.bundle_solid = RGBA(0xc8c8c8ff),
.camera_path = RGBA(0x000000ff),
.gp_vertex_size = 3,
@@ -386,66 +371,69 @@ const bTheme U_theme_default = {
.title = RGBA(0xffffffff),
.text = RGBA(0xe6e6e6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x2e2e2eff),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x4b4b4bff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
- .execution_buts = RGBA(0x444444ff),
+ .navigation_bar = RGBA(0x303030ff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x4b4b4bff),
- .back = RGBA(0x404040ff),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
- .hilite = RGBA(0x4f76b3ff),
+ .hilite = RGBA(0x4772b3ff),
.vertex_size = 3,
.outline_width = 1,
.facedot_size = 4,
- .row_alternate = RGBA(0xffffff07),
+ .row_alternate = RGBA(0xffffff04),
},
.space_graph = {
- .back = RGBA(0x42424200),
+ .back = RGBA(0x30303000),
.title = RGBA(0xffffffff),
.text = RGBA(0xa6a6a6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x2e2e2eff),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x424242ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
- .list = RGBA(0x282828ff),
+ .list = RGBA(0x1d1d1dff),
.list_title = RGBA(0xffffffff),
.list_text = RGBA(0xb8b8b8ff),
- .list_text_hi = RGBA(0xffaf29ff),
+ .list_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
.shade1 = RGBA(0x96969600),
- .shade2 = RGBA(0x33333364),
- .grid = RGBA(0x2a2a2aff),
- .group = RGBA(0x16330fff),
- .group_active = RGBA(0x368024ff),
+ .shade2 = RGBA(0x12121264),
+ .grid = RGBA(0x1a1a1aff),
+ .group = RGBA(0x1a332dff),
+ .group_active = RGBA(0x216d5bff),
.vertex = RGBA(0x000000ff),
.vertex_select = RGBA(0xff8500ff),
.vertex_active = RGBA(0xffffffff),
- .cframe = RGBA(0x5680c2ff),
- .time_scrub_background = RGBA(0x292929e6),
- .time_marker_line = RGBA(0x00000060),
- .time_marker_line_selected = RGBA(0xffffff60),
+ .cframe = RGBA(0x4772b3ff),
+ .time_scrub_background = RGBA(0x161616ff),
+ .time_marker_line = RGBA(0xffffff4d),
+ .time_marker_line_selected = RGBA(0xffffffb3),
.lastsel_point = RGBA(0xffffffff),
.handle_auto = RGBA(0x909000ff),
.handle_vect = RGBA(0x409030ff),
@@ -455,8 +443,8 @@ const bTheme U_theme_default = {
.handle_sel_vect = RGBA(0x40c030ff),
.handle_sel_align = RGBA(0xf090a0ff),
.handle_sel_auto_clamped = RGBA(0xf0af90ff),
- .ds_channel = RGBA(0x0f2c4dff),
- .ds_subchannel = RGBA(0x143e66ff),
+ .ds_channel = RGBA(0x194e80ff),
+ .ds_subchannel = RGBA(0x0f2c4dff),
.vertex_size = 6,
.outline_width = 1,
.facedot_size = 4,
@@ -465,25 +453,27 @@ const bTheme U_theme_default = {
.anim_preview_range = RGBA(0xa14d0066),
},
.space_info = {
- .back = RGBA(0x28282800),
+ .back = RGBA(0x1d1d1d00),
.title = RGBA(0xffffffff),
.text = RGBA(0xc3c3c3ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x454545ff),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x424242ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
.vertex_size = 3,
.outline_width = 1,
@@ -498,56 +488,58 @@ const bTheme U_theme_default = {
.info_info_text = RGBA(0xffffffff),
.info_debug = RGBA(0x6b3293ff),
.info_debug_text = RGBA(0xffffffff),
- .info_property = RGBA(0x329364ff),
+ .info_property = RGBA(0x236666ff),
.info_property_text = RGBA(0xffffffff),
- .info_operator = RGBA(0x329364ff),
+ .info_operator = RGBA(0x235266ff),
.info_operator_text = RGBA(0xffffffff),
},
.space_action = {
- .back = RGBA(0x42424200),
+ .back = RGBA(0x30303000),
.title = RGBA(0xeeeeeeff),
.text = RGBA(0xa6a6a6ff),
- .text_hi = RGBA(0xffffffff),
- .header = RGBA(0x424242ff),
+ .text_hi = RGBA(0x143e66ff),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x282828ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x22222200),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
- .list = RGBA(0x282828ff),
+ .list = RGBA(0x1d1d1dff),
.list_title = RGBA(0xffffffff),
.list_text = RGBA(0xb8b8b8ff),
- .list_text_hi = RGBA(0xffaf29ff),
+ .list_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
.shade1 = RGBA(0xc0c0c000),
- .shade2 = RGBA(0x333333ff),
+ .shade2 = RGBA(0x1d1d1d99),
.hilite = RGBA(0x60c04044),
- .grid = RGBA(0x2a2a2aff),
- .group = RGBA(0x16330f37),
- .group_active = RGBA(0x36802455),
- .strip = RGBA(0x1a151580),
- .strip_select = RGBA(0xff8c00cc),
- .cframe = RGBA(0x5680c2ff),
- .time_scrub_background = RGBA(0x292929e6),
- .time_marker_line = RGBA(0x00000060),
- .time_marker_line_selected = RGBA(0xffffff60),
- .ds_channel = RGBA(0x0f2c4d24),
- .ds_subchannel = RGBA(0x143e6624),
+ .grid = RGBA(0x161616ff),
+ .group = RGBA(0x1a332d37),
+ .group_active = RGBA(0x216d5b67),
+ .strip = RGBA(0xffffff1f),
+ .strip_select = RGBA(0xff8c0099),
+ .cframe = RGBA(0x4772b3ff),
+ .time_scrub_background = RGBA(0x1d1d1dff),
+ .time_marker_line = RGBA(0xffffff4d),
+ .time_marker_line_selected = RGBA(0xffffffb3),
+ .ds_channel = RGBA(0x194e8080),
+ .ds_subchannel = RGBA(0x0f2c4d80),
.ds_ipoline = RGBA(0x94e575cc),
- .keytype_keyframe = RGBA(0xe8e8e8ff),
+ .keytype_keyframe = RGBA(0xbfbfbfff),
.keytype_extreme = RGBA(0xe8b3ccff),
.keytype_breakdown = RGBA(0xb3dbe8ff),
.keytype_jitter = RGBA(0x94e575ff),
- .keytype_movehold = RGBA(0x5c5656ff),
+ .keytype_movehold = RGBA(0x808080ff),
.keytype_keyframe_select = RGBA(0xffbe33ff),
.keytype_extreme_select = RGBA(0xf28080ff),
.keytype_breakdown_select = RGBA(0x54bfedff),
@@ -560,43 +552,45 @@ const bTheme U_theme_default = {
.facedot_size = 4,
.keyframe_scale_fac = 1.0f,
.handle_vertex_size = 4,
- .anim_active = RGBA(0x4d250066),
+ .anim_active = RGBA(0x4d272766),
.anim_preview_range = RGBA(0xa14d0066),
},
.space_nla = {
- .back = RGBA(0x42424200),
+ .back = RGBA(0x30303000),
.title = RGBA(0xffffffff),
.text = RGBA(0xa6a6a6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x424242ff),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x424242ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
- .list = RGBA(0x282828ff),
+ .list = RGBA(0x1d1d1dff),
.list_title = RGBA(0xffffffff),
- .list_text = RGBA(0xb8b8b8ff),
- .list_text_hi = RGBA(0xffaf29ff),
+ .list_text = RGBA(0xe5e5e5ff),
+ .list_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
.shade1 = RGBA(0x96969600),
.grid = RGBA(0x2a2a2aff),
- .strip = RGBA(0x0c0a0a80),
+ .strip = RGBA(0x0d0d0d80),
.strip_select = RGBA(0xff8c00ff),
- .cframe = RGBA(0x5680c2ff),
- .time_scrub_background = RGBA(0x292929e6),
- .time_marker_line = RGBA(0x00000060),
- .time_marker_line_selected = RGBA(0xffffff60),
- .ds_channel = RGBA(0x5a85b2ff),
+ .cframe = RGBA(0x4772b3ff),
+ .time_scrub_background = RGBA(0x161616ff),
+ .time_marker_line = RGBA(0xffffff4d),
+ .time_marker_line_selected = RGBA(0xffffffb3),
+ .ds_channel = RGBA(0x0f2c4dff),
.ds_subchannel = RGBA(0x7d98b3ff),
.keyborder = RGBA(0x000000ff),
.keyborder_select = RGBA(0x000000ff),
@@ -604,12 +598,12 @@ const bTheme U_theme_default = {
.outline_width = 1,
.facedot_size = 4,
.handle_vertex_size = 4,
- .anim_active = RGBA(0xcc701a66),
- .anim_non_active = RGBA(0x9987614d),
+ .anim_active = RGBA(0x99541366),
+ .anim_non_active = RGBA(0x4d3b174d),
.anim_preview_range = RGBA(0xa14d0066),
.nla_tweaking = RGBA(0x4df31a4d),
.nla_tweakdupli = RGBA(0xd90000ff),
- .nla_track = RGBA(0x424242ff),
+ .nla_track = RGBA(0x303030ff),
.nla_transition = RGBA(0x1c2630ff),
.nla_transition_sel = RGBA(0x2e75dbff),
.nla_meta = RGBA(0x332642ff),
@@ -618,34 +612,36 @@ const bTheme U_theme_default = {
.nla_sound_sel = RGBA(0x1f7a7aff),
},
.space_sequencer = {
- .back = RGBA(0x42424200),
+ .back = RGBA(0x30303000),
.title = RGBA(0xeeeeeeff),
.text = RGBA(0xa6a6a6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x424242ff),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x424242ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
.shade1 = RGBA(0xa0a0a000),
- .grid = RGBA(0x212121ff),
+ .grid = RGBA(0x181818ff),
.vertex_select = RGBA(0xff8500ff),
.bone_pose = RGBA(0x50c8ff50),
- .cframe = RGBA(0x5680c2ff),
- .time_scrub_background = RGBA(0x292929e6),
- .time_marker_line = RGBA(0x00000060),
- .time_marker_line_selected = RGBA(0xffffff60),
+ .cframe = RGBA(0x4772b3ff),
+ .time_scrub_background = RGBA(0x121212ff),
+ .time_marker_line = RGBA(0xffffff4d),
+ .time_marker_line_selected = RGBA(0xffffffb3),
.vertex_size = 3,
.outline_width = 1,
.facedot_size = 4,
@@ -653,8 +649,8 @@ const bTheme U_theme_default = {
.movieclip = RGBA(0x8f4c4cff),
.mask = RGBA(0x666666ff),
.image = RGBA(0x8f744bff),
- .scene = RGBA(0x828f50ff),
- .audio = RGBA(0x4c8f8fff),
+ .scene = RGBA(0x808033ff),
+ .audio = RGBA(0x448080ff),
.effect = RGBA(0x514a73ff),
.transition = RGBA(0x8f4571ff),
.meta = RGBA(0x5b4d91ff),
@@ -664,39 +660,41 @@ const bTheme U_theme_default = {
.selected_strip = RGBA(0xff8f0dff),
.gp_vertex_size = 3,
.gp_vertex_select = RGBA(0xff8500ff),
+ .row_alternate = RGBA(0xffffff05),
.anim_preview_range = RGBA(0xa14d0066),
.metadatatext = RGBA(0xffffffff),
- .row_alternate = RGBA(0xffffff0d),
},
.space_image = {
- .back = RGBA(0x44444400),
+ .back = RGBA(0x30303000),
.title = RGBA(0xeeeeeeff),
.text = RGBA(0xe6e6e6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x424242ff),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x35353500),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
- .grid = RGBA(0x505050ff),
+ .grid = RGBA(0x303030ff),
.wire_edit = RGBA(0xc0c0c0ff),
.vertex_select = RGBA(0xff8500ff),
.edge_select = RGBA(0xff8500ff),
.face = RGBA(0xffffff0a),
.face_select = RGBA(0xff85003c),
.face_dot = RGBA(0xff8500ff),
- .cframe = RGBA(0x60c040ff),
+ .cframe = RGBA(0x4772b3ff),
.freestyle_face_mark = RGBA(0x7fff7f33),
.handle_auto = RGBA(0x909000ff),
.handle_align = RGBA(0x803060ff),
@@ -723,182 +721,190 @@ const bTheme U_theme_default = {
.metadatatext = RGBA(0xffffffff),
},
.space_text = {
- .back = RGBA(0x30303000),
+ .back = RGBA(0x23232300),
.title = RGBA(0xeeeeeeff),
.text = RGBA(0xe6e6e6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x42424200),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x424242ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x42424200),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
- .shade2 = RGBA(0x5680c2e6),
+ .shade2 = RGBA(0x2d4366e6),
.hilite = RGBA(0xff0000ff),
- .grid = RGBA(0x202020ff),
+ .grid = RGBA(0x1d1d1dff),
.vertex_size = 3,
.outline_width = 1,
.facedot_size = 4,
- .syntaxl = RGBA(0xf6e162ff),
+ .syntaxl = RGBA(0xe6d573ff),
.syntaxs = RGBA(0xff734dff),
- .syntaxb = RGBA(0xff1961ff),
- .syntaxn = RGBA(0x50dbffff),
- .syntaxv = RGBA(0x95d600ff),
+ .syntaxb = RGBA(0xe62e67ff),
+ .syntaxn = RGBA(0x48c5e6ff),
+ .syntaxv = RGBA(0x689d06ff),
.syntaxc = RGBA(0x939393ff),
- .syntaxd = RGBA(0xad80ffff),
+ .syntaxd = RGBA(0x9c73e6ff),
.syntaxr = RGBA(0xc4753bff),
- .line_numbers = RGBA(0xd0d0d0ff),
+ .line_numbers = RGBA(0x777777ff),
},
.space_outliner = {
.back = RGBA(0x28282800),
.title = RGBA(0xffffffff),
.text = RGBA(0xc3c3c3ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x454545ff),
+ .header = RGBA(0x282828b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x424242ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
- .active = RGBA(0x3b5689ff),
+ .active = RGBA(0x334d80ff),
.vertex_size = 3,
.outline_width = 1,
.facedot_size = 4,
.match = RGBA(0x337f334c),
- .selected_highlight = RGBA(0x223a5bff),
+ .selected_highlight = RGBA(0x1d314dff),
.selected_object = RGBA(0xe96a00ff),
.active_object = RGBA(0xffaf29ff),
.edited_object = RGBA(0x00806266),
- .row_alternate = RGBA(0xffffff07),
+ .row_alternate = RGBA(0xffffff04),
},
.space_node = {
- .back = RGBA(0x23232300),
+ .back = RGBA(0x1d1d1d00),
.title = RGBA(0xeeeeeeff),
.text = RGBA(0xe6e6e6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x424242ff),
+ .header = RGBA(0x1d1d1db3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x42424200),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
- .list = RGBA(0x282828ff),
+ .list = RGBA(0x303030ff),
.list_title = RGBA(0xffffffff),
.list_text = RGBA(0xccccccff),
.list_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
- .shade2 = RGBA(0x7f707064),
- .grid = RGBA(0x23232300),
- .wire = RGBA(0x232323ff),
+ .shade2 = RGBA(0x7f7f7f64),
+ .grid = RGBA(0x28282800),
+ .wire = RGBA(0x1a1a1aff),
.select = RGBA(0xed5700ff),
.active = RGBA(0xffffffff),
- .edge_select = RGBA(0xffffffff),
- .console_output = RGBA(0x1a1a1aff),
+ .edge_select = RGBA(0xffffffb3),
+ .console_output = RGBA(0x000000ff),
.vertex_size = 3,
.outline_width = 1,
.facedot_size = 4,
.noodle_curving = 4,
- .grid_levels = 2,
+ .grid_levels = 7,
.dash_alpha = 0.5f,
- .syntaxl = RGBA(0x565656ff),
- .syntaxs = RGBA(0x975b5bff),
- .syntaxb = RGBA(0xccb83dff),
- .syntaxn = RGBA(0xe64555ff),
- .syntaxv = RGBA(0x66c4ffff),
- .syntaxc = RGBA(0x426628b9),
- .syntaxd = RGBA(0x749797ff),
- .syntaxr = RGBA(0x808080ff),
- .nodeclass_output = RGBA(0xb33641ff),
- .nodeclass_filter = RGBA(0x584d80ff),
- .nodeclass_vector = RGBA(0x9b80ffff),
- .nodeclass_texture = RGBA(0xe68745ff),
- .nodeclass_shader = RGBA(0x63c763ff),
+ .syntaxl = RGBA(0x303030ff),
+ .syntaxs = RGBA(0x973c3cff),
+ .syntaxb = RGBA(0xcccc00ff),
+ .syntaxn = RGBA(0xff3371ff),
+ .syntaxv = RGBA(0x12adffff),
+ .syntaxc = RGBA(0x3b660aff),
+ .syntaxd = RGBA(0x4c9797ff),
+ .syntaxr = RGBA(0x8d8d8dff),
+ .nodeclass_output = RGBA(0x4d0017ff),
+ .nodeclass_filter = RGBA(0x551a80ff),
+ .nodeclass_vector = RGBA(0x4d4dffff),
+ .nodeclass_texture = RGBA(0xe66800ff),
+ .nodeclass_shader = RGBA(0x24b524ff),
.nodeclass_script = RGBA(0x084d4dff),
.nodeclass_pattern = RGBA(0x6c696fff),
.nodeclass_layout = RGBA(0x6c696fff),
- .nodeclass_geometry = RGBA(0x00d7a4ff),
- .nodeclass_attribute = RGBA(0x3f5980ff),
- .movie = RGBA(0x1a1a1a7d),
+ .nodeclass_geometry = RGBA(0x00d6a3ff),
+ .nodeclass_attribute = RGBA(0x001566ff),
+ .movie = RGBA(0x0f0f0fcc),
.gp_vertex_size = 3,
.gp_vertex = RGBA(0x97979700),
.gp_vertex_select = RGBA(0xff8500ff),
},
.space_preferences = {
- .back = RGBA(0x42424200),
+ .back = RGBA(0x30303000),
.title = RGBA(0xeeeeeeff),
.text = RGBA(0xe6e6e6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x424242ff),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x424242ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x1d1d1dff),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
- .navigation_bar = RGBA(0x4b4b4bff),
- .execution_buts = RGBA(0x4b4b4bff),
+ .navigation_bar = RGBA(0x303030ff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x42424200),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
.vertex_size = 3,
.outline_width = 1,
.facedot_size = 4,
},
.space_console = {
- .back = RGBA(0x30303000),
+ .back = RGBA(0x1d1d1d00),
.title = RGBA(0xeeeeeeff),
.text = RGBA(0xe6e6e6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x424242ff),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x424242ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
.console_output = RGBA(0x71a8ffff),
.console_input = RGBA(0xf2f2f2ff),
@@ -911,46 +917,51 @@ const bTheme U_theme_default = {
.facedot_size = 4,
},
.space_clip = {
- .back = RGBA(0x42424200),
+ .back = RGBA(0x30303000),
.title = RGBA(0xeeeeeeff),
.text = RGBA(0xa6a6a6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x424242ff),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x424242ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
- .list = RGBA(0x282828ff),
- .list_text = RGBA(0x000000ff),
+ .list = RGBA(0x303030ff),
+ .list_title = RGBA(0xffffff00),
+ .list_text = RGBA(0xb8b8b8ff),
.list_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
- .grid = RGBA(0x424242ff),
- .strip = RGBA(0x0c0a0a80),
+ .grid = RGBA(0x181818ff),
+ .strip = RGBA(0xffffff80),
.strip_select = RGBA(0xff8c00ff),
- .cframe = RGBA(0x5680c2ff),
- .time_scrub_background = RGBA(0x292929e6),
- .time_marker_line = RGBA(0x00000060),
- .time_marker_line_selected = RGBA(0xffffff60),
+ .cframe = RGBA(0x4772b3ff),
+ .time_scrub_background = RGBA(0x181818ff),
+ .time_marker_line = RGBA(0xffffff4d),
+ .time_marker_line_selected = RGBA(0xffffffb3),
.handle_auto = RGBA(0x909000ff),
.handle_align = RGBA(0x803060ff),
+ .handle_auto_clamped = RGBA(0x99403000),
.handle_sel_auto = RGBA(0xf0ff40ff),
.handle_sel_align = RGBA(0xf090a0ff),
+ .handle_sel_auto_clamped = RGBA(0xf0af9000),
.vertex_size = 3,
.outline_width = 1,
.facedot_size = 4,
- .handle_vertex_select = RGBA(0xffff00ff),
+ .handle_vertex_select = RGBA(0xff8500ff),
.handle_vertex_size = 5,
- .marker = RGBA(0x7f7f00ff),
+ .marker = RGBA(0x808000ff),
.act_marker = RGBA(0xffffffff),
.sel_marker = RGBA(0xffff00ff),
.dis_marker = RGBA(0x7f0000ff),
@@ -963,25 +974,27 @@ const bTheme U_theme_default = {
.metadatatext = RGBA(0xffffffff),
},
.space_topbar = {
- .back = RGBA(0x42424200),
+ .back = RGBA(0x18181800),
.title = RGBA(0xffffffff),
.text = RGBA(0xe6e6e6ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x232323ff),
+ .header = RGBA(0x181818b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x424242ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
.vertex_size = 3,
.outline_width = 1,
@@ -989,23 +1002,26 @@ const bTheme U_theme_default = {
.gp_vertex_size = 3,
},
.space_statusbar = {
- .back = RGBA(0x2e2e2e00),
+ .back = RGBA(0x30303000),
.title = RGBA(0xffffffff),
.text = RGBA(0x838383ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x303030ff),
- .header_text = RGBA(0xaaaaaaff),
+ .header = RGBA(0x181818b3),
+ .header_text = RGBA(0x888888ff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x353535ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
+ .button_text = RGBA(0xcccccc00),
.button_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
.vertex_size = 3,
.outline_width = 1,
@@ -1017,22 +1033,29 @@ const bTheme U_theme_default = {
.title = RGBA(0xffffffff),
.text = RGBA(0xc3c3c3ff),
.text_hi = RGBA(0xffffffff),
- .header = RGBA(0x454545ff),
+ .header = RGBA(0x303030b3),
.header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff),
- .tab_active = RGBA(0x4b4b4bff),
- .tab_inactive = RGBA(0x2b2b2bff),
- .tab_back = RGBA(0x232323ff),
- .tab_outline = RGBA(0x232323ff),
- .button = RGBA(0x424242ff),
+ .tab_active = RGBA(0x303030ff),
+ .tab_inactive = RGBA(0x1d1d1dff),
+ .tab_back = RGBA(0x181818ff),
+ .tab_outline = RGBA(0x3d3d3dff),
+ .button = RGBA(0x30303000),
.button_title = RGBA(0xffffffff),
- .button_text = RGBA(0xe5e5e5ff),
+ .button_text = RGBA(0xccccccff),
.button_text_hi = RGBA(0xffffffff),
+ .list = RGBA(0x303030ff),
+ .list_title = RGBA(0xc3c3c3ff),
+ .list_text = RGBA(0xc3c3c3ff),
+ .list_text_hi = RGBA(0xffffffff),
+ .navigation_bar = RGBA(0x1d1d1dff),
+ .execution_buts = RGBA(0x303030ff),
.panelcolors = {
- .header = RGBA(0x424242cc),
- .back = RGBA(0x333333b3),
- .sub_back = RGBA(0x0000003e),
+ .header = RGBA(0x3d3d3dff),
+ .back = RGBA(0x3d3d3dff),
+ .sub_back = RGBA(0x0000001f),
},
+ .hilite = RGBA(0x80808080),
.active = RGBA(0x3b5689ff),
.vertex_size = 3,
.outline_width = 1,
@@ -1042,12 +1065,7 @@ const bTheme U_theme_default = {
.selected_object = RGBA(0xe96a00ff),
.active_object = RGBA(0xffaf29ff),
.edited_object = RGBA(0x00806266),
- .row_alternate = RGBA(0xffffff07),
- .list = RGBA(0x424242ff),
- .list_title = RGBA(0xc3c3c3ff),
- .list_text = RGBA(0xc3c3c3ff),
- .list_text_hi = RGBA(0xffffff),
- .hilite = RGBA(0x80808080),
+ .row_alternate = RGBA(0xffffff04),
},
.tarm = {
{
diff --git a/release/scripts/addons b/release/scripts/addons
-Subproject e68c0118c13c3575e6096ad2dc7fb4434eadf38
+Subproject f2a08d80ccd3c13af304525778df3905f95bd44
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
-Subproject 42da56aa73726710107031787af5eea18679798
+Subproject 16467648282500cc229c271f62201ef897f2c2c
diff --git a/release/scripts/modules/rna_prop_ui.py b/release/scripts/modules/rna_prop_ui.py
index 2cc806be10d..fce59a26c38 100644
--- a/release/scripts/modules/rna_prop_ui.py
+++ b/release/scripts/modules/rna_prop_ui.py
@@ -28,7 +28,7 @@ ARRAY_TYPES = (list, tuple, IDPropertyArray, Vector, bpy_prop_array)
# Maximum length of an array property for which a multi-line
# edit field will be displayed in the Custom Properties panel.
-MAX_DISPLAY_ROWS = 4
+MAX_DISPLAY_ROWS = 8
def rna_idprop_quote_path(prop):
@@ -134,18 +134,7 @@ def rna_idprop_ui_create(
def draw(layout, context, context_member, property_type, *, use_edit=True):
-
- def assign_props(prop, value, key):
- prop.data_path = context_member
- prop.property_name = key
-
- try:
- prop.value = str(value)
- except:
- pass
-
rna_item, context_member = rna_idprop_context_value(context, context_member, property_type)
-
# poll should really get this...
if not rna_item:
return
@@ -164,17 +153,15 @@ def draw(layout, context, context_member, property_type, *, use_edit=True):
# TODO: Allow/support adding new custom props to overrides.
if use_edit and not is_lib_override:
row = layout.row()
- props = row.operator("wm.properties_add", text="Add")
+ props = row.operator("wm.properties_add", text="New", icon='ADD')
props.data_path = context_member
del row
+ layout.separator()
show_developer_ui = context.preferences.view.show_developer_ui
rna_properties = {prop.identifier for prop in rna_item.bl_rna.properties if prop.is_runtime} if items else None
- layout.use_property_split = True
- layout.use_property_decorate = False # No animation.
-
- flow = layout.grid_flow(row_major=False, columns=0, even_columns=True, even_rows=False, align=True)
+ layout.use_property_decorate = False
for key, value in items:
is_rna = (key in rna_properties)
@@ -188,57 +175,50 @@ def draw(layout, context, context_member, property_type, *, use_edit=True):
if to_dict:
value = to_dict()
- val_draw = str(value)
elif to_list:
value = to_list()
- val_draw = str(value)
- else:
- val_draw = value
- row = layout.row(align=True)
- box = row.box()
+ split = layout.split(factor=0.4, align=True)
+ label_row = split.row()
+ label_row.alignment = 'RIGHT'
+ label_row.label(text=key, translate=False)
- if use_edit:
- split = box.split(factor=0.75)
- row = split.row()
- else:
- split = box.split(factor=1.00)
- row = split.row()
+ value_row = split.row(align=True)
+ value_column = value_row.column(align=True)
- row.alignment = 'RIGHT'
+ is_long_array = to_list and len(value) >= MAX_DISPLAY_ROWS
- row.label(text=key, translate=False)
+ if is_rna:
+ value_column.prop(rna_item, key, text="")
+ elif to_dict or is_long_array:
+ props = value_column.operator("wm.properties_edit_value", text="Edit Value")
+ props.data_path = context_member
+ props.property_name = key
+ else:
+ value_column.prop(rna_item, '["%s"]' % escape_identifier(key), text="")
- # Explicit exception for arrays.
- show_array_ui = to_list and not is_rna and 0 < len(value) <= MAX_DISPLAY_ROWS
+ operator_row = value_row.row()
- if show_array_ui and isinstance(value[0], (int, float)):
- row.prop(rna_item, '["%s"]' % escape_identifier(key), text="")
- elif to_dict or to_list:
- row.label(text=val_draw, translate=False)
- else:
- if is_rna:
- row.prop(rna_item, key, text="")
- else:
- row.prop(rna_item, '["%s"]' % escape_identifier(key), text="")
+ # Do not allow editing of overridden properties (we cannot use a poll function
+ # of the operators here since they's have no access to the specific property).
+ operator_row.enabled = not(is_lib_override and key in rna_item.id_data.override_library.reference)
if use_edit:
- row = split.row(align=True)
- # Do not allow editing of overridden properties (we cannot use a poll function
- # of the operators here since they's have no access to the specific property).
- row.enabled = not(is_lib_override and key in rna_item.id_data.override_library.reference)
if is_rna:
- row.label(text="API Defined")
+ operator_row.label(text="API Defined")
elif is_lib_override:
- row.label(text="Library Override")
+ operator_row.active = False
+ operator_row.label(text="", icon='DECORATE_LIBRARY_OVERRIDE')
else:
- props = row.operator("wm.properties_edit", text="Edit")
- assign_props(props, val_draw, key)
- props = row.operator("wm.properties_remove", text="", icon='REMOVE')
- assign_props(props, val_draw, key)
-
- del flow
-
+ props = operator_row.operator("wm.properties_edit", text="", icon='PREFERENCES', emboss=False)
+ props.data_path = context_member
+ props.property_name = key
+ props = operator_row.operator("wm.properties_remove", text="", icon='X', emboss=False)
+ props.data_path = context_member
+ props.property_name = key
+ else:
+ # Add some spacing, so the right side of the buttons line up with layouts with decorators.
+ operator_row.label(text="", icon='BLANK1')
class PropertyPanel:
"""
diff --git a/release/scripts/presets/interface_theme/Blender_Light.xml b/release/scripts/presets/interface_theme/Blender_Light.xml
index 8074371c450..e3ac77b008d 100644
--- a/release/scripts/presets/interface_theme/Blender_Light.xml
+++ b/release/scripts/presets/interface_theme/Blender_Light.xml
@@ -434,7 +434,7 @@
button="#99999900"
button_title="#1a1a1a"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#b3b3b3"
@@ -509,7 +509,7 @@
button="#999999e6"
button_title="#1a1a1a"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#6697e6"
@@ -555,7 +555,7 @@
button="#999999e6"
button_title="#1a1a1a"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#999999e6"
tab_active="#6697e6"
@@ -613,7 +613,7 @@
button="#7272727f"
button_title="#000000"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#6697e6"
@@ -688,7 +688,7 @@
button="#7272727f"
button_title="#000000"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#6697e6"
@@ -773,7 +773,7 @@
button="#99999900"
button_title="#1a1a1a"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#b3b3b3"
@@ -833,7 +833,7 @@
button="#99999900"
button_title="#1a1a1a"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#b3b3b3"
@@ -870,7 +870,7 @@
button="#7272727f"
button_title="#000000"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#656565ff"
execution_buts="#00000000"
tab_active="#6697e6"
@@ -917,7 +917,7 @@
button="#7272727f"
button_title="#000000"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#6697e6"
@@ -939,7 +939,7 @@
</text_editor>
<node_editor>
<ThemeNodeEditor
- grid="#353535"
+ grid="#1B1B1B"
node_selected="#f15800"
node_active="#f15800"
wire="#191919"
@@ -955,7 +955,7 @@
matte_node="#977474"
distor_node="#749797"
noodle_curving="4"
- grid_levels="2"
+ grid_levels="7"
dash_alpha="0.5"
input_node="#cb3d4a"
output_node="#cb3d4a"
@@ -981,7 +981,7 @@
button="#99999900"
button_title="#1a1a1a"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#b3b3b3"
@@ -1032,7 +1032,7 @@
button="#7272727f"
button_title="#000000"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#6697e6"
@@ -1081,7 +1081,7 @@
button="#7272727f"
button_title="#000000"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#6697e6"
@@ -1115,7 +1115,7 @@
button="#7272727f"
button_title="#000000"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#b3b3b3ff"
execution_buts="#b3b3b3ff"
tab_active="#6697e6"
@@ -1156,7 +1156,7 @@
button="#7272727f"
button_title="#000000"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#6697e6"
@@ -1221,7 +1221,7 @@
button="#7272727f"
button_title="#000000"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#6697e6"
@@ -1263,8 +1263,8 @@
header_text_hi="#ffffff"
button="#2f303599"
button_title="#ffffff"
- button_text="#ffffff"
- button_text_hi="#ffffff"
+ button_text="#000000"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#446499"
@@ -1298,7 +1298,7 @@
button="#2f303500"
button_title="#ffffff"
button_text="#ffffff"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#00000000"
tab_active="#446499"
@@ -1334,7 +1334,7 @@
button="#999999e6"
button_title="#1a1a1a"
button_text="#000000"
- button_text_hi="#ffffff"
+ button_text_hi="#000000"
navigation_bar="#00000000"
execution_buts="#999999e6"
tab_active="#6697e6"
diff --git a/release/scripts/presets/keyconfig/Blender.py b/release/scripts/presets/keyconfig/Blender.py
index 1852e150589..35c920b3f40 100644
--- a/release/scripts/presets/keyconfig/Blender.py
+++ b/release/scripts/presets/keyconfig/Blender.py
@@ -56,7 +56,7 @@ class Prefs(bpy.types.KeyConfigPreferences):
update=update_fn,
)
tool_key_mode: EnumProperty(
- name="Tool Keys:",
+ name="Tool Keys",
description=(
"The method of keys to activate tools such as move, rotate & scale (G, R, S)"
),
@@ -242,13 +242,13 @@ class Prefs(bpy.types.KeyConfigPreferences):
# General settings.
col = layout.column()
- col.row().prop(self, "select_mouse", text="Select with Mouse Button:", expand=True)
- col.row().prop(self, "spacebar_action", text="Spacebar Action:", expand=True)
+ col.row().prop(self, "select_mouse", text="Select with Mouse Button", expand=True)
+ col.row().prop(self, "spacebar_action", text="Spacebar Action", expand=True)
if is_select_left:
- col.row().prop(self, "gizmo_action", text="Activate Gizmo Event:", expand=True)
+ col.row().prop(self, "gizmo_action", text="Activate Gizmo Event", expand=True)
else:
- col.row().prop(self, "rmb_action", text="Right Mouse Select Action:", expand=True)
+ col.row().prop(self, "rmb_action", text="Right Mouse Select Action", expand=True)
col.row().prop(self, "tool_key_mode", expand=True)
@@ -271,9 +271,9 @@ class Prefs(bpy.types.KeyConfigPreferences):
# 3DView settings.
col = layout.column()
col.label(text="3D View")
- col.row().prop(self, "v3d_tilde_action", text="Grave Accent / Tilde Action:", expand=True)
- col.row().prop(self, "v3d_mmb_action", text="Middle Mouse Action:", expand=True)
- col.row().prop(self, "v3d_alt_mmb_drag_action", text="Alt Middle Mouse Drag Action:", expand=True)
+ col.row().prop(self, "v3d_tilde_action", text="Grave Accent / Tilde Action", expand=True)
+ col.row().prop(self, "v3d_mmb_action", text="Middle Mouse Action", expand=True)
+ col.row().prop(self, "v3d_alt_mmb_drag_action", text="Alt Middle Mouse Drag Action", expand=True)
# Checkboxes sub-layout.
col = layout.column()
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index e70fe63677a..9f921bd2b70 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -208,7 +208,6 @@ class Params:
# ------------------------------------------------------------------------------
# Constants
-
# Physical layout.
NUMBERS_1 = ('ONE', 'TWO', 'THREE', 'FOUR', 'FIVE', 'SIX', 'SEVEN', 'EIGHT', 'NINE', 'ZERO')
# Numeric order.
@@ -846,8 +845,156 @@ def km_user_interface(_params):
# ------------------------------------------------------------------------------
-# Editors
+# Shared Between Editors (Mask, Time-Line)
+def km_mask_editing(params):
+ items = []
+ keymap = (
+ "Mask Editing",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW'},
+ {"items": items},
+ )
+
+ if params.select_mouse == 'RIGHTMOUSE':
+ # mask.slide_point performs mostly the same function, so for the left
+ # click select keymap it's fine to have the context menu instead.
+ items.extend([
+ ("mask.select", {"type": 'RIGHTMOUSE', "value": 'PRESS'},
+ {"properties": [("deselect_all", not params.legacy)]}),
+ ("transform.translate", {"type": 'EVT_TWEAK_R', "value": 'ANY'}, None),
+ ])
+
+ items.extend([
+ ("mask.new", {"type": 'N', "value": 'PRESS', "alt": True}, None),
+ op_menu("MASK_MT_add", {"type": 'A', "value": 'PRESS', "shift": True}),
+ *_template_items_proportional_editing(
+ params, connected=False, toggle_data_path='tool_settings.use_proportional_edit_mask'),
+ ("mask.add_vertex_slide", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True}, None),
+ ("mask.add_feather_vertex_slide", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True, "ctrl": True}, None),
+ ("mask.delete", {"type": 'X', "value": 'PRESS'}, None),
+ ("mask.delete", {"type": 'DEL', "value": 'PRESS'}, None),
+ ("mask.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True},
+ {"properties": [("toggle", True)]}),
+ *_template_items_select_actions(params, "mask.select_all"),
+ ("mask.select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
+ ("mask.select_linked_pick", {"type": 'L', "value": 'PRESS'},
+ {"properties": [("deselect", False)]}),
+ ("mask.select_linked_pick", {"type": 'L', "value": 'PRESS', "shift": True},
+ {"properties": [("deselect", True)]}),
+ ("mask.select_box", {"type": 'B', "value": 'PRESS'}, None),
+ ("mask.select_circle", {"type": 'C', "value": 'PRESS'}, None),
+ ("mask.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True},
+ {"properties": [("mode", 'ADD')]}),
+ ("mask.select_lasso", {"type": params.action_tweak, "value": 'ANY', "shift": True, "ctrl": True, "alt": True},
+ {"properties": [("mode", 'SUB')]}),
+ ("mask.select_more", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
+ ("mask.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
+ *_template_items_hide_reveal_actions("mask.hide_view_set", "mask.hide_view_clear"),
+ ("clip.select", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True}, None),
+ ("mask.cyclic_toggle", {"type": 'C', "value": 'PRESS', "alt": True}, None),
+ ("mask.slide_point", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
+ ("mask.slide_spline_curvature", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
+ ("mask.handle_type_set", {"type": 'V', "value": 'PRESS'}, None),
+ ("mask.normals_make_consistent",
+ {"type": 'N', "value": 'PRESS', "ctrl" if params.legacy else "shift": True}, None),
+ ("mask.parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None),
+ ("mask.parent_clear", {"type": 'P', "value": 'PRESS', "alt": True}, None),
+ ("mask.shape_key_insert", {"type": 'I', "value": 'PRESS'}, None),
+ ("mask.shape_key_clear", {"type": 'I', "value": 'PRESS', "alt": True}, None),
+ ("mask.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None),
+ ("mask.copy_splines", {"type": 'C', "value": 'PRESS', "ctrl": True}, None),
+ ("mask.paste_splines", {"type": 'V', "value": 'PRESS', "ctrl": True}, None),
+ ("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
+ ("transform.translate", {"type": params.select_tweak, "value": 'ANY'}, None),
+ ("transform.rotate", {"type": 'R', "value": 'PRESS'}, None),
+ ("transform.resize", {"type": 'S', "value": 'PRESS'}, None),
+ ("transform.tosphere", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True}, None),
+ ("transform.shear", {"type": 'S', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None),
+ ("transform.transform", {"type": 'S', "value": 'PRESS', "alt": True},
+ {"properties": [("mode", 'MASK_SHRINKFATTEN')]}),
+ ])
+
+ # 3D cursor
+ if params.cursor_tweak_event:
+ items.extend([
+ ("uv.cursor_set", params.cursor_set_event, None),
+ ("transform.translate", params.cursor_tweak_event,
+ {"properties": [("release_confirm", True), ("cursor_transform", True)]}),
+ ])
+ else:
+ items.extend([
+ ("uv.cursor_set", params.cursor_set_event, None),
+ ])
+
+ return keymap
+
+
+def km_markers(params):
+ items = []
+ keymap = (
+ "Markers",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW'},
+ {"items": items},
+ )
+
+ items.extend([
+ ("marker.add", {"type": 'M', "value": 'PRESS'}, None),
+ ("marker.move", {"type": params.select_tweak, "value": 'ANY'},
+ {"properties": [("tweak", True)]}),
+ ("marker.duplicate", {"type": 'D', "value": 'PRESS', "shift": True}, None),
+ ("marker.select", {"type": params.select_mouse, "value": 'PRESS'}, None),
+ ("marker.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True},
+ {"properties": [("extend", True)]}),
+ ("marker.select", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True},
+ {"properties": [("camera", True)]}),
+ ("marker.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "ctrl": True},
+ {"properties": [("extend", True), ("camera", True)]}),
+ ("marker.select_box", {"type": params.select_tweak, "value": 'ANY'},
+ {"properties": [("tweak", True)]}),
+ ("marker.select_box", {"type": 'B', "value": 'PRESS'}, None),
+ *_template_items_select_actions(params, "marker.select_all"),
+ ("marker.delete", {"type": 'X', "value": 'PRESS'}, None),
+ ("marker.delete", {"type": 'DEL', "value": 'PRESS'}, None),
+ ("marker.rename", {"type": 'M', "value": 'PRESS', "ctrl": True}, None),
+ ("marker.move", {"type": 'G', "value": 'PRESS'}, None),
+ ("marker.camera_bind", {"type": 'B', "value": 'PRESS', "ctrl": True}, None),
+ ])
+
+ return keymap
+
+
+def km_time_scrub(_params):
+ items = []
+ keymap = (
+ "Time Scrub",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW'},
+ {"items": items},
+ )
+
+ items.extend([
+ ("anim.change_frame", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
+ ])
+
+ return keymap
+
+
+def km_time_scrub_clip(_params):
+ items = []
+ keymap = (
+ "Clip Time Scrub",
+ {"space_type": 'CLIP_EDITOR', "region_type": 'PREVIEW'},
+ {"items": items},
+ )
+
+ items.extend([
+ ("clip.change_frame", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
+ ])
+
+ return keymap
+
+
+# ------------------------------------------------------------------------------
+# Editor (Property Editor)
def km_property_editor(_params):
items = []
@@ -894,6 +1041,9 @@ def km_property_editor(_params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Outliner)
+
def km_outliner(params):
items = []
keymap = (
@@ -983,6 +1133,9 @@ def km_outliner(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (UV Editor)
+
def km_uv_editor(params):
items = []
keymap = (
@@ -1114,6 +1267,9 @@ def km_uv_editor(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (3D View)
+
# 3D View: all regions.
def km_view3d_generic(_params):
items = []
@@ -1478,151 +1634,8 @@ def km_view3d(params):
return keymap
-def km_mask_editing(params):
- items = []
- keymap = (
- "Mask Editing",
- {"space_type": 'EMPTY', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- if params.select_mouse == 'RIGHTMOUSE':
- # mask.slide_point performs mostly the same function, so for the left
- # click select keymap it's fine to have the context menu instead.
- items.extend([
- ("mask.select", {"type": 'RIGHTMOUSE', "value": 'PRESS'},
- {"properties": [("deselect_all", not params.legacy)]}),
- ("transform.translate", {"type": 'EVT_TWEAK_R', "value": 'ANY'}, None),
- ])
-
- items.extend([
- ("mask.new", {"type": 'N', "value": 'PRESS', "alt": True}, None),
- op_menu("MASK_MT_add", {"type": 'A', "value": 'PRESS', "shift": True}),
- *_template_items_proportional_editing(
- params, connected=False, toggle_data_path='tool_settings.use_proportional_edit_mask'),
- ("mask.add_vertex_slide", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True}, None),
- ("mask.add_feather_vertex_slide", {"type": 'LEFTMOUSE', "value": 'PRESS', "shift": True, "ctrl": True}, None),
- ("mask.delete", {"type": 'X', "value": 'PRESS'}, None),
- ("mask.delete", {"type": 'DEL', "value": 'PRESS'}, None),
- ("mask.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True},
- {"properties": [("toggle", True)]}),
- *_template_items_select_actions(params, "mask.select_all"),
- ("mask.select_linked", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
- ("mask.select_linked_pick", {"type": 'L', "value": 'PRESS'},
- {"properties": [("deselect", False)]}),
- ("mask.select_linked_pick", {"type": 'L', "value": 'PRESS', "shift": True},
- {"properties": [("deselect", True)]}),
- ("mask.select_box", {"type": 'B', "value": 'PRESS'}, None),
- ("mask.select_circle", {"type": 'C', "value": 'PRESS'}, None),
- ("mask.select_lasso", {"type": params.action_tweak, "value": 'ANY', "ctrl": True, "alt": True},
- {"properties": [("mode", 'ADD')]}),
- ("mask.select_lasso", {"type": params.action_tweak, "value": 'ANY', "shift": True, "ctrl": True, "alt": True},
- {"properties": [("mode", 'SUB')]}),
- ("mask.select_more", {"type": 'NUMPAD_PLUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
- ("mask.select_less", {"type": 'NUMPAD_MINUS', "value": 'PRESS', "ctrl": True, "repeat": True}, None),
- *_template_items_hide_reveal_actions("mask.hide_view_set", "mask.hide_view_clear"),
- ("clip.select", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True}, None),
- ("mask.cyclic_toggle", {"type": 'C', "value": 'PRESS', "alt": True}, None),
- ("mask.slide_point", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
- ("mask.slide_spline_curvature", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
- ("mask.handle_type_set", {"type": 'V', "value": 'PRESS'}, None),
- ("mask.normals_make_consistent",
- {"type": 'N', "value": 'PRESS', "ctrl" if params.legacy else "shift": True}, None),
- ("mask.parent_set", {"type": 'P', "value": 'PRESS', "ctrl": True}, None),
- ("mask.parent_clear", {"type": 'P', "value": 'PRESS', "alt": True}, None),
- ("mask.shape_key_insert", {"type": 'I', "value": 'PRESS'}, None),
- ("mask.shape_key_clear", {"type": 'I', "value": 'PRESS', "alt": True}, None),
- ("mask.duplicate_move", {"type": 'D', "value": 'PRESS', "shift": True}, None),
- ("mask.copy_splines", {"type": 'C', "value": 'PRESS', "ctrl": True}, None),
- ("mask.paste_splines", {"type": 'V', "value": 'PRESS', "ctrl": True}, None),
- ("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
- ("transform.translate", {"type": params.select_tweak, "value": 'ANY'}, None),
- ("transform.rotate", {"type": 'R', "value": 'PRESS'}, None),
- ("transform.resize", {"type": 'S', "value": 'PRESS'}, None),
- ("transform.tosphere", {"type": 'S', "value": 'PRESS', "shift": True, "alt": True}, None),
- ("transform.shear", {"type": 'S', "value": 'PRESS', "shift": True, "ctrl": True, "alt": True}, None),
- ("transform.transform", {"type": 'S', "value": 'PRESS', "alt": True},
- {"properties": [("mode", 'MASK_SHRINKFATTEN')]}),
- ])
-
- # 3D cursor
- if params.cursor_tweak_event:
- items.extend([
- ("uv.cursor_set", params.cursor_set_event, None),
- ("transform.translate", params.cursor_tweak_event,
- {"properties": [("release_confirm", True), ("cursor_transform", True)]}),
- ])
- else:
- items.extend([
- ("uv.cursor_set", params.cursor_set_event, None),
- ])
-
- return keymap
-
-
-def km_markers(params):
- items = []
- keymap = (
- "Markers",
- {"space_type": 'EMPTY', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("marker.add", {"type": 'M', "value": 'PRESS'}, None),
- ("marker.move", {"type": params.select_tweak, "value": 'ANY'},
- {"properties": [("tweak", True)]}),
- ("marker.duplicate", {"type": 'D', "value": 'PRESS', "shift": True}, None),
- ("marker.select", {"type": params.select_mouse, "value": 'PRESS'}, None),
- ("marker.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True},
- {"properties": [("extend", True)]}),
- ("marker.select", {"type": params.select_mouse, "value": 'PRESS', "ctrl": True},
- {"properties": [("camera", True)]}),
- ("marker.select", {"type": params.select_mouse, "value": 'PRESS', "shift": True, "ctrl": True},
- {"properties": [("extend", True), ("camera", True)]}),
- ("marker.select_box", {"type": params.select_tweak, "value": 'ANY'},
- {"properties": [("tweak", True)]}),
- ("marker.select_box", {"type": 'B', "value": 'PRESS'}, None),
- *_template_items_select_actions(params, "marker.select_all"),
- ("marker.delete", {"type": 'X', "value": 'PRESS'}, None),
- ("marker.delete", {"type": 'DEL', "value": 'PRESS'}, None),
- ("marker.rename", {"type": 'M', "value": 'PRESS', "ctrl": True}, None),
- ("marker.move", {"type": 'G', "value": 'PRESS'}, None),
- ("marker.camera_bind", {"type": 'B', "value": 'PRESS', "ctrl": True}, None),
- ])
-
- return keymap
-
-
-def km_time_scrub(_params):
- items = []
- keymap = (
- "Time Scrub",
- {"space_type": 'EMPTY', "region_type": 'WINDOW'},
- {"items": items},
- )
-
- items.extend([
- ("anim.change_frame", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
- ])
-
- return keymap
-
-
-def km_time_scrub_clip(_params):
- items = []
- keymap = (
- "Clip Time Scrub",
- {"space_type": 'CLIP_EDITOR', "region_type": 'PREVIEW'},
- {"items": items},
- )
-
- items.extend([
- ("clip.change_frame", {"type": 'LEFTMOUSE', "value": 'PRESS'}, None),
- ])
-
- return keymap
-
+# ------------------------------------------------------------------------------
+# Editor (Graph Editor)
def km_graph_editor_generic(_params):
items = []
@@ -1637,7 +1650,7 @@ def km_graph_editor_generic(_params):
sidebar_key={"type": 'N', "value": 'PRESS'},
),
("graph.extrapolation_type", {"type": 'E', "value": 'PRESS', "shift": True}, None),
- ("anim.channels_find", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.channels_select_filter", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
*_template_items_hide_reveal_actions("graph.hide", "graph.reveal"),
("wm.context_set_enum", {"type": 'TAB', "value": 'PRESS', "ctrl": True},
{"properties": [("data_path", 'area.type'), ("value", 'DOPESHEET_EDITOR')]}),
@@ -1777,6 +1790,9 @@ def km_graph_editor(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Image)
+
def km_image_generic(params):
items = []
keymap = (
@@ -1899,6 +1915,9 @@ def km_image(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Node)
+
def km_node_generic(_params):
items = []
keymap = (
@@ -2072,6 +2091,9 @@ def km_node_editor(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Info)
+
def km_info(params):
items = []
keymap = (
@@ -2098,6 +2120,9 @@ def km_info(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (File Browser)
+
def km_file_browser(params):
items = []
keymap = (
@@ -2115,7 +2140,9 @@ def km_file_browser(params):
("file.parent", {"type": 'UP_ARROW', "value": 'PRESS', "alt": True}, None),
("file.previous", {"type": 'LEFT_ARROW', "value": 'PRESS', "alt": True}, None),
("file.next", {"type": 'RIGHT_ARROW', "value": 'PRESS', "alt": True}, None),
+ # The two refresh operators have polls excluding each other (so only one is available depending on context).
("file.refresh", {"type": 'R', "value": 'PRESS'}, None),
+ ("file.asset_library_refresh", {"type": 'R', "value": 'PRESS'}, None),
("file.parent", {"type": 'P', "value": 'PRESS'}, None),
("file.previous", {"type": 'BACK_SPACE', "value": 'PRESS'}, None),
("file.next", {"type": 'BACK_SPACE', "value": 'PRESS', "shift": True}, None),
@@ -2165,7 +2192,7 @@ def km_file_browser_main(params):
if not params.use_file_single_click:
items.extend([
("file.select", {"type": 'LEFTMOUSE', "value": 'DOUBLE_CLICK'},
- {"properties": [("open", True), ("deselect_all", not params.legacy)]}),
+ {"properties": [("open", True), ("deselect_all", not params.legacy)]}),
])
items.extend([
@@ -2248,6 +2275,9 @@ def km_file_browser_buttons(_params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Dope Sheet)
+
def km_dopesheet_generic(_params):
items = []
keymap = (
@@ -2359,7 +2389,7 @@ def km_dopesheet(params):
("action.view_selected", {"type": 'NUMPAD_PERIOD', "value": 'PRESS'}, None),
("action.view_frame", {"type": 'NUMPAD_0', "value": 'PRESS'}, None),
("anim.channels_editable_toggle", {"type": 'TAB', "value": 'PRESS'}, None),
- ("anim.channels_find", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.channels_select_filter", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
("transform.transform", {"type": 'G', "value": 'PRESS'},
{"properties": [("mode", 'TIME_TRANSLATE')]}),
("transform.transform", {"type": params.select_tweak, "value": 'ANY'},
@@ -2382,6 +2412,9 @@ def km_dopesheet(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (NLA)
+
def km_nla_generic(_params):
items = []
keymap = (
@@ -2400,7 +2433,7 @@ def km_nla_generic(_params):
{"properties": [("isolate_action", True)]}),
("nla.tweakmode_exit", {"type": 'TAB', "value": 'PRESS', "shift": True},
{"properties": [("isolate_action", True)]}),
- ("anim.channels_find", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.channels_select_filter", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
])
return keymap
@@ -2511,6 +2544,9 @@ def km_nla_editor(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Text)
+
def km_text_generic(_params):
items = []
keymap = (
@@ -2672,6 +2708,9 @@ def km_text(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Sequencer)
+
def km_sequencercommon(params):
items = []
keymap = (
@@ -2831,7 +2870,10 @@ def km_sequencerpreview(params):
value=params.select_mouse_value_fallback,
legacy=params.legacy,
),
+ *_template_items_select_actions(params, "sequencer.select_all"),
+ ("sequencer.select_box", {"type": 'B', "value": 'PRESS'}, None),
+ # View.
("sequencer.view_all_preview", {"type": 'HOME', "value": 'PRESS'}, None),
("sequencer.view_all_preview", {"type": 'NDOF_BUTTON_FIT', "value": 'PRESS'}, None),
("sequencer.view_ghost_border", {"type": 'O', "value": 'PRESS'}, None),
@@ -2849,6 +2891,8 @@ def km_sequencerpreview(params):
{"properties": [("ratio", 0.25)]}),
("sequencer.view_zoom_ratio", {"type": 'NUMPAD_8', "value": 'PRESS'},
{"properties": [("ratio", 0.125)]}),
+
+ # Edit.
("transform.translate", {"type": params.select_tweak, "value": 'ANY'}, None),
op_tool_optional(
("transform.translate", {"type": 'G', "value": 'PRESS'}, None),
@@ -2865,6 +2909,10 @@ def km_sequencerpreview(params):
{"properties": [("property", 'SCALE')]}),
("sequencer.strip_transform_clear", {"type": 'R', "alt": True, "value": 'PRESS'},
{"properties": [("property", 'ROTATION')]}),
+
+ ("sequencer.delete", {"type": 'X', "value": 'PRESS'}, None),
+ ("sequencer.delete", {"type": 'DEL', "value": 'PRESS'}, None),
+
*_template_items_context_menu("SEQUENCER_MT_preview_context_menu", params.context_menu_event),
])
@@ -2893,6 +2941,9 @@ def km_sequencerpreview(params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Console)
+
def km_console(_params):
items = []
keymap = (
@@ -2958,6 +3009,9 @@ def km_console(_params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Clip)
+
def km_clip(_params):
items = []
keymap = (
@@ -3187,6 +3241,9 @@ def km_clip_dopesheet_editor(_params):
return keymap
+# ------------------------------------------------------------------------------
+# Editor (Spreadsheet)
+
def km_spreadsheet_generic(_params):
items = []
keymap = (
@@ -3208,7 +3265,6 @@ def km_spreadsheet_generic(_params):
# ------------------------------------------------------------------------------
# Animation
-
def km_frames(params):
items = []
keymap = (
@@ -3328,7 +3384,7 @@ def km_animation_channels(params):
("anim.channel_select_keys", {"type": 'LEFTMOUSE', "value": 'DOUBLE_CLICK', "shift": True},
{"properties": [("extend", True)]}),
# Find (setting the name filter).
- ("anim.channels_find", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.channels_select_filter", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
# Selection.
*_template_items_select_actions(params, "anim.channels_select_all"),
("anim.channels_select_box", {"type": 'B', "value": 'PRESS'}, None),
@@ -3372,8 +3428,7 @@ def km_animation_channels(params):
# ------------------------------------------------------------------------------
-# Modes
-
+# Object Modes
def km_grease_pencil(params):
items = []
@@ -4607,17 +4662,6 @@ def _template_view3d_select(*, type, value, legacy):
)]
-def _template_view3d_select_for_fallback(params, fallback):
- if (not fallback) and params.use_fallback_tool_rmb:
- # Needed so we have immediate select+tweak when the default select tool is active.
- return _template_view3d_select(
- type=params.select_mouse,
- value=params.select_mouse_value,
- legacy=params.legacy,
- )
- return []
-
-
def _template_view3d_gpencil_select(*, type, value, legacy, use_select_mouse=True):
return [
*([] if not use_select_mouse else [
@@ -4633,17 +4677,6 @@ def _template_view3d_gpencil_select(*, type, value, legacy, use_select_mouse=Tru
]
-def _template_view3d_gpencil_select_for_fallback(params, fallback):
- if (not fallback) and params.use_fallback_tool_rmb:
- # Needed so we have immediate select+tweak when the default select tool is active.
- return _template_view3d_gpencil_select(
- type=params.select_mouse,
- value=params.select_mouse_value,
- legacy=params.legacy,
- )
- return []
-
-
def _template_uv_select(*, type, value, legacy):
return [
("uv.select", {"type": type, "value": value},
@@ -4653,17 +4686,6 @@ def _template_uv_select(*, type, value, legacy):
]
-def _template_uv_select_for_fallback(params, fallback):
- if (not fallback) and params.use_fallback_tool_rmb:
- # Needed so we have immediate select+tweak when the default select tool is active.
- return _template_uv_select(
- type=params.select_mouse,
- value=params.select_mouse_value,
- legacy=params.legacy,
- )
- return []
-
-
def _template_sequencer_generic_select(*, type, value, legacy):
return [(
"sequencer.select",
@@ -4686,7 +4708,7 @@ def _template_sequencer_preview_select(*, type, value, legacy):
(("center",), ("ctrl",)),
# TODO:
# (("enumerate",), ("alt",)),
- (("toggle", "center"), ("shift", "ctrl")),
+ (("toggle", "center"), ("shift", "ctrl")),
# (("center", "enumerate"), ("ctrl", "alt")),
# (("toggle", "enumerate"), ("shift", "alt")),
# (("toggle", "center", "enumerate"), ("shift", "ctrl", "alt")),
@@ -4709,17 +4731,6 @@ def _template_sequencer_timeline_select(*, type, value, legacy):
)]
-def _template_sequencer_select_for_fallback(params, fallback):
- if (not fallback) and params.use_fallback_tool_rmb:
- # Needed so we have immediate select+tweak when the default select tool is active.
- return _template_sequencer_generic_select(
- type=params.select_mouse,
- value=params.select_mouse_value,
- legacy=params.legacy,
- )
- return []
-
-
def km_image_paint(params):
items = []
keymap = (
@@ -5486,7 +5497,6 @@ def km_object_non_modal(params):
# ------------------------------------------------------------------------------
# Modal Maps and Gizmos
-
def km_eyedropper_modal_map(_params):
items = []
keymap = (
@@ -6160,11 +6170,10 @@ def km_popup_toolbar(_params):
# ------------------------------------------------------------------------------
-# Tool System Keymaps
+# Tool System (Generic)
#
# Named are auto-generated based on the tool name and it's toolbar.
-
def km_generic_tool_annotate(params):
return (
"Generic Tool: Annotate",
@@ -6227,6 +6236,9 @@ def km_image_editor_tool_generic_sample(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (UV Editor)
+
def km_image_editor_tool_uv_cursor(params):
return (
"Image Editor Tool: Uv, Cursor",
@@ -6261,7 +6273,6 @@ def km_image_editor_tool_uv_select_box(params, *, fallback):
"uv.select_box",
# Don't use `tool_maybe_tweak_event`, see comment for this slot.
**(params.select_tweak_event if fallback else params.tool_tweak_event))),
- *_template_uv_select_for_fallback(params, fallback),
]},
)
@@ -6289,7 +6300,6 @@ def km_image_editor_tool_uv_select_lasso(params, *, fallback):
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions_simple(
"uv.select_lasso",
**(params.select_tweak_event if fallback else params.tool_tweak_event))),
- *_template_uv_select_for_fallback(params, fallback),
]},
)
@@ -6357,6 +6367,9 @@ def km_image_editor_tool_uv_scale(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (Node Editor)
+
def km_node_editor_tool_select(params, *, fallback):
return (
_fallback_id("Node Tool: Tweak", fallback),
@@ -6377,7 +6390,8 @@ def km_node_editor_tool_select_box(params, *, fallback):
{"items": [
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions_simple(
"node.select_box",
- type=params.tool_maybe_tweak, value=params.tool_maybe_tweak_value,
+ # Don't use `tool_maybe_tweak_event`, see comment for this slot.
+ **(params.select_tweak_event if fallback else params.tool_tweak_event),
properties=[("tweak", True)],
)),
]},
@@ -6390,7 +6404,7 @@ def km_node_editor_tool_select_lasso(params, *, fallback):
{"space_type": 'NODE_EDITOR', "region_type": 'WINDOW'},
{"items": [
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions_simple(
- "node.select_lasso", type=params.tool_mouse, value='PRESS',
+ "node.select_lasso", **(params.select_tweak_event if fallback else params.tool_tweak_event),
properties=[("tweak", True)]))
]},
)
@@ -6402,7 +6416,11 @@ def km_node_editor_tool_select_circle(params, *, fallback):
{"space_type": 'NODE_EDITOR', "region_type": 'WINDOW'},
{"items": [
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions_simple(
- "node.select_circle", type=params.tool_mouse, value='PRESS',
+ "node.select_circle",
+ # Why circle select should be used on tweak?
+ # So that RMB or Shift-RMB is still able to set an element as active.
+ type=params.select_tweak if fallback else params.tool_mouse,
+ value='ANY' if fallback else 'PRESS',
properties=[("wait_for_input", False)])),
]},
)
@@ -6418,6 +6436,9 @@ def km_node_editor_tool_links_cut(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Generic)
+
def km_3d_view_tool_cursor(params):
return (
"3D View Tool: Cursor",
@@ -6453,7 +6474,6 @@ def km_3d_view_tool_select_box(params, *, fallback):
"view3d.select_box",
# Don't use `tool_maybe_tweak_event`, see comment for this slot.
**(params.select_tweak_event if fallback else params.tool_tweak_event))),
- *_template_view3d_select_for_fallback(params, fallback),
]},
)
@@ -6470,7 +6490,6 @@ def km_3d_view_tool_select_circle(params, *, fallback):
type=params.select_tweak if fallback else params.tool_mouse,
value='ANY' if fallback else 'PRESS',
properties=[("wait_for_input", False)])),
- # No selection fallback since this operates on press.
]},
)
@@ -6483,7 +6502,6 @@ def km_3d_view_tool_select_lasso(params, *, fallback):
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions(
"view3d.select_lasso",
**(params.select_tweak_event if fallback else params.tool_tweak_event))),
- *_template_view3d_select_for_fallback(params, fallback),
]}
)
@@ -6564,6 +6582,9 @@ def km_3d_view_tool_measure(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Pose Mode)
+
def km_3d_view_tool_pose_breakdowner(params):
return (
"3D View Tool: Pose, Breakdowner",
@@ -6594,6 +6615,9 @@ def km_3d_view_tool_pose_relax(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Edit Armature)
+
def km_3d_view_tool_edit_armature_roll(params):
return (
"3D View Tool: Edit Armature, Roll",
@@ -6649,6 +6673,9 @@ def km_3d_view_tool_edit_armature_extrude_to_cursor(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Object Mode)
+
def km_3d_view_tool_interactive_add(params):
return (
"3D View Tool: Object, Add Primitive",
@@ -6665,6 +6692,9 @@ def km_3d_view_tool_interactive_add(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Edit Mesh)
+
def km_3d_view_tool_edit_mesh_extrude_region(params):
return (
"3D View Tool: Edit Mesh, Extrude Region",
@@ -6931,6 +6961,9 @@ def km_3d_view_tool_edit_mesh_rip_edge(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Edit Curve)
+
def km_3d_view_tool_edit_curve_draw(params):
return (
"3D View Tool: Edit Curve, Draw",
@@ -6998,6 +7031,9 @@ def km_3d_view_tool_edit_curve_extrude_to_cursor(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Sculpt)
+
def km_3d_view_tool_sculpt_box_hide(params):
return (
"3D View Tool: Sculpt, Box Hide",
@@ -7153,6 +7189,9 @@ def km_3d_view_tool_sculpt_face_set_edit(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Weight Paint)
+
def km_3d_view_tool_paint_weight_sample_weight(params):
return (
"3D View Tool: Paint Weight, Sample Weight",
@@ -7183,6 +7222,9 @@ def km_3d_view_tool_paint_weight_gradient(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Grease Pencil, Paint)
+
def km_3d_view_tool_paint_gpencil_line(params):
return (
"3D View Tool: Paint Gpencil, Line",
@@ -7317,6 +7359,9 @@ def km_3d_view_tool_paint_gpencil_interpolate(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Grease Pencil, Edit)
+
def km_3d_view_tool_edit_gpencil_select(params, *, fallback):
return (
_fallback_id("3D View Tool: Edit Gpencil, Tweak", fallback),
@@ -7339,7 +7384,6 @@ def km_3d_view_tool_edit_gpencil_select_box(params, *, fallback):
"gpencil.select_box",
# Don't use `tool_maybe_tweak_event`, see comment for this slot.
**(params.select_tweak_event if fallback else params.tool_tweak_event))),
- *_template_view3d_gpencil_select_for_fallback(params, fallback),
]},
)
@@ -7356,7 +7400,6 @@ def km_3d_view_tool_edit_gpencil_select_circle(params, *, fallback):
type=params.select_tweak if fallback else params.tool_mouse,
value='ANY' if fallback else 'PRESS',
properties=[("wait_for_input", False)])),
- # No selection fallback since this operates on press.
]},
)
@@ -7369,7 +7412,6 @@ def km_3d_view_tool_edit_gpencil_select_lasso(params, *, fallback):
*([] if (fallback and not params.use_fallback_tool) else _template_items_tool_select_actions(
"gpencil.select_lasso",
**(params.select_tweak_event if fallback else params.tool_tweak_event))),
- *_template_view3d_gpencil_select_for_fallback(params, fallback),
]}
)
@@ -7455,6 +7497,9 @@ def km_3d_view_tool_edit_gpencil_interpolate(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (3D View, Grease Pencil, Sculpt)
+
def km_3d_view_tool_sculpt_gpencil_select(params):
return (
"3D View Tool: Sculpt Gpencil, Tweak",
@@ -7490,24 +7535,26 @@ def km_3d_view_tool_sculpt_gpencil_select_lasso(params):
)
-def km_sequencer_editor_tool_select(params, *, fallback):
+# ------------------------------------------------------------------------------
+# Tool System (Sequencer, Generic)
+
+def km_sequencer_editor_tool_generic_select(params, *, fallback):
return (
_fallback_id("Sequencer Tool: Tweak", fallback),
{"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
{"items": [
- *([] if fallback else
- _template_items_tool_select(params, "sequencer.select", "sequencer.cursor_set", extend="toggle")
- ),
- *([] if (not params.use_fallback_tool_rmb) else _template_sequencer_generic_select(
- type=params.select_mouse, value=params.select_mouse_value, legacy=params.legacy)),
+ *([] if fallback else _template_items_tool_select(
+ params, "sequencer.select", "sequencer.cursor_set", extend="toggle")),
+ *([] if (not params.use_fallback_tool_rmb) else _template_sequencer_preview_select(
+ type=params.select_mouse, value=params.select_mouse_value_fallback, legacy=params.legacy)),
# Ignored for preview.
*_template_items_change_frame(params),
]},
)
-def km_sequencer_editor_tool_select_box(params, *, fallback):
+def km_sequencer_editor_tool_generic_select_box(params, *, fallback):
return (
_fallback_id("Sequencer Tool: Select Box", fallback),
{"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
@@ -7517,7 +7564,6 @@ def km_sequencer_editor_tool_select_box(params, *, fallback):
"sequencer.select_box",
**(params.select_tweak_event if fallback else params.tool_tweak_event),
properties=[("tweak", params.select_mouse == 'LEFTMOUSE')])),
- *_template_sequencer_select_for_fallback(params, fallback),
# RMB select can already set the frame, match the tweak tool.
# Ignored for preview.
@@ -7527,17 +7573,7 @@ def km_sequencer_editor_tool_select_box(params, *, fallback):
)
-def km_sequencer_editor_tool_generic_sample(params):
- return (
- "Sequencer Tool: Sample",
- {"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
- {"items": [
- ("sequencer.sample", {"type": params.tool_mouse, "value": 'PRESS'}, None),
- ]},
- )
-
-
-def km_sequencer_editor_tool_cursor(params):
+def km_sequencer_editor_tool_generic_cursor(params):
return (
"Sequencer Tool: Cursor",
{"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
@@ -7550,6 +7586,9 @@ def km_sequencer_editor_tool_cursor(params):
)
+# ------------------------------------------------------------------------------
+# Tool System (Sequencer, Timeline)
+
def km_sequencer_editor_tool_blade(_params):
return (
"Sequencer Tool: Blade",
@@ -7566,6 +7605,19 @@ def km_sequencer_editor_tool_blade(_params):
)
+# ------------------------------------------------------------------------------
+# Tool System (Sequencer, Preview)
+
+def km_sequencer_editor_tool_sample(params):
+ return (
+ "Sequencer Tool: Sample",
+ {"space_type": 'SEQUENCE_EDITOR', "region_type": 'WINDOW'},
+ {"items": [
+ ("sequencer.sample", {"type": params.tool_mouse, "value": 'PRESS'}, None),
+ ]},
+ )
+
+
def km_sequencer_editor_tool_move(params):
return (
"Sequencer Tool: Move",
@@ -7848,14 +7900,14 @@ def generate_keymaps(params=None):
km_3d_view_tool_sculpt_gpencil_select_box(params),
km_3d_view_tool_sculpt_gpencil_select_circle(params),
km_3d_view_tool_sculpt_gpencil_select_lasso(params),
- *(km_sequencer_editor_tool_select(params, fallback=fallback) for fallback in (False, True)),
- *(km_sequencer_editor_tool_select_box(params, fallback=fallback) for fallback in (False, True)),
+ *(km_sequencer_editor_tool_generic_select(params, fallback=fallback) for fallback in (False, True)),
+ *(km_sequencer_editor_tool_generic_select_box(params, fallback=fallback) for fallback in (False, True)),
+ km_sequencer_editor_tool_generic_cursor(params),
km_sequencer_editor_tool_blade(params),
- km_sequencer_editor_tool_generic_sample(params),
- km_sequencer_editor_tool_cursor(params),
- km_sequencer_editor_tool_scale(params),
- km_sequencer_editor_tool_rotate(params),
+ km_sequencer_editor_tool_sample(params),
km_sequencer_editor_tool_move(params),
+ km_sequencer_editor_tool_rotate(params),
+ km_sequencer_editor_tool_scale(params),
]
# ------------------------------------------------------------------------------
diff --git a/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py b/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py
index 6baf0d569d6..0ae64dbc62e 100644
--- a/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py
+++ b/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py
@@ -875,7 +875,7 @@ def km_graph_editor_generic(params):
items.extend([
op_panel("TOPBAR_PT_name", {"type": 'RET', "value": 'PRESS'}, [("keep_open", False)]),
- ("anim.channels_find", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.channels_select_filter", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
("graph.hide", {"type": 'H', "value": 'PRESS', "ctrl": True},
{"properties": [("unselected", False)]}),
("graph.hide", {"type": 'H', "value": 'PRESS', "shift": True},
@@ -1227,7 +1227,9 @@ def km_file_browser(params):
("file.previous", {"type": 'LEFT_ARROW', "value": 'PRESS', "ctrl": True}, None),
("file.next", {"type": 'RIGHT_ARROW', "value": 'PRESS', "alt": True}, None),
("file.next", {"type": 'RIGHT_ARROW', "value": 'PRESS', "ctrl": True}, None),
+ # The two refresh operators have polls excluding each other (so only one is available depending on context).
("file.refresh", {"type": 'R', "value": 'PRESS', "ctrl": True}, None),
+ ("file.asset_library_refresh", {"type": 'R', "value": 'PRESS', "ctrl": True}, None),
("file.previous", {"type": 'BACK_SPACE', "value": 'PRESS'}, None),
("file.next", {"type": 'BACK_SPACE', "value": 'PRESS', "shift": True}, None),
("wm.context_toggle", {"type": 'H', "value": 'PRESS'},
@@ -1272,7 +1274,9 @@ def km_file_browser_main(params):
items.extend([
("file.mouse_execute", {"type": 'LEFTMOUSE', "value": 'DOUBLE_CLICK'}, None),
+ # The two refresh operators have polls excluding each other (so only one is available depending on context).
("file.refresh", {"type": 'R', "value": 'PRESS', "ctrl": True}, None),
+ ("file.asset_library_refresh", {"type": 'R', "value": 'PRESS', "ctrl": True}, None),
("file.select", {"type": 'LEFTMOUSE', "value": 'DOUBLE_CLICK'}, None),
("file.select", {"type": 'LEFTMOUSE', "value": 'CLICK'},
{"properties": [("open", False), ("deselect_all", True)]}),
@@ -1439,7 +1443,7 @@ def km_dopesheet(params):
("action.view_selected", {"type": 'F', "value": 'PRESS'}, None),
("action.view_frame", {"type": 'NUMPAD_0', "value": 'PRESS'}, None),
("anim.channels_editable_toggle", {"type": 'LEFTMOUSE', "value": 'DOUBLE_CLICK'}, None),
- ("anim.channels_find", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.channels_select_filter", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
("transform.transform", {"type": 'W', "value": 'PRESS'},
{"properties": [("mode", 'TIME_TRANSLATE')]}),
("transform.transform", {"type": 'EVT_TWEAK_L', "value": 'ANY'},
@@ -1477,7 +1481,7 @@ def km_nla_generic(params):
*_template_items_animation(),
("nla.tweakmode_enter", {"type": 'LEFTMOUSE', "value": 'DOUBLE_CLICK'}, None),
("nla.tweakmode_exit", {"type": 'ESC', "value": 'PRESS'}, None),
- ("anim.channels_find", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.channels_select_filter", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
])
return keymap
@@ -2234,7 +2238,7 @@ def km_animation_channels(params):
("anim.channel_select_keys", {"type": 'LEFTMOUSE', "value": 'DOUBLE_CLICK', "shift": True},
{"properties": [("extend", True)]}),
# Find (setting the name filter).
- ("anim.channels_find", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
+ ("anim.channels_select_filter", {"type": 'F', "value": 'PRESS', "ctrl": True}, None),
# Selection.
("anim.channels_select_all", {"type": 'A', "value": 'PRESS', "ctrl": True}, {"properties": [("action", 'SELECT')]}),
("anim.channels_select_all", {"type": 'A', "value": 'PRESS', "ctrl": True, "shift": True}, {"properties": [("action", 'DESELECT')]}),
diff --git a/release/scripts/startup/bl_operators/spreadsheet.py b/release/scripts/startup/bl_operators/spreadsheet.py
index b5098d63dac..ba0c9969356 100644
--- a/release/scripts/startup/bl_operators/spreadsheet.py
+++ b/release/scripts/startup/bl_operators/spreadsheet.py
@@ -50,19 +50,6 @@ class SPREADSHEET_OT_toggle_pin(Operator):
space.is_pinned = False
space.context_path.guess()
- def find_geometry_node_editors(self, context):
- editors = []
- for window in context.window_manager.windows:
- for area in window.screen.areas:
- space = area.spaces.active
- if space.type != 'NODE_EDITOR':
- continue
- if space.edit_tree is None:
- continue
- if space.edit_tree.type == 'GEOMETRY':
- editors.append(space)
- return editors
-
classes = (
SPREADSHEET_OT_toggle_pin,
diff --git a/release/scripts/startup/bl_operators/userpref.py b/release/scripts/startup/bl_operators/userpref.py
index 67a02f6e1f4..1363bcf60e4 100644
--- a/release/scripts/startup/bl_operators/userpref.py
+++ b/release/scripts/startup/bl_operators/userpref.py
@@ -100,14 +100,6 @@ class PREFERENCES_OT_copy_prev(Operator):
version_new = ((version[0] * 100) + version[1])
version_old = ((version[0] * 100) + version[1]) - 1
- # Special case, remove when the version is > 3.0.
- if version_new == 300:
- version_new = 294
- version_old = 293
- else:
- print("TODO: remove exception!")
- # End special case.
-
# Ensure we only try to copy files from a point release.
# The check below ensures the second numbers match.
while (version_new % 100) // 10 == (version_old % 100) // 10:
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index 170b9f3ae44..28bb0a58c02 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -1298,6 +1298,13 @@ rna_vector_subtype_items = (
('QUATERNION', "Quaternion Rotation", "Quaternion rotation (affects NLA blending)"),
)
+
+# NOTE: needed for Python 3.10 since there are name-space issues with annotations.
+# This can be moved into the class as a static-method once Python 3.9x is dropped.
+def _wm_properties_edit_subtype_items(_self, _context):
+ return WM_OT_properties_edit.subtype_items
+
+
class WM_OT_properties_edit(Operator):
"""Change a custom property's type, or adjust how it is displayed in the interface"""
bl_idname = "wm.properties_edit"
@@ -1312,7 +1319,7 @@ class WM_OT_properties_edit(Operator):
property_name: rna_custom_property_name
property_type: EnumProperty(
name="Type",
- items=lambda self, _context: WM_OT_properties_edit.type_items,
+ items=rna_custom_property_type_items,
)
is_overridable_library: BoolProperty(
name="Is Library Overridable",
@@ -1404,7 +1411,7 @@ class WM_OT_properties_edit(Operator):
)
subtype: EnumProperty(
name="Subtype",
- items=lambda self, _context: WM_OT_properties_edit.subtype_items,
+ items=_wm_properties_edit_subtype_items,
)
# String properties.
@@ -1442,7 +1449,7 @@ class WM_OT_properties_edit(Operator):
# Convert an old property for a string, avoiding unhelpful string representations for custom list types.
@staticmethod
- def _convert_old_property_to_string(item, name):
+ def convert_custom_property_to_string(item, name):
# The IDProperty group view API currently doesn't have a "lookup" method.
for key, value in item.items():
if key == name:
@@ -1461,7 +1468,8 @@ class WM_OT_properties_edit(Operator):
# Retrieve the current type of the custom property on the RNA struct. Some properties like group properties
# can be created in the UI, but editing their meta-data isn't supported. In that case, return 'PYTHON'.
- def _get_property_type(self, item, property_name):
+ @staticmethod
+ def get_property_type(item, property_name):
from rna_prop_ui import (
rna_idprop_value_item_type,
)
@@ -1549,17 +1557,17 @@ class WM_OT_properties_edit(Operator):
return self._convert_new_value_single(item[name_old], float)
if prop_type_new == 'INT_ARRAY':
- prop_type_old = self._get_property_type(item, name_old)
+ prop_type_old = self.get_property_type(item, name_old)
if prop_type_old in {'INT', 'FLOAT', 'INT_ARRAY', 'FLOAT_ARRAY'}:
return self._convert_new_value_array(item[name_old], int, self.array_length)
if prop_type_new == 'FLOAT_ARRAY':
- prop_type_old = self._get_property_type(item, name_old)
+ prop_type_old = self.get_property_type(item, name_old)
if prop_type_old in {'INT', 'FLOAT', 'FLOAT_ARRAY', 'INT_ARRAY'}:
return self._convert_new_value_array(item[name_old], float, self.array_length)
if prop_type_new == 'STRING':
- return self._convert_old_property_to_string(item, name_old)
+ return self.convert_custom_property_to_string(item, name_old)
# If all else fails, create an empty string property. That should avoid errors later on anyway.
return ""
@@ -1672,7 +1680,7 @@ class WM_OT_properties_edit(Operator):
self.report({'ERROR'}, "Cannot edit properties from override data")
return {'CANCELLED'}
- prop_type_old = self._get_property_type(item, name_old)
+ prop_type_old = self.get_property_type(item, name_old)
prop_type_new = self.property_type
self._old_prop_name[:] = [name]
@@ -1716,14 +1724,14 @@ class WM_OT_properties_edit(Operator):
return {'CANCELLED'}
# Set operator's property type with the type of the existing property, to display the right settings.
- old_type = self._get_property_type(item, name)
+ old_type = self.get_property_type(item, name)
self.property_type = old_type
self.last_property_type = old_type
# So that the operator can do something for unsupported properties, change the property into
# a string, just for editing in the dialog. When the operator executes, it will be converted back
# into a python value. Always do this conversion, in case the Python property edit type is selected.
- self.eval_string = self._convert_old_property_to_string(item, name)
+ self.eval_string = self.convert_custom_property_to_string(item, name)
if old_type != 'PYTHON':
self._fill_old_ui_data(item, name)
@@ -1845,6 +1853,62 @@ class WM_OT_properties_edit(Operator):
layout.prop(self, "description")
+# Edit the value of a custom property with the given name on the RNA struct at the given data path.
+# For supported types, this simply acts as a convenient way to create a popup for a specific property
+# and draws the custom property value directly in the popup. For types like groups which can't be edited
+# directly with buttons, instead convert the value to a string, evaluate the changed string when executing.
+class WM_OT_properties_edit_value(Operator):
+ """Edit the value of a custom property"""
+ bl_idname = "wm.properties_edit_value"
+ bl_label = "Edit Property Value"
+ # register only because invoke_props_popup requires.
+ bl_options = {'REGISTER', 'INTERNAL'}
+
+ data_path: rna_path
+ property_name: rna_custom_property_name
+
+ # Store the value converted to a string as a fallback for otherwise unsupported types.
+ eval_string: StringProperty(
+ name="Value",
+ description="Value for custom property types that can only be edited as a Python expression"
+ )
+
+ def execute(self, context):
+ if self.eval_string:
+ rna_item = eval("context.%s" % self.data_path)
+ try:
+ new_value = eval(self.eval_string)
+ except Exception as ex:
+ self.report({'WARNING'}, "Python evaluation failed: " + str(ex))
+ return {'CANCELLED'}
+ rna_item[self.property_name] = new_value
+ return {'FINISHED'}
+
+ def invoke(self, context, _event):
+ rna_item = eval("context.%s" % self.data_path)
+
+ if WM_OT_properties_edit.get_property_type(rna_item, self.property_name) == 'PYTHON':
+ self.eval_string = WM_OT_properties_edit.convert_custom_property_to_string(rna_item,
+ self.property_name)
+ else:
+ self.eval_string = ""
+
+ wm = context.window_manager
+ return wm.invoke_props_dialog(self)
+
+ def draw(self, context):
+ from bpy.utils import escape_identifier
+
+ rna_item = eval("context.%s" % self.data_path)
+
+ layout = self.layout
+ if WM_OT_properties_edit.get_property_type(rna_item, self.property_name) == 'PYTHON':
+ layout.prop(self, "eval_string")
+ else:
+ col = layout.column(align=True)
+ col.prop(rna_item, '["%s"]' % escape_identifier(self.property_name), text="")
+
+
class WM_OT_properties_add(Operator):
"""Add your own property to the data-block"""
bl_idname = "wm.properties_add"
@@ -3056,6 +3120,7 @@ classes = (
WM_OT_properties_add,
WM_OT_properties_context_change,
WM_OT_properties_edit,
+ WM_OT_properties_edit_value,
WM_OT_properties_remove,
WM_OT_sysinfo,
WM_OT_owner_disable,
diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
index c31881fa194..6ca13674234 100644
--- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
+++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
@@ -591,7 +591,7 @@ class GreasePencilMaterialsPanel:
if len(ob.material_slots) > 0 and ob.active_material_index >= 0:
ma = ob.material_slots[ob.active_material_index].material
- if ma is not None and ma.grease_pencil is not None:
+ if is_view3d and ma is not None and ma.grease_pencil is not None:
gpcolor = ma.grease_pencil
if gpcolor.stroke_style == 'SOLID':
row = layout.row()
diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py b/release/scripts/startup/bl_ui/space_filebrowser.py
index 927a30f0ae0..05f505c518d 100644
--- a/release/scripts/startup/bl_ui/space_filebrowser.py
+++ b/release/scripts/startup/bl_ui/space_filebrowser.py
@@ -52,7 +52,9 @@ class FILEBROWSER_HT_header(Header):
icon_only=True,
)
- layout.prop(params, "filter_search", text="", icon='VIEWZOOM')
+ sub = layout.row()
+ sub.ui_units_x = 8
+ sub.prop(params, "filter_search", text="", icon='VIEWZOOM')
layout.popover(
panel="ASSETBROWSER_PT_filter",
@@ -734,6 +736,7 @@ class ASSETBROWSER_PT_metadata(asset_utils.AssetBrowserPanel, Panel):
row.operator("asset.open_containing_blend_file", text="", icon='TOOL_SETTINGS')
layout.prop(asset_file_handle.asset_data, "description")
+ layout.prop(asset_file_handle.asset_data, "author")
class ASSETBROWSER_PT_metadata_preview(asset_utils.AssetMetaDataPanel, Panel):
@@ -789,7 +792,7 @@ class ASSETBROWSER_MT_context_menu(AssetBrowserMenu, Menu):
st = context.space_data
params = st.params
- layout.operator("file.refresh", text="Refresh")
+ layout.operator("file.asset_library_refresh")
layout.separator()
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index 9b96cef9de4..120b2d7c13a 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -37,6 +37,14 @@ from bl_ui.space_toolsystem_common import (
from rna_prop_ui import PropertyPanel
+def _space_view_types(st):
+ view_type = st.view_type
+ return (
+ view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'},
+ view_type in {'PREVIEW', 'SEQUENCER_PREVIEW'},
+ )
+
+
def selected_sequences_len(context):
selected_sequences = getattr(context, "selected_sequences", None)
if selected_sequences is None:
@@ -228,15 +236,19 @@ class SEQUENCER_MT_editor_menus(Menu):
def draw(self, context):
layout = self.layout
st = context.space_data
+ has_sequencer, _has_preview = _space_view_types(st)
layout.menu("SEQUENCER_MT_view")
+ layout.menu("SEQUENCER_MT_select")
- if st.view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'}:
- layout.menu("SEQUENCER_MT_select")
+ if has_sequencer:
if st.show_markers:
layout.menu("SEQUENCER_MT_marker")
layout.menu("SEQUENCER_MT_add")
- layout.menu("SEQUENCER_MT_strip")
+
+ layout.menu("SEQUENCER_MT_strip")
+
+ layout.menu("SEQUENCER_MT_image")
class SEQUENCER_PT_gizmo_display(Panel):
@@ -559,8 +571,14 @@ class SEQUENCER_MT_select_linked(Menu):
class SEQUENCER_MT_select(Menu):
bl_label = "Select"
- def draw(self, _context):
+ def draw(self, context):
layout = self.layout
+ st = context.space_data
+ has_sequencer, has_preview = _space_view_types(st)
+
+ # FIXME: this doesn't work for both preview + window region.
+ if has_preview:
+ layout.operator_context = 'INVOKE_REGION_PREVIEW'
layout.operator("sequencer.select_all", text="All").action = 'SELECT'
layout.operator("sequencer.select_all", text="None").action = 'DESELECT'
@@ -569,17 +587,20 @@ class SEQUENCER_MT_select(Menu):
layout.separator()
layout.operator("sequencer.select_box", text="Box Select")
- props = layout.operator("sequencer.select_box", text="Box Select (Include Handles)")
- props.include_handles = True
+ if has_sequencer:
+ props = layout.operator("sequencer.select_box", text="Box Select (Include Handles)")
+ props.include_handles = True
layout.separator()
- layout.operator_menu_enum("sequencer.select_side_of_frame", "side", text="Side of Frame...")
- layout.menu("SEQUENCER_MT_select_handle", text="Handle")
- layout.menu("SEQUENCER_MT_select_channel", text="Channel")
- layout.menu("SEQUENCER_MT_select_linked", text="Linked")
+ if has_sequencer:
+ layout.operator_menu_enum("sequencer.select_side_of_frame", "side", text="Side of Frame...")
+ layout.menu("SEQUENCER_MT_select_handle", text="Handle")
+ layout.menu("SEQUENCER_MT_select_channel", text="Channel")
+ layout.menu("SEQUENCER_MT_select_linked", text="Linked")
+
+ layout.separator()
- layout.separator()
layout.operator_menu_enum("sequencer.select_grouped", "type", text="Grouped")
@@ -787,43 +808,43 @@ class SEQUENCER_MT_add_effect(Menu):
col.enabled = selected_sequences_len(context) != 0
-class SEQUENCER_MT_strip_image_transform(Menu):
- bl_label = "Image Transform"
-
- def draw(self, _context):
- layout = self.layout
-
- layout.operator("sequencer.strip_transform_fit", text="Scale To Fit").fit_method = 'FIT'
- layout.operator("sequencer.strip_transform_fit", text="Scale to Fill").fit_method = 'FILL'
- layout.operator("sequencer.strip_transform_fit", text="Stretch To Fill").fit_method = 'STRETCH'
- layout.separator()
-
- layout.operator("sequencer.strip_transform_clear", text="Clear Position").property = 'POSITION'
- layout.operator("sequencer.strip_transform_clear", text="Clear Scale").property = 'SCALE'
- layout.operator("sequencer.strip_transform_clear", text="Clear Rotation").property = 'ROTATION'
- layout.operator("sequencer.strip_transform_clear", text="Clear All").property = 'ALL'
-
-
class SEQUENCER_MT_strip_transform(Menu):
bl_label = "Transform"
- def draw(self, _context):
+ def draw(self, context):
layout = self.layout
+ st = context.space_data
+ has_sequencer, has_preview = _space_view_types(st)
- layout.operator("transform.seq_slide", text="Move")
- layout.operator("transform.transform", text="Move/Extend from Current Frame").mode = 'TIME_EXTEND'
- layout.operator("sequencer.slip", text="Slip Strip Contents")
+ if has_preview:
+ layout.operator_context = 'INVOKE_REGION_PREVIEW'
+ else:
+ layout.operator_context = 'INVOKE_REGION_WIN'
- layout.separator()
- layout.operator("sequencer.snap")
- layout.operator("sequencer.offset_clear")
+ # FIXME: mixed preview/sequencer views.
+ if has_preview:
+ layout.operator("transform.translate", text="Move")
+ layout.operator("transform.rotate", text="Rotate")
+ layout.operator("transform.resize", text="Scale")
+ else:
+ layout.operator("transform.seq_slide", text="Move")
+ layout.operator("transform.transform", text="Move/Extend from Current Frame").mode = 'TIME_EXTEND'
+ layout.operator("sequencer.slip", text="Slip Strip Contents")
- layout.separator()
- layout.operator_menu_enum("sequencer.swap", "side")
+ # TODO (for preview)
+ if has_sequencer:
+ layout.separator()
+ layout.operator("sequencer.snap")
+ layout.operator("sequencer.offset_clear")
- layout.separator()
- layout.operator("sequencer.gap_remove").all = False
- layout.operator("sequencer.gap_insert")
+ layout.separator()
+
+ if has_sequencer:
+ layout.operator_menu_enum("sequencer.swap", "side")
+
+ layout.separator()
+ layout.operator("sequencer.gap_remove").all = False
+ layout.operator("sequencer.gap_insert")
class SEQUENCER_MT_strip_input(Menu):
@@ -893,69 +914,129 @@ class SEQUENCER_MT_strip(Menu):
def draw(self, context):
layout = self.layout
+ st = context.space_data
+ has_sequencer, has_preview = _space_view_types(st)
- layout.operator_context = 'INVOKE_REGION_WIN'
+ # FIXME: this doesn't work for both preview + window region.
+ if has_preview:
+ layout.operator_context = 'INVOKE_REGION_PREVIEW'
+ else:
+ layout.operator_context = 'INVOKE_REGION_WIN'
- layout.separator()
layout.menu("SEQUENCER_MT_strip_transform")
- layout.menu("SEQUENCER_MT_strip_image_transform")
-
layout.separator()
- layout.operator("sequencer.split", text="Split").type = 'SOFT'
- layout.operator("sequencer.split", text="Hold Split").type = 'HARD'
- layout.separator()
- layout.operator("sequencer.copy", text="Copy")
- layout.operator("sequencer.paste", text="Paste")
- layout.operator("sequencer.duplicate_move")
+ if has_sequencer:
+
+ layout.operator("sequencer.split", text="Split").type = 'SOFT'
+ layout.operator("sequencer.split", text="Hold Split").type = 'HARD'
+ layout.separator()
+
+ if has_sequencer:
+ layout.operator("sequencer.copy", text="Copy")
+ layout.operator("sequencer.paste", text="Paste")
+ layout.operator("sequencer.duplicate_move")
+
layout.operator("sequencer.delete", text="Delete")
strip = context.active_sequence_strip
- if strip:
- strip_type = strip.type
+ if has_sequencer:
+ if strip:
+ strip_type = strip.type
- if strip_type != 'SOUND':
- layout.separator()
- layout.operator_menu_enum("sequencer.strip_modifier_add", "type", text="Add Modifier")
- layout.operator("sequencer.strip_modifier_copy", text="Copy Modifiers to Selection")
+ if strip_type != 'SOUND':
+ layout.separator()
+ layout.operator_menu_enum("sequencer.strip_modifier_add", "type", text="Add Modifier")
+ layout.operator("sequencer.strip_modifier_copy", text="Copy Modifiers to Selection")
+
+ if strip_type in {
+ 'CROSS', 'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER',
+ 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP', 'WIPE', 'GLOW',
+ 'TRANSFORM', 'COLOR', 'SPEED', 'MULTICAM', 'ADJUSTMENT',
+ 'GAUSSIAN_BLUR',
+ }:
+ layout.separator()
+ layout.menu("SEQUENCER_MT_strip_effect")
+ elif strip_type == 'MOVIE':
+ layout.separator()
+ layout.menu("SEQUENCER_MT_strip_movie")
+ elif strip_type == 'IMAGE':
+ layout.separator()
+ layout.operator("sequencer.rendersize")
+ layout.operator("sequencer.images_separate")
+ elif strip_type == 'TEXT':
+ layout.separator()
+ layout.menu("SEQUENCER_MT_strip_effect")
+ elif strip_type == 'META':
+ layout.separator()
+ layout.operator("sequencer.meta_make")
+ layout.operator("sequencer.meta_separate")
+ layout.operator("sequencer.meta_toggle", text="Toggle Meta")
+ if strip_type != 'META':
+ layout.separator()
+ layout.operator("sequencer.meta_make")
+ layout.operator("sequencer.meta_toggle", text="Toggle Meta")
- if strip_type in {
- 'CROSS', 'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER',
- 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP', 'WIPE', 'GLOW',
- 'TRANSFORM', 'COLOR', 'SPEED', 'MULTICAM', 'ADJUSTMENT',
- 'GAUSSIAN_BLUR',
- }:
- layout.separator()
- layout.menu("SEQUENCER_MT_strip_effect")
- elif strip_type == 'MOVIE':
- layout.separator()
- layout.menu("SEQUENCER_MT_strip_movie")
- elif strip_type == 'IMAGE':
- layout.separator()
- layout.operator("sequencer.rendersize")
- layout.operator("sequencer.images_separate")
- elif strip_type == 'TEXT':
- layout.separator()
- layout.menu("SEQUENCER_MT_strip_effect")
- elif strip_type == 'META':
- layout.separator()
- layout.operator("sequencer.meta_make")
- layout.operator("sequencer.meta_separate")
- layout.operator("sequencer.meta_toggle", text="Toggle Meta")
- if strip_type != 'META':
- layout.separator()
- layout.operator("sequencer.meta_make")
- layout.operator("sequencer.meta_toggle", text="Toggle Meta")
+ if has_sequencer:
+ layout.separator()
+ layout.menu("SEQUENCER_MT_color_tag_picker")
- layout.separator()
- layout.menu("SEQUENCER_MT_color_tag_picker")
+ layout.separator()
+ layout.menu("SEQUENCER_MT_strip_lock_mute")
- layout.separator()
- layout.menu("SEQUENCER_MT_strip_lock_mute")
+ layout.separator()
+ layout.menu("SEQUENCER_MT_strip_input")
- layout.separator()
- layout.menu("SEQUENCER_MT_strip_input")
+
+class SEQUENCER_MT_image(Menu):
+ bl_label = "Image"
+
+ def draw(self, context):
+ layout = self.layout
+ st = context.space_data
+
+ if st.view_type == {'PREVIEW', 'SEQUENCER_PREVIEW'}:
+ layout.menu("SEQUENCER_MT_image_transform")
+
+ layout.menu("SEQUENCER_MT_image_clear")
+ layout.menu("SEQUENCER_MT_image_apply")
+
+
+class SEQUENCER_MT_image_transform(Menu):
+ bl_label = "Transfrom"
+
+ def draw(self, _context):
+ layout = self.layout
+
+ layout.operator_context = 'INVOKE_REGION_PREVIEW'
+
+ layout.operator("transform.translate")
+ layout.operator("transform.rotate")
+ layout.operator("transform.resize", text="Scale")
+
+
+class SEQUENCER_MT_image_clear(Menu):
+ bl_label = "Clear"
+
+ def draw(self, _context):
+ layout = self.layout
+
+ layout.operator("sequencer.strip_transform_clear", text="Position").property = 'POSITION'
+ layout.operator("sequencer.strip_transform_clear", text="Scale").property = 'SCALE'
+ layout.operator("sequencer.strip_transform_clear", text="Rotation").property = 'ROTATION'
+ layout.operator("sequencer.strip_transform_clear", text="All Transforms").property = 'ALL'
+
+
+class SEQUENCER_MT_image_apply(Menu):
+ bl_label = "Apply"
+
+ def draw(self, _context):
+ layout = self.layout
+
+ layout.operator("sequencer.strip_transform_fit", text="Scale To Fit").fit_method = 'FIT'
+ layout.operator("sequencer.strip_transform_fit", text="Scale to Fill").fit_method = 'FILL'
+ layout.operator("sequencer.strip_transform_fit", text="Stretch To Fill").fit_method = 'STRETCH'
class SEQUENCER_MT_context_menu(Menu):
@@ -2523,10 +2604,13 @@ classes = (
SEQUENCER_MT_strip_effect,
SEQUENCER_MT_strip_movie,
SEQUENCER_MT_strip,
- SEQUENCER_MT_strip_image_transform,
SEQUENCER_MT_strip_transform,
SEQUENCER_MT_strip_input,
SEQUENCER_MT_strip_lock_mute,
+ SEQUENCER_MT_image,
+ SEQUENCER_MT_image_transform,
+ SEQUENCER_MT_image_clear,
+ SEQUENCER_MT_image_apply,
SEQUENCER_MT_color_tag_picker,
SEQUENCER_MT_context_menu,
SEQUENCER_MT_preview_context_menu,
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 721c6bdb99c..1a448046f7a 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -2429,6 +2429,7 @@ class _defs_node_edit:
icon="ops.node.links_cut",
widget=None,
keymap="Node Tool: Links Cut",
+ options={'KEYMAP_FALLBACK'},
)
@@ -2462,6 +2463,7 @@ class _defs_sequencer_generic:
widget=None,
keymap="Sequencer Tool: Blade",
draw_settings=draw_settings,
+ options={'KEYMAP_FALLBACK'},
)
@ToolDef.from_fn
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 1c2190bb7a0..0172fa0655f 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -2265,6 +2265,7 @@ class VIEW3D_MT_object(Menu):
layout.separator()
+ layout.menu("VIEW3D_MT_object_asset")
layout.menu("VIEW3D_MT_object_parent")
layout.menu("VIEW3D_MT_object_collection")
layout.menu("VIEW3D_MT_object_relations")
@@ -2758,6 +2759,16 @@ class VIEW3D_MT_object_cleanup(Menu):
layout.operator("object.material_slot_remove_unused", text="Remove Unused Material Slots")
+class VIEW3D_MT_object_asset(Menu):
+ bl_label = "Asset"
+
+ def draw(self, _context):
+ layout = self.layout
+
+ layout.operator("asset.mark")
+ layout.operator("asset.clear", text="Clear Asset").set_fake_user = False
+ layout.operator("asset.clear", text="Clear Asset (Set Fake User)").set_fake_user = True
+
class VIEW3D_MT_make_single_user(Menu):
bl_label = "Make Single User"
@@ -7541,6 +7552,7 @@ classes = (
VIEW3D_MT_image_add,
VIEW3D_MT_object,
VIEW3D_MT_object_animation,
+ VIEW3D_MT_object_asset,
VIEW3D_MT_object_rigid_body,
VIEW3D_MT_object_clear,
VIEW3D_MT_object_context_menu,
diff --git a/release/scripts/startup/nodeitems_builtins.py b/release/scripts/startup/nodeitems_builtins.py
index 0a34f541e5c..34f447a7108 100644
--- a/release/scripts/startup/nodeitems_builtins.py
+++ b/release/scripts/startup/nodeitems_builtins.py
@@ -87,8 +87,6 @@ def curve_node_items(context):
space = context.space_data
if not space:
return
- if not space.edit_tree:
- return
if geometry_nodes_legacy_poll(context):
yield NodeItem("GeometryNodeLegacyCurveEndpoints")
@@ -137,8 +135,6 @@ def mesh_node_items(context):
space = context.space_data
if not space:
return
- if not space.edit_tree:
- return
if geometry_nodes_legacy_poll(context):
yield NodeItem("GeometryNodeLegacyEdgeSplit", poll=geometry_nodes_legacy_poll)
@@ -157,6 +153,32 @@ def mesh_node_items(context):
yield NodeItemCustom(draw=lambda self, layout, context: layout.separator())
yield NodeItem("GeometryNodeSetShadeSmooth")
+# Custom Menu for Geometry Nodes "Geometry" category
+def geometry_node_items(context):
+ if context is None:
+ return
+ space = context.space_data
+ if not space:
+ return
+
+ if geometry_nodes_legacy_poll(context):
+ yield NodeItem("GeometryNodeLegacyDeleteGeometry", poll=geometry_nodes_legacy_poll)
+ yield NodeItem("GeometryNodeLegacyRaycast", poll=geometry_nodes_legacy_poll)
+ yield NodeItemCustom(draw=lambda self, layout, context: layout.separator())
+
+ yield NodeItem("GeometryNodeBoundBox")
+ yield NodeItem("GeometryNodeConvexHull")
+ yield NodeItem("GeometryNodeDeleteGeometry")
+ yield NodeItem("GeometryNodeProximity")
+ yield NodeItem("GeometryNodeJoinGeometry")
+ yield NodeItem("GeometryNodeRaycast")
+ yield NodeItem("GeometryNodeSeparateComponents")
+ yield NodeItem("GeometryNodeSeparateGeometry")
+ yield NodeItem("GeometryNodeTransform")
+ yield NodeItemCustom(draw=lambda self, layout, context: layout.separator())
+ yield NodeItem("GeometryNodeSetID")
+ yield NodeItem("GeometryNodeSetPosition")
+
# Custom Menu for Geometry Node Input Nodes
def geometry_input_node_items(context):
if context is None:
@@ -164,15 +186,13 @@ def geometry_input_node_items(context):
space = context.space_data
if not space:
return
- if not space.edit_tree:
- return
if geometry_nodes_legacy_poll(context):
yield NodeItem("FunctionNodeLegacyRandomFloat")
yield NodeItemCustom(draw=lambda self, layout, context: layout.separator())
- yield NodeItem("GeometryNodeCollectionInfo")
yield NodeItem("FunctionNodeInputBool")
+ yield NodeItem("GeometryNodeCollectionInfo")
yield NodeItem("FunctionNodeInputColor")
yield NodeItem("FunctionNodeInputInt")
yield NodeItem("GeometryNodeIsViewport")
@@ -182,6 +202,7 @@ def geometry_input_node_items(context):
yield NodeItem("ShaderNodeValue")
yield NodeItem("FunctionNodeInputVector")
yield NodeItemCustom(draw=lambda self, layout, context: layout.separator())
+ yield NodeItem("GeometryNodeInputID")
yield NodeItem("GeometryNodeInputIndex")
yield NodeItem("GeometryNodeInputNormal")
yield NodeItem("GeometryNodeInputPosition")
@@ -194,8 +215,6 @@ def geometry_material_node_items(context):
space = context.space_data
if not space:
return
- if not space.edit_tree:
- return
if geometry_nodes_legacy_poll(context):
yield NodeItem("GeometryNodeLegacyMaterialAssign")
@@ -217,8 +236,6 @@ def point_node_items(context):
space = context.space_data
if not space:
return
- if not space.edit_tree:
- return
if geometry_nodes_legacy_poll(context):
yield NodeItem("GeometryNodeLegacyAlignRotationToVector", poll=geometry_nodes_legacy_poll)
@@ -244,15 +261,16 @@ def node_group_items(context):
space = context.space_data
if not space:
return
- ntree = space.edit_tree
- if not ntree:
- return
yield NodeItemCustom(draw=group_tools_draw)
yield NodeItem("NodeGroupInput", poll=group_input_output_item_poll)
yield NodeItem("NodeGroupOutput", poll=group_input_output_item_poll)
+ ntree = space.edit_tree
+ if not ntree:
+ return
+
yield NodeItemCustom(draw=lambda self, layout, context: layout.separator())
def contains_group(nodetree, group):
@@ -677,21 +695,7 @@ geometry_node_categories = [
NodeItem("GeometryNodeCurvePrimitiveQuadrilateral"),
NodeItem("GeometryNodeCurvePrimitiveBezierSegment"),
]),
- GeometryNodeCategory("GEO_GEOMETRY", "Geometry", items=[
- NodeItem("GeometryNodeLegacyDeleteGeometry", poll=geometry_nodes_legacy_poll),
- NodeItem("GeometryNodeLegacyRaycast", poll=geometry_nodes_legacy_poll),
-
- NodeItem("GeometryNodeRaycast"),
- NodeItem("GeometryNodeProximity"),
- NodeItem("GeometryNodeBoundBox"),
- NodeItem("GeometryNodeConvexHull"),
- NodeItem("GeometryNodeDeleteGeometry"),
- NodeItem("GeometryNodeTransform"),
- NodeItem("GeometryNodeJoinGeometry"),
- NodeItem("GeometryNodeSeparateComponents"),
- NodeItem("GeometryNodeSeparateGeometry"),
- NodeItem("GeometryNodeSetPosition"),
- ]),
+ GeometryNodeCategory("GEO_GEOMETRY", "Geometry", items=geometry_node_items),
GeometryNodeCategory("GEO_INPUT", "Input", items=geometry_input_node_items),
GeometryNodeCategory("GEO_INSTANCE", "Instances", items=[
NodeItem("GeometryNodeInstanceOnPoints"),
@@ -727,6 +731,7 @@ geometry_node_categories = [
NodeItem("FunctionNodeReplaceString"),
]),
GeometryNodeCategory("GEO_TEXTURE", "Texture", items=[
+ NodeItem("ShaderNodeTexBrick"),
NodeItem("ShaderNodeTexChecker"),
NodeItem("ShaderNodeTexGradient"),
NodeItem("ShaderNodeTexMagic"),
@@ -735,6 +740,7 @@ geometry_node_categories = [
NodeItem("ShaderNodeTexVoronoi"),
NodeItem("ShaderNodeTexWave"),
NodeItem("ShaderNodeTexWhiteNoise"),
+ NodeItem("GeometryNodeImageTexture"),
]),
GeometryNodeCategory("GEO_UTILITIES", "Utilities", items=[
NodeItem("ShaderNodeMapRange"),
@@ -758,6 +764,7 @@ geometry_node_categories = [
]),
GeometryNodeCategory("GEO_VOLUME", "Volume", items=[
NodeItem("GeometryNodeLegacyPointsToVolume", poll=geometry_nodes_legacy_poll),
+ NodeItem("GeometryNodeLegacyVolumeToMesh", poll=geometry_nodes_legacy_poll),
NodeItem("GeometryNodeVolumeToMesh"),
]),