Age | Commit message (Collapse) | Author |
|
In preparation for view navigation gizmos.
|
|
The initialization of default settings and cache limit and audio.
|
|
Now a small threshold is used for mouse input,
avoiding delay when gizmos are activated on drag.
Tablet input threshold remains unchanged since
it's easier to make small movements when using a tablet.
A larger threshold for non-cursor input is now used (typically keyboard)
which improves usability when the "Pie Menu on Drag" key-map preference.
|
|
Simplifies future changes to dragging checks and avoids
each check for drag using slightly different logic.
|
|
|
|
|
|
|
|
Allows gizmos clicks to fall through for gizmos which only drag,
currently unused.
|
|
Existing functions were written to match the setup_keymap callback.
Add versions that can be called with the window manager for convenience.
|
|
Use term 'glyph' instead of 'icon' since we already have event icons.
|
|
|
|
|
|
Operator flags to wrap on a single axis.
D4865 by @Gvgeo with updates.
Resolves T64585
|
|
Don't use plural because single/multiple isn't relevant
for keymap definitions and reads badly for specific gizmo types
that only use a single gizmo.
|
|
An operator can only have one modal keymap,
there is no use in defining multiple.
|
|
Check the current events modifiers against the gizmo keymap,
only highlighting when keymap items match.
Needed to resolve T63996
|
|
Minor changes to recent gizmo click/drag logic 08dff7b40bc6a
Changing the gizmos highlighted part in the invoke_prepare
callback is too error prone since it needs to run
before it's known which operator will execute.
Add back 'drag_part', since it simplifies click-drag use.
While this isn't essential with custom keymaps per gizmo
it avoids having to define a keymap in the case a drag
event needs a different action.
|
|
Remove click-drag support for tweak gizmo,
rely on keymap events instead.
This is needed for some gizmos to use modifiers keys
without having all gizmos use all modifier keys (see: T63996).
|
|
It was possible to use a drag event for a gizmo
that dragged away from the gizmo, changing the active gizmo.
Now use gizmo located at the location that was clicked on.
|
|
|
|
Caused by 5adfc51a0fc7f, sharing keymaps caused changing tools to
unregister gizmos and remove their keymaps.
Workaround for now by not removing the keymap.
|
|
Loading factory preferences from the preferences window and triggering a
redraw then would cause the failing assert.
We shouldn't mess with window-manager data when loading preferences
only.
|
|
While support for gizmo specific keymaps remains, this should only
be used if a gizmo-group is doing something that requires one.
There was also a hidden limitation that meant only the last registered
tweak keymap would ever be used.
For now leave this using the generic keymap since all
tweak modal keymaps were using the same template anyway.
|
|
While internally these are separate gizmos,
there is no reason to have a keymaps for each.
Also prefix the gizmo with "3D View"
since there are other kinds of transform gizmos.
|
|
|
|
Avoids an allocation per gizmo & simplifies limiting the lookup
past the first intersecting 2D gizmo found.
|
|
Only mouse events were handled by the highlighted gizmo,
this allows more flexibility with event handling.
|
|
Move keymap handler logic for keymap and gizmo handlers
into their own functions.
This makes it possible to refactor keymap handling
without large changes or duplicating code.
|
|
Note that this only fixes the core issue reported (caused by own dummy
mistake in rBd0df7fb3b94ea), investigating that report uncovered at leat
two more issues, including a crasher (when reloading after an undo)...
|
|
Allows app-templates to define their own adjustments to preferences.
This matches `load_factory_startup_post`, use when loading preferences.
|
|
Also avoid diverging code paths for loading startup & preferences.
|
|
|
|
- Editing shortcuts.
- Editing walk mode navigation.
- Adding/removing paths.
|
|
When rendering viewport to an offscreen buffer the buffer was
constructed for non anti aliasing (0 samples). This made the objects
that are drawn by the `object_mode` including `wireframe` draw type
non-anti-aliased.
The offscreen buffers will be constructed based on the user setting for
viewport multisampling (`U.ogl_multisamples`). The same setting will
also be used when previewing scene strips in the sequencer. For now
this only improves wireframe drawing in the scene strips. To improve the
Anti aliasing in the scene strips we need to get finer control in the
draw manager. This will be part of a different patch I am preparing.
Please note that this patch also cleansup some unused code in the offscreen rendering (FSAA code was still existing, but never called)
Reviewed By: brecht
Maniphest Tasks: T64849
Differential Revision: https://developer.blender.org/D4907
|
|
|
|
|
|
|
|
|
|
Useful to have a generic user data with an optional custom free function,
use for wmGesture.
|
|
Without this it's not clear what kinds of data this deals with.
|
|
Ref D3118. This matches macOS and GNOME.
|
|
macOS and Linux remain the same as before. Ref D3118.
|
|
The same was done for Windows, but some extra changes were needed to make it
work on macOS. This is required because the Blender quit dialog now contains
additional settings for image saving.
|
|
- Add back info icon at the top.
- Remove icons from the buttons. None of the OS's we support use icons here
- Remove button align. It doesn't work well with the active default highlighting
- Center-align the text inside the buttons
To make this look even nicer, we should add more padding all around the edges, but that could be done separately.
|
|
|
|
This adds a new dialog that is shown whenever a file is closed.
So, either when a new file is opened, or when Blender quits.
The dialog allows to save unsaved changes. Furthermore it also
allows saving images that have been modified in Blender, but are
not saved yet.
Known limitations:
* Images that have no file path and have not been packed before,
are not saved.
* On MacOS the old dialog is shown when Blender quits.
Reviewers: brecht, billreynish
Differential Revision: https://developer.blender.org/D4860
|
|
This also makes `IDP_CopyProperty` the "opposite"
of `IDP_FreeProperty`, which is what I'd expect.
Two refactoring steps:
* rename IDP_FreeProperty to IDP_FreePropertyContent
* new IDP_FreeProperty function that actually frees the property
Reviewers: brecht
Differential Revision: https://developer.blender.org/D4872
|
|
|
|
We need to make those paths validation async, since some infamous OS is
unable to provide a quick way to check whether a path is valid or not...
Not much to say here, this is basic wmJob stuff really... We don’t even
need complex threaded coordination locks or atomics, given how simple
the changes are here.
Fake-tested with some `sleep()` calls to add atificial delay, seems to
work as expected.
|
|
This allows some gizmos priority over others even when they're behind.
|