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:
authorJacques Lucke <mail@jlucke.com>2019-05-07 16:09:14 +0300
committerJacques Lucke <mail@jlucke.com>2019-05-07 16:09:14 +0300
commitf2b7582b27fa1235a013b2d92af72428c0fc1623 (patch)
tree6585abf521e82cc1933aa498fc6688970be9f5a8 /release
parente4669199bf9c819d82072f7dd93ff7156e9e72aa (diff)
UI: Animation editor scrubbing area
The main reason for this change is to allow setting the active frame with the left mouse button, while still being able to select e.g. keyframes with the same mouse button. The solution is to introduce a new scrubbing region with a specialized keymap. There are a couple of related todos, that will be handled in separate commits. Those are listed in D4654. This solves T63193. Differential Revision: https://developer.blender.org/D4654 Reviewers: brecht, billreynish
Diffstat (limited to 'release')
-rw-r--r--release/datafiles/userdef/userdef_default_theme.c15
-rw-r--r--release/scripts/presets/keyconfig/keymap_data/blender_default.py17
-rw-r--r--release/scripts/startup/bl_ui/space_dopesheet.py18
3 files changed, 29 insertions, 21 deletions
diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c
index d1e2fa876d8..c93e4847c15 100644
--- a/release/datafiles/userdef/userdef_default_theme.c
+++ b/release/datafiles/userdef/userdef_default_theme.c
@@ -397,7 +397,7 @@ const bTheme U_theme_default = {
.space_graph = {
.back = RGBA(0x42424200),
.title = RGBA(0xffffffff),
- .text = RGBA(0x000000ff),
+ .text = RGBA(0xa6a6a6ff),
.text_hi = RGBA(0xffffffff),
.header = RGBA(0x2e2e2eff),
.header_text = RGBA(0xeeeeeeff),
@@ -427,6 +427,7 @@ const bTheme U_theme_default = {
.vertex = RGBA(0x000000ff),
.vertex_select = RGBA(0xff8500ff),
.cframe = RGBA(0x5680c2ff),
+ .scrubbing_background = RGBA(0x29292999),
.lastsel_point = RGBA(0xffffffff),
.handle_auto = RGBA(0x909000ff),
.handle_vect = RGBA(0x409030ff),
@@ -482,7 +483,7 @@ const bTheme U_theme_default = {
.space_action = {
.back = RGBA(0x42424200),
.title = RGBA(0xeeeeeeff),
- .text = RGBA(0x000000ff),
+ .text = RGBA(0xa6a6a6ff),
.text_hi = RGBA(0xffffffff),
.header = RGBA(0x424242ff),
.header_text = RGBA(0xeeeeeeff),
@@ -513,6 +514,7 @@ const bTheme U_theme_default = {
.strip = RGBA(0x1a151580),
.strip_select = RGBA(0xff8c00cc),
.cframe = RGBA(0x5680c2ff),
+ .scrubbing_background = RGBA(0x29292999),
.ds_channel = RGBA(0x0f2c4d24),
.ds_subchannel = RGBA(0x143e6624),
.ds_ipoline = RGBA(0x94e575cc),
@@ -539,7 +541,7 @@ const bTheme U_theme_default = {
.space_nla = {
.back = RGBA(0x42424200),
.title = RGBA(0xffffffff),
- .text = RGBA(0x000000ff),
+ .text = RGBA(0xa6a6a6ff),
.text_hi = RGBA(0xffffffff),
.header = RGBA(0x424242ff),
.header_text = RGBA(0xeeeeeeff),
@@ -566,6 +568,7 @@ const bTheme U_theme_default = {
.strip = RGBA(0x0c0a0a80),
.strip_select = RGBA(0xff8c00ff),
.cframe = RGBA(0x5680c2ff),
+ .scrubbing_background = RGBA(0x29292999),
.ds_channel = RGBA(0x5a85b2ff),
.ds_subchannel = RGBA(0x7d98b3ff),
.keyborder = RGBA(0x000000ff),
@@ -589,7 +592,7 @@ const bTheme U_theme_default = {
.space_sequencer = {
.back = RGBA(0x42424200),
.title = RGBA(0xeeeeeeff),
- .text = RGBA(0x000000ff),
+ .text = RGBA(0xa6a6a6ff),
.text_hi = RGBA(0xffffffff),
.header = RGBA(0x424242ff),
.header_text = RGBA(0xeeeeeeff),
@@ -612,6 +615,7 @@ const bTheme U_theme_default = {
.vertex_select = RGBA(0xff8500ff),
.bone_pose = RGBA(0x50c8ff50),
.cframe = RGBA(0x5680c2ff),
+ .scrubbing_background = RGBA(0x29292999),
.vertex_size = 3,
.outline_width = 1,
.facedot_size = 4,
@@ -861,7 +865,7 @@ const bTheme U_theme_default = {
.space_clip = {
.back = RGBA(0x42424200),
.title = RGBA(0xeeeeeeff),
- .text = RGBA(0xe6e6e6ff),
+ .text = RGBA(0xa6a6a6ff),
.text_hi = RGBA(0xffffffff),
.header = RGBA(0x424242ff),
.header_text = RGBA(0xeeeeeeff),
@@ -885,6 +889,7 @@ const bTheme U_theme_default = {
.strip = RGBA(0x0c0a0a80),
.strip_select = RGBA(0xff8c00ff),
.cframe = RGBA(0x5680c2ff),
+ .scrubbing_background = RGBA(0x29292999),
.handle_auto = RGBA(0x909000ff),
.handle_align = RGBA(0x803060ff),
.handle_sel_auto = RGBA(0xf0ff40ff),
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index 376e27ddae2..b0c5ec7cb93 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -1307,6 +1307,22 @@ def km_markers(params):
return keymap
+def km_scrubbing(params):
+ items = []
+ keymap = (
+ "Scrubbing",
+ {"space_type": 'EMPTY', "region_type": 'WINDOW'},
+ {"items": items},
+ )
+
+ items.extend([
+ ("anim.change_frame", {"type": "LEFTMOUSE", "value": 'PRESS'}, None),
+ ("graph.cursor_set", {"type": "LEFTMOUSE", "value": 'PRESS'}, None),
+ ])
+
+ return keymap
+
+
def km_graph_editor_generic(_params):
items = []
keymap = (
@@ -6105,6 +6121,7 @@ def generate_keymaps(params=None):
km_view3d(params),
km_mask_editing(params),
km_markers(params),
+ km_scrubbing(params),
km_graph_editor_generic(params),
km_graph_editor(params),
km_image_generic(params),
diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py
index 70d37c971a5..db69a99b9df 100644
--- a/release/scripts/startup/bl_ui/space_dopesheet.py
+++ b/release/scripts/startup/bl_ui/space_dopesheet.py
@@ -31,7 +31,7 @@ from bpy.types import (
# used for DopeSheet, NLA, and Graph Editors
-def dopesheet_filter(layout, context, generic_filters_only=False):
+def dopesheet_filter(layout, context):
dopesheet = context.space_data.dopesheet
is_nla = context.area.type == 'NLA_EDITOR'
@@ -44,18 +44,6 @@ def dopesheet_filter(layout, context, generic_filters_only=False):
else: # graph and dopesheet editors - F-Curves and drivers only
row.prop(dopesheet, "show_only_errors", text="")
- if not generic_filters_only:
- if bpy.data.collections:
- row = layout.row(align=True)
- row.prop(dopesheet, "filter_collection", text="")
-
- if not is_nla:
- row = layout.row(align=True)
- row.prop(dopesheet, "filter_fcurve_name", text="")
- else:
- row = layout.row(align=True)
- row.prop(dopesheet, "filter_text", text="")
-
#######################################
# Dopesheet Filtering Popovers
@@ -260,9 +248,7 @@ class DOPESHEET_HT_editor_buttons(Header):
if st.mode == 'DOPESHEET':
dopesheet_filter(layout, context)
elif st.mode == 'ACTION':
- # 'generic_filters_only' limits the options to only the relevant 'generic' subset of
- # filters which will work here and are useful (especially for character animation)
- dopesheet_filter(layout, context, generic_filters_only=True)
+ dopesheet_filter(layout, context)
elif st.mode == 'GPENCIL':
row = layout.row(align=True)
row.prop(st.dopesheet, "show_gpencil_3d_only", text="Active Only")