Commit Graph

358 Commits

Author SHA1 Message Date
237ef0dcc7 Fix T74842: Remove Vertex Paint hotkeys
There were some conflicts with these keys.
2020-03-18 15:49:58 +01:00
a52f6d7a31 Fix T66269: Menu for Extrapolation Mode is disabled in Graph Editor
The Extrapolation Mode menu in the graph editor channel list was
incorrectly using the operator for the Action/Dopesheet editor. The
operator was even missing in the generic dopesheet hotkeys, so
{key Shift E} was listed as hotkey but didn't work. This is now all
fixed.
2020-03-10 14:18:19 +01:00
a801487ef5 Fix T65076: Missing EasingType implementation on the Dopesheet
EasingType was implemented rBdaccaa713b6e for the GraphEditor (but never
made it to the Dopesheet). If you can select Easing Mode in the
DopeSheet, then you should also be able to select the associated Easing
Type.

Thanks @lichtwerk for the initial implementation.

Maniphest Tasks: T65076

Differential Revision: https://developer.blender.org/D6094
2020-03-10 14:02:40 +01:00
29f3af9527 GPencil: Refactor of Draw Engine, Vertex Paint and all internal functions
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes.

Also, a huge code cleanup has been done at all levels.

Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development.

Differential Revision: https://developer.blender.org/D6293
2020-03-09 16:27:24 +01:00
52dc1ddaa0 Revert "Outliner: Allow deleting entire selection"
This reverts commit 62f238a65e.

This prevents undo steps from being stored.
2020-03-08 13:48:21 +11:00
62f238a65e Outliner: Allow deleting entire selection
This allows deleting both collections and objects in the outliner
selection at the same time. This only works using the keyboard shortcuts
(X or Delete).

While this works, a more robust solution should be implemented later to
allow deleting the whole selection from the context menu as well.
2020-03-07 14:46:22 -07:00
2e7cfb86fe Keymap: ignore repeat events for transform actions
Resolves T54297
2020-03-06 21:02:11 +11:00
38d6533f21 Sculpt Face Sets
Face Sets are the new system to control the visibility state of the mesh in sculpt and paint modes. They are designed to work in modes where brushes are the primary way of interaction and they provide much more control when working with meshes with complex shapes and overlapping surfaces.

This initial commit includes:
- Sculpt Face Sets data structures and PBVH rendering.
- Face Set overlay and opacity controls.
- Sculpt Undo support.
- Remesher reprojection support. The visibility state of the mesh is also preserved when remeshing.
- Automasking and Mesh filter support.
- Mask expand operator mode to expand Face Sets (Shift + W) and flood fill areas by connectivity (press Ctrl while expanding).
- Sculpt Mode Face Sets and Visibility API.
- Sculpt Face Sets creation and visibility management operators.
- Operator to randomize the Face Sets colors.
- Draw Face Sets brush tool to create and edit the Face Sets. Drawing on the mesh creates a new Face Set. Pressing Ctrl before drawing modifies the Face Set under the brush at the beginning of the stroke.
- Updated keymap and menu to work with Face Sets from Sculpt Mode (H to toggle visibility, Alt + H to show all, Shit + H to hide).
- Pie menu on the W key with Face common Sets operations.

Know limitations:
- Multires support. The Face Sets and Visibility API needs to be implemented for Multires.

Reviewed By: jbakker, #user_interface, Severin

Differential Revision: https://developer.blender.org/D6070
2020-03-05 21:07:20 +01:00
e8ab0137f8 File Browser: Add Ctrl+F shortcut to activate filter textbox
Reviewers: Severin, brecht

Differential Revision: https://developer.blender.org/D6941
2020-02-28 14:34:56 +01:00
dd2cdd436f Fix T72903: Bone envelope & bone size tool functionality swapped 2020-02-28 09:18:07 +11:00
4952fb1669 Fix T54323: Improve Paint category names in keymap preferences
While one issue of the report was fixed already (rB27adc4aa3347), still a
couple of clarifications could be made:
- correct/clarify which modes these apply to
- clarify that "Face Mask" is a paint thing

Maniphest Tasks: T54323

Differential Revision: https://developer.blender.org/D6797
2020-02-27 10:11:23 +01:00
c64cea14ed Keymap: minor tweaks so box-select shortcuts show in the menu 2020-02-17 21:03:56 +11:00
c0423c871d Keymap: add sequencer box select with handles
Use Ctrl-B, include in menu, rename property to match graph editor.
2020-02-17 20:44:18 +11:00
819af2094b Rename Sequencer 'Cut' to 'Split'
This avoids the ambiguity with the Cut operator in the Sequencer, which could be confused with Cut/Copy/Paste.

Use 'Split' for the operator and 'Blade' for the active tool.

Patch by Nathan Lovato, with edits

Differential Revision: https://developer.blender.org/D5542
2020-02-16 21:39:12 +01:00
a200986273 Keymap: Add front/back Alt-MMB absolute view axis switching
Oversight in previous commit.
2020-02-15 19:07:25 +11:00
44d7706fe1 Fix property warning due to recent commit
```Warning: property 'mode' not found in keymap item 'TRANSFORM_OT_bbone_resize'```
2020-02-14 15:54:48 -03:00
ef4505a158 Fix T68610: B-Bone display size/scaling op issues
Fix ReDo and create a new operator to display only the required properties.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6849
2020-02-14 11:51:29 -03:00
5ca7c85e10 Particle editmode: add mouse independent "Select Linked" operator
The current "Select Linked" operator works based on mouse position and
makes no sense to call from the menus and was removed in rBdd9dfadaac9b.

This patch adds an operator independent from mouse position that just
selects all keys to a corresponding point (and adds back menu entries,
adds keymap entry).

The original operator is renamed to 'select_linked_pick' internally
(this is now more in line to how "Select Linked" works for meshes,
curves etc)

Differential Revision: https://developer.blender.org/D6823
2020-02-14 11:37:17 +01:00
10b04fa316 Revert "VSE: Add option to select handles with box selection"
This partially reverts commit 5314161491.

Conflicts with Emulate "Middle Mouse Button".
This feature should be accessible under all supported configurations.
2020-02-13 11:33:03 +11:00
a1e50cfe6b Weight Paint: add a pie menu for locking and unlocking vertex groups.
Provide different options for locking and unlocking vertex groups
using bone selection, accessible via a pie menu triggered via the
'K' hotkey. To implement a variety of operations, extend the old
operator with a new option to mask it by bone selection. If the
X Mirror option is enabled, selection is automatically mirrored.

This follows D6533 as the next step in improving accessibility of
vertex group locking during weight painting.

Differential Revision: https://developer.blender.org/D6618
2020-02-12 14:08:07 +03:00
8a9c4bd907 Cleanup: keymap formatting, unused arg 2020-02-10 10:07:58 +11:00
5314161491 VSE: Add option to select handles with box selection
Patch adds an "Handle" option to the `SEQUENCER_OT_box_select` operator,
that allows to select the handles instead of whole strips.
Feature is mapped to Alt key modifier

A difference from the proposed design in T70730 is that covering the entire strip with the box actually selects both handles.

Reviewed By: iss

Differential Revision: https://developer.blender.org/D6372
2020-02-09 17:59:13 +01:00
192314b9d3 Merge branch 'blender-v2.82-release' 2020-02-07 13:57:27 +11:00
c01dea5711 Merge branch 'blender-v2.82-release' 2020-02-07 13:57:23 +11:00
1778efc897 Keymap: preference to swap 3D orbit/pan actions
Requested by @pepeland for grease pencil/2D usage.
2020-02-07 13:47:29 +11:00
d8830048f7 Keymap: preference for relative/absolute Alt-MMB navigation
Original request from Hjalti was to set absolute view axis,
so make this an option.
2020-02-07 13:46:04 +11:00
bd59b21907 Keymap: Add ability to extend or subtract animation channel box selections
For some reason this was missing. Seems to be a simple oversight.

Differential Revision: https://developer.blender.org/D6707

Reviewed by Julian Eisel
2020-01-29 14:07:26 +01:00
7642ee627a Merge branch 'blender-v2.82-release' 2020-01-29 11:11:40 +11:00
William Reynish
f9e1e088a4 Tool System: add shear tool to non-mesh edit-modes 2020-01-29 10:34:42 +11:00
Yevgeny Makarov
773beec541 macOS: add trackpad smart zoom event support
This is done with two-finger double tap on trackpads, and is usually used to
zoom into an element under the cursor.

It can now be used for toggling local view in the 3D viewport.

Differential Revision: https://developer.blender.org/D6588
2020-01-28 11:35:18 +01:00
Julian Eisel
4e881540f7 Fix mistake in previous commit
While the behavior of this shortcut can be argued (it only works while
hovering the possibly invisible markers region), it was not my intention
to remove it entierly from the Graph and Sequencer Editor. Only wanted
to copy it.
2020-01-27 11:49:24 +01:00
Julian Eisel
6dbc254c0b Fix T66920: Shortcut Bind Camera to Marker in timeline not working
The shortcut was only registered for the marker region, although it can
be registered to the main region without conflicts.
2020-01-27 11:42:46 +01:00
6a49161c8c VSE: Tool system integration
Add toolbar to sequencer regions.

A bit of refactoring has to be done in RNA space.
Currently there is only cut tool implemented to serve as template for
anybody who would like to add more.
2020-01-22 15:06:18 +01:00
fbe25aeed4 Cleanup: adjust extend argument for tweak tool
This isn't a type, name argument 'extend'.
2020-01-23 00:41:26 +11:00
7f794ae09d Keymap: Use PRESS event for Tweak tool extend selection
This makes selection more responsive when using the Tweak tool

Differential Revision: https://developer.blender.org/D6608

Reviewed by Campbell Barton
2020-01-17 14:09:54 +01:00
d68346eacf Fix T72803: Texture Paint: Shortcut 'Shift + S' Does Not Save an Image
'Shift + S' is taken by toggeling Smooth Stroke in the keymap, should be
'Shift + Alt + S' (this also goes more in line with other editors, where
Alt is added to the shortcut used by 'Save' to do 'Save As')

Maniphest Tasks: T72803

Differential Revision: https://developer.blender.org/D6572
2020-01-15 09:51:59 +01:00
ad69127859 Fix mesh randomize tool not running
Missing from recent update to execute immediately
when properties are set.
2020-01-10 13:03:12 +11:00
b5cef9fc3f GPencil: Fix wrong keymap for Radius thickness (related to T72945) 2020-01-07 09:15:26 +01:00
461261c18d Fix T69207: Surface objects showed curves ADD menu (Shift+A) in editmode 2020-01-02 15:50:58 +01:00
86832ececc Tool System: adjust Smooth/Randomize modal operator behavior
Previously the default values were left non-zero to avoid having to
update scripts. However, this meant it wasn't possible to setup
non-modal key bindings for smooth & randomize.

Now these operators follow logic of many other operators where setting
the value executes immediately, leaving unset runs modal.

Existing keymaps & scripts will need to be updated.

Addresses issue raised in f4a4ec8425.
2020-01-02 17:18:42 +11:00
03bd44a1ca Fix error in recent context menu update
Some of them are panels, not menus.
2019-12-12 16:53:11 +11:00
da09bbc3dd Cleanup: some variables had unused naming but were used 2019-12-12 15:50:26 +11:00
3ea736fb4d Keymap: use the application key for the context menu
This gives keyboard access to the context menu which can be useful
when using accelerator keys to access items within it.
2019-12-10 17:55:29 +11:00
6ffcddc10a Tool System: experimental fallback tool support
Implement T66304 as an experimental option,
available under the preferences "Experimental" section.

- When enabled most tools in the 3D view have a gizmo.
- Dragging outside the gizmo uses the 'fallback' tool.
- The fallback tool can be changed or disabled in the tool options
  or from a pie menu (Alt-W).
2019-12-07 06:03:00 +11:00
53f27cdc20 UI: use popover for NDOF menu
Number sliders were being used in a menu which doesn't work very well.
2019-11-29 19:12:50 +11:00
9af0cdcd93 Cleanup: remove unused text.selection_set select option
This was meant to set the selection end instead of the cursor
however it hasn't been working for years and seems quite obscure.
2019-11-24 22:05:59 +11:00
Julian Eisel
b037ba2665 UI: Changes to Graph Editor selection and transform
When introducing "drag-all-selected" support all over Blender, we
figured this wouldn't work well with the Graph Editor
selection/transform behavior.
Hence, William and I worked on the following changes, although we used
this chance to improve the behavior in general too.
For more info see T70634.

* Handles now always move with the key, regardless if they are selected
  or not.
* Selecting the key doesn't select the handles anymore, their selection
  is separate.
* Multiple keys and handles can now be dragged.
* Dragging a handle moves all selected handles **on the same side**.
* Tweak-dragging any handle can never affect any keyframe location,
  only handles.
* G/R/S should behave as before.
* Changing the handle type with a key selected always applies the change
  to both handles.
* Box selection with Ctrl+Drag now allows deselecting handles (used to
  act on entire triple only).
* Box selection //Include Handles// option now only acts on visible
  handles, wasn't the case with Only Selected Keyframes Handles enabled.
* Box selection //Include Handles// is now enabled by default in all
  bundled keymaps.

The changes have been tested for some days by the animators here in the
Blender Animation Studio. Some changes are based on their feedback.

Also, this improves/adds comments for related code.

Differential Revision: https://developer.blender.org/D6235

Reviewed by: Sybren Stüvel, William Reynish
2019-11-22 16:54:43 +01:00
e98d27fd8d Keymap: use tab key for indent or auto-complete
Only indent when there aren't characters before the cursor.

This resolves the conflict with Ctrl-Space for view maximize.

D6239 by @wbrbr for text editor, based console support on this.
2019-11-22 20:53:40 +11:00
616c2d7531 Missed last commit 2019-11-21 23:00:04 +11:00
f4a4ec8425 Tool System: make smooth & randomize modal operators
Previously these used a gizmo to redo the operator however this
complicated having on-screen gizmos to access tools (see T66304).

Replace this with a generic way to make an operator that only has an
execute function into a modal operator.

This is used for smooth and randomize tools.

Unlike operator gestures, this handles storing and resetting the data.

Currently this only handles edit-mode data, however it's can be
extended to other kinds of data.
2019-11-21 22:45:15 +11:00