Commit Graph

3272 Commits

Author SHA1 Message Date
Antonioya
780f0f646d GP: Rename CTX and OB modes
Part of T59335.
2018-12-14 16:52:12 +01:00
Campbell Barton
4357fb63db Keymap: event type filter w/ finding keymap items
Now its possibly to ask for only keyboard/mouse/ndof events
when finding key map items.
2018-12-12 21:43:26 +11:00
Campbell Barton
bbb71ccbde Fix action-zones showing up as shortcuts
Toggle fullscreen area for eg, was showing the action-zone instead of
the key binding.
2018-12-12 15:52:34 +11:00
Campbell Barton
768e69eb37 Keymap: refactor keymap item find logic
Pass a function to filter items to allow lookups to be more selective.
2018-12-12 15:35:47 +11:00
Campbell Barton
4ae68d6825 Fix T59170: Box select ignores modifiers-keys once tool option is set
- Key-map items properties now override tool-options
  so modifier keys can have different behavior to the default action.

- Box & circle select now have `wait_for_input` properties
  instead of detecting this based on selection options being set or not.
  This relied on the key-map setting properties which may need to be
  initialize from the tool settings.
2018-12-12 14:26:43 +11:00
Campbell Barton
49490e5cfb Merge branch 'master' into blender2.8 2018-12-12 13:02:09 +11:00
Campbell Barton
e757c4a3be Cleanup: use colon separator after parameter
Helps separate variable names from descriptive text.
Was already used in some parts of the code,
double space and dashes were used elsewhere.
2018-12-12 12:50:58 +11:00
Clément Foucault
5049322e62 GPUState: Change isolated glLineWidth usage to GPU_line_width 2018-12-11 23:05:36 +01:00
Campbell Barton
979a5c34e4 Fix T59107: F3 does not work in Python console 2018-12-10 17:33:36 +11:00
Campbell Barton
606223f6a6 Merge branch 'master' into blender2.8 2018-12-07 15:54:17 +11:00
Campbell Barton
d6d76759f8 Fix error in Main cleanup
See 481cdb08ed
2018-12-07 15:42:34 +11:00
Campbell Barton
58398acc68 Fix crash recovering last session 2018-12-07 15:04:57 +11:00
Campbell Barton
e7641b6834 Edit last commit
Split out ensure-tool check into its own function.
2018-12-04 14:33:45 +11:00
Campbell Barton
80816fc712 Fix T58256: error message w/ missing Select Box tool
Support space modes not having tools.
2018-12-04 13:55:50 +11:00
Campbell Barton
1ac7a840f6 Fix T58594: Modal circle select can't select & de-select 2018-12-03 19:32:42 +11:00
Clément Foucault
505309f659 WM: Optimization: Don't clear the window color buffer
This is not needed and is rather costly.

Can be reverted if that causes problem.
2018-12-01 20:38:52 +01:00
Brecht Van Lommel
0b50ce1db4 Fix file browsers thumbnail selection with tablet failing, after recent changes. 2018-11-30 19:18:24 +01:00
Campbell Barton
7e21c99d05 PyAPI: add load_factory_startup_post handler
Needed so we can apply changes to the startup file,
only in the case when it's load loaded from a user-saved startup.
2018-11-30 13:33:13 +11:00
Campbell Barton
dc312609dd Merge branch 'master' into blender2.8 2018-11-30 13:24:17 +11:00
Campbell Barton
dd8469608b Cleanup: unused return arg 2018-11-30 13:21:12 +11:00
Brecht Van Lommel
919503d204 New splash image for Beta.
This one focuses on the development fund campaign. We plan to do more
more splash updates during the Beta.
2018-11-29 16:50:00 +01:00
Sergey Sharybin
3ed0d5b4d4 Merge branch 'master' into blender2.8 2018-11-28 14:42:38 +01:00
Sergey Sharybin
ce927e15e0 Tweaks for threading schedule for Threadripper2 and EPYC
The idea is to make main thread and job threads to be scheduled
on CPU dies which has direct access to memory (those are NUMA
nodes 0 and 2).

We also do this for new EPYC CPUs since their NUMA nodes 1 and 3
do have access but only to a higher range DDR slots. By preferring
nodes 0 and 2 on EPYC we make it so users with partially filled
DDR slots has fast memory access.

One thing which is not really solved yet is localization of
memory allocation: we do not guarantee that memory is allocated
on the closest to the NUMA node DDR slot and hope that memory
manager of OS is acting in favor of us.
2018-11-28 14:41:22 +01:00
Brecht Van Lommel
dac747bd09 UI: rename settings back to preferences.
This distinguishes it better for the many other types of settings.

Ref T54115.
2018-11-28 13:58:35 +01:00
Campbell Barton
0c8a7069b5 Fix assert opening file selector 2018-11-28 16:20:57 +11:00
Campbell Barton
b58d4e7fe4 WM: remove tool initialization code
Area initialization handles these cases now.
2018-11-28 13:58:53 +11:00
Campbell Barton
dcf0860dab Fix tool not being initialized switching windows 2018-11-28 13:41:36 +11:00
Campbell Barton
9d535f7ce8 Print filepath in message when saving userprefs
Was just printing 'ok' on success.
2018-11-28 08:35:37 +11:00
Campbell Barton
1944bca49a Tool System: use tools for node editor 2018-11-27 18:43:08 +11:00
Campbell Barton
1f8360171c Keymap: share annotation tool keymaps between spaces
Not sharing caused duplication in the keymap and
required a factory class generator.

Simplify tool & keymap definitions by sharing them.

It's highly unlikely we will ever want these to use different keys
once they're set as the active tool.
2018-11-27 17:52:15 +11:00
Campbell Barton
fe65867c3d WM: add print for missing tool keymap
Also correct function name (gizmo -> tool).
2018-11-27 17:06:43 +11:00
Jacques Lucke
c1adf938e6 Timer: Generic BLI_timer with Python wrapper
There is a new `bpy.app.timers` api.
For more details, look in the Python API documentation.

Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D3994
2018-11-26 20:25:15 +01:00
Brecht Van Lommel
9238b7308a Fix view layer set in the outliner of child window not syncing to parent window. 2018-11-26 16:57:59 +01:00
Brecht Van Lommel
b711be9b99 Keymaps: don't do CLICK event when PRESS was already handled.
This fixes conflicts where the tool and editor keymap use different event
types. Tools need to be able to mouse buttons on PRESS without triggering
CLICK events in the editor keymap.
2018-11-26 16:17:22 +01:00
Brecht Van Lommel
e7662ea257 Keymaps: keep Select Box as default tool. 2018-11-26 13:53:09 +01:00
Brecht Van Lommel
43325e98da Tools: add Select tool, with transform tweak on drag and no click delay.
For users that want the 2.7 LMB keymap behavior, this provides a way of
working without tools interfering. For RMB select this operator is quite
redundant with the Cursor tool, we may have to find a solution for that.

Note that we also might later add transform tweak to the transform tools,
when nothing is selected. But this is important for existing users who
preferred the existing workflow.
2018-11-25 20:09:43 +01:00
Julian Eisel
b00963afc1 UI: Initial User-Preferences redesign
Implements the first changes for T54115:

* Rename "User Preferences" window to "Settings" in the UI.
  We'll likely put workspace settings in there, separate from the global
  user settings. System settings should become separate from user
  settings in future to allow settings for specific hardware.
* Add sidebar region for navigation (scrolls independently).
  Addresses space problems, so we can add more categories as needed now.
* Increase size of Settings window to compensate new navigation bar.
* Group sections into User Preferences and System.
  Icons for section groups by Andrzej Ambroz. Thanks!
* Bumps subversion for file compatibility.

Screenshot: https://developer.blender.org/F5715337

I also added categories for future work, but commented them out.
We may also want to redesign contents of each section now.

Reviewers: brecht, campbellbarton
Differential Revision: https://developer.blender.org/D3088
Design Task: https://developer.blender.org/T54115
2018-11-25 17:08:58 +01:00
Julian Eisel
23d66c5d60 Fix T58022: Changing workspace may change layout of User Pref window
Logic to update child windows on workspace changes should simply ignore
temporary child windows. Users opened those for a specific purpose (i.e. edit
user preferences or show render result). Blender should not come in and
repurpose it.
2018-11-24 19:20:31 +01:00
Campbell Barton
7a7c9ee71a Fix uv lasso/box multi-object select logic
Was de-selecting all UV's on each iteration.
2018-11-23 18:06:50 +11:00
Campbell Barton
a6eb9a3e21 Tool System: uv lasso/box select options
These tools now support (new, add, subtract),
(xor, and) could be supported but are complicated by UV's sticky
selection modes.
2018-11-23 17:52:52 +11:00
Campbell Barton
cfffe615f4 Keymap: add Keymap.keymap_items.new_from_item
Needed to copy keymap items from other keymaps.
2018-11-23 15:16:13 +11:00
Brecht Van Lommel
e815784aa6 Keymaps: make click event detection use a larger distance threshold.
Previously this was hardcoded to 2 pixels, which is too low for tablets and
not taking into account DPI. Now we set it equal to the tweak threshold, so
you either always do click or drag.

The default distance of 10 pixels may be quite far for something to be
considered a click, and we'll need to see how well it works. But I find this
to help a lot when selecting vertices in quick succession.

Thanks to Julien for spotting this.
2018-11-22 14:33:07 +01:00
Campbell Barton
4b9d242be5 Merge branch 'master' into blender2.8 2018-11-22 15:16:45 +11:00
Campbell Barton
c66570f519 Fix T57989: File loaded as startup
The file contents was used to check if the file was a startup file.

Now pass in an argument from startup loading code instead.
2018-11-22 15:06:14 +11:00
Campbell Barton
1a4595618c Fix factory-settings using stale preferences
We need to reload defaults on factory startup because the defaults
now have preferences that may have changed.
2018-11-22 10:51:27 +11:00
Brecht Van Lommel
0a3cf08364 Keymaps: take into account DPI for tweak/drag/pie thresholds.
The intention is to fix a too low default threshold on high DPI screen.
Users with high DPI screens that have increased the threshold to fix this
or liked the lower threshold will need to lower it again.

This is still somewhat of a guess, ideally this would be based on the
physical distance travalled, and maybe different per type of input device.
However we do not have access to this information, and hope this gives a
better default.
2018-11-21 19:31:20 +01:00
Alexander Gavrilov
539b465b32 Implement basic global tablet pressure curve options.
Grease Pencil already implements support for full-featured
per-brush pressure curves, but it is useful to have some
basic global settings that affect all brushes and tools.

This adds two simple options:

- Raw pressure required to achieve full brush intensity.
- Softness control, using a gamma curve internally.

The most important one is the max pressure setting, because it is
critical for ergonomics, but the Linux Wacom driver lacks it.

The softness option internally converts to gamma = 4^-softness.

Reviewers: brecht, campbellbarton

Differential Revision: https://developer.blender.org/D3967
2018-11-21 16:34:07 +03:00
Campbell Barton
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
Campbell Barton
db8f662cc9 Cleanup: use define for key-config string 2018-11-19 13:16:18 +11:00
Campbell Barton
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