Commit Graph

319 Commits

Author SHA1 Message Date
f8c16b0175 Cleanup: move bpy_extras.keyconfig_utils to own module
bpy_extras were meant to be useful high-level helper functions for
script authors to perform common operations,
to avoid writing to verbose API's.

bpy_extras.keymap_utils contains some specialized API calls
mainly intended for Blender's own internal use.

Move keymap import export to internal API.
2018-11-20 11:06:01 +11:00
d870e7d930 Keymap: skip save prompt for default keymap
See T57880
2018-11-20 10:15:33 +11:00
47139c69d7 Keymap: only use delete confirmation for X-key
Only use confirmation w/ X-key since this is more likely to be pressed
by accident. Delete-key delete doesn't confirm.

Part of D3953 by @Zachman w/ edits
2018-11-20 10:06:02 +11:00
5f9de429ac UI: show keyconfig prefs directly under preset
The keyconfig preset and it's preferences were too far apart,
show the preferences under the preset in a collapsible box.
2018-11-20 09:15:53 +11:00
8617594515 Keymap: remove 3ds and maya keymaps
These aren't well maintained and as far as we know
never gained wide adoption.

Remove, we can focus efforts on other key-maps, see: T54963.
2018-11-20 08:15:53 +11:00
c9f24a5690 WM: remove interaction presets
These only exposed a few options, which didn't end up helping
much to make Blender's key-map fit the behavior of other applications.
2018-11-20 08:11:46 +11:00
de231887b4 Themes: Remove deprecated themes.
Most themes have missing/wrong settings due to the new editors in 2.8

A Call-for-content has been made at devtalk.blender.org for the community to contribute new ones.
2018-11-19 12:31:08 +01:00
740adf2a4b Cleanup: style 2018-11-19 13:37:18 +11:00
472b114761 Fix keymap loading multiple times
Blender defaults data-file was loading it's own key-map
with a capital 'B', the preset would load it again w/ a lowercase name.

Use lowercase key-map names.
2018-11-19 13:11:33 +11:00
9f4e4d672c Cleanup: naming 2018-11-19 07:06:38 +11:00
3b48620098 Cleanup: naming 2018-11-19 07:04:24 +11:00
074cd53c19 Keymap: move left click select to a preference 2018-11-19 06:27:17 +11:00
991bb00762 GP: Rename GPENCIL_OT_brush_paint to GPENCIL_OT_sculpt_paint
This makes the operator name more consistent. Part of T57818
2018-11-18 18:07:16 +01:00
0cac506f6e Keymap: preference to swap space/shift-space keys
This option is for animators who may not use the tool-system much
(mostly staying in object/pose-mode with the transform-tool active).
2018-11-18 13:43:44 +11:00
c57951d903 Keymap: add user-prefs to the default keyconfig
Currently the only option is to use select-all as a toggle.
2018-11-18 12:45:14 +11:00
50a4a899fd Keymap: Default pref for select-all to toggle
Access in the UI next.
2018-11-18 12:39:31 +11:00
54091d935f Fix inconsistent frame set event in graph compared to other animation editors. 2018-11-16 15:53:48 +01:00
d5ab6af864 Keymaps: some more tweaks for left click select based on user feedback.
* More tools now combine with select click by only starting on drag.
* Alt+LMB works again as loop select as alternative to double click LMB.
2018-11-16 15:28:56 +01:00
cb79b691cd Cleanup: set variable for preference name 2018-11-16 15:00:27 +11:00
b24de94c29 Cleanup: de-duplicate 3d view select items 2018-11-16 10:51:33 +11:00
988c4259e5 Keymaps: add double click loop select to RMB keymap. 2018-11-16 00:37:30 +01:00
e18cc071f8 Fix Blender RMB keymap cursor being set when using border select. 2018-11-16 00:37:30 +01:00
8510ef02f9 Fix Blender 2.7 keymap missing spacebar search menu. 2018-11-16 00:24:52 +01:00
bf7af31e9f Keymaps: left click select keymap changes
Both the active tools and selection are now on LMB, which leads to
various conflicts.

For that reason the LMB keymap now has a couple of differences
compared to before. These changes do not affect the RMB keymap.

* Context Menu: W -> RMB
* Select Tool activate: None -> W
* Set Cursor: RMB -> Shift+RMB
* Loop Select: Alt+LMB -> double click LMB
* Mask Feather Vertex Slide: Shift+RMB -> Ctrl+Shift+RMB
* Node Select: only with LMB now, no RMB

The idea behind the W key Select Tool shortcut is that various
tools can't be combined with selection, unlike the RMB keymap.
So this works as a quick shortcut to drop a tool
and go back to selection.

Tools: set Select Box tool as default, rather than Cursor.

This goes along with coming LMB select keymap changes,
where we want the user to be able to LMB click to select by default,
rather than set the cursor.
The cursor will still be directly setabble with shift+RMB.
2018-11-16 09:54:50 +11:00
5215c42e3c Revert "Keymap: remove 3D cursor keymap"
This reverts commit 8ecc51e87f.

This is needed for keymaps that dont include cursor placement by
default.
2018-11-16 09:44:19 +11:00
be66428a8f Error in recent keymap update 2018-11-16 09:23:48 +11:00
088be7eb2f Keymaps: replace select / action mouse system
For Blender builtin configurations the option to choose the select mouse remains
and is now also in the splash screen. It works by changing the keymap dynamically
in the script, rather than using special events.

The system of automatic switching of events was not flexible enough to deal with
side effects that require further keymap changes, so it is now under more manual
control in the script.

This breaks compatibility for some scripts and exported key configurations.
These can be fixed by replacing SELECTMOUSE, ACTIONMOUSE, EVT_TWEAK_S and
EVT_TWEAK_A with appropriate LEFTMOUSE, RIGHTMOUSE, EVT_TWEAK_L and
EVT_TWEAK_R events.

Other than that, there should be no functional changes.
2018-11-16 08:31:00 +11:00
8ecc51e87f Keymap: remove 3D cursor keymap
Rely on 3D view keymap, fixes T57843
2018-11-16 07:59:00 +11:00
71fd7e610a Keymaps: minor code refactor after adding tools to default preset. 2018-11-15 12:50:33 +01:00
William Reynish
165c447691 Tool System: add curve tilt tool 2018-11-15 22:31:47 +11:00
02d77e5bf5 Keymap: use parameters for tool keymap 2018-11-15 12:54:44 +11:00
27eba3867a Keymap: move tool system keymaps into the default keymap
Note that tools can still define their keymaps,
since it's useful for add-ons.
2018-11-15 12:45:45 +11:00
43ee433dce UI: Comment out "Clip border" operator
Also Remove it from the UI as it has not been ported to 2.8 and it is a
delicate thing to do.
2018-11-14 11:50:37 +01:00
c279f879ab Paint: remove brush select paint_mode
Instead check which property has been set.
2018-11-14 11:55:02 +11:00
f9145bded3 Keymaps: minor code refactor to abstract some events, no functional changes. 2018-11-13 20:29:36 +01:00
8a14306c38 Keymap: code refactor to makes some events changeable with parameters.
No functional changes.
2018-11-13 18:22:07 +01:00
7aae28af2d Keymaps: refactor loading of default keymap, fix bugs.
This refactors loading of key configurations to clear and refill existing
ones, rather than adding a new one and then removing the old one.

This fixes broken loading of non-default configurations after recent changes,
and prepares for future changes to make it possible to dynamically change
key configurations based on user preferences.
2018-11-13 18:22:07 +01:00
b657e9875c Tool System: use enum for gp sculpt/weight paint
Fixes T57525
2018-11-13 16:52:39 +11:00
b323167600 GP: box/lasso support for select-operations
This adds support for more adbvanced select operations
matching 3D view select operators.

Also de-duplicate box/lasso select code.
2018-11-13 14:04:00 +11:00
e17843782c Cleanup: use namedtuple for KeymapParams
Prefer immutable types where possible.
2018-11-13 08:58:53 +11:00
7346c4f513 Cleanup: use proportional edit template for keymap 2018-11-09 13:14:48 +11:00
8a41de0f8c Cleanup: de-duplicate keymap items 2018-11-09 12:46:00 +11:00
3064da1200 Keymap: move builtin keymaps from C to Python
This should be purely an implementation change,
for end users there should be no functional difference.

The entire key configuration is in one file with ~5000 lines of code.
Mostly avoiding code duplication and preserve comments and utility
functions from the C code.
It's a bit long but for searching and editing it's also convenient to
have it all in one file.

Notes:

- Actual keymap is shared by blender / blender_legacy
  and stored in `keymap_data/blender_default.py`

  This only generates JSON-like data to be passed into
  `keyconfig_import_from_data`, allowing other presets to load and
  manipulate the default keymap.

- Each preset defines 'keyconfig_data'
  which can be shared between presets.

- Some of the utility functions for generating keymap items still
  need to be ported over to Python.

- Some keymap items can be made into loops (marked as TODO).

See: D3907
2018-11-09 11:33:06 +11:00
270a6a6689 GP: Change presets for new stroke and fill switches 2018-11-03 10:01:28 +01:00
ae3ac8062f Fix T57128: error in Blender 27X keymap (Z key)
Reviewed By: brecht

https://developer.blender.org/D3781
2018-10-10 14:32:24 +02:00
e1293da014 Splash: add themes to first time setup in splash screen.
* Add default theme as Blender Dark.
* Rename Flatty Light to Blender Light.
* When setting theme, reset to default first for consistent results.
2018-10-08 19:46:00 +02:00
0b98a679bb UI: rename Border Select -> Box Select
See: T56648
2018-10-05 10:29:31 +10:00
2d21eb79ad Units: Support for fixed units
Users can select the main unit they want to use now.
Previously the displayed unit always depended on the magnitude of the value.
The old behavior can be restored by switching to the "Adaptive" mode for length, mass and time units.

Meters, kilograms and seconds are the default units for new and old scenes.

The selected unit is also the default unit for user input.
E.g. if cm is selected, whenever the user inputs a unitless number into a field of type length, it will be interpreted as cm.

Reviewer: brecht

Differential: https://developer.blender.org/D3740
2018-10-03 10:20:16 +02:00
0d085790d1 Python / Cleanup: rename INFO_MT to TOPBAR_MT/VIEW3D_MT to reflect actual location. 2018-08-29 16:25:50 +02:00
59670e999a GP: Add new presets for materials
This allow create prests without import materials and include a requested predefined settings for Stroke only, Fill only and Stroke and Fill.
2018-08-16 11:24:45 +02:00