Age | Commit message (Collapse) | Author |
|
Only redraw the regions, not the entire editor.
|
|
|
|
|
|
* It can be hidden by dragging it up/down.
* It can be at the top or bottom, independent of the header.
* It uses the color theme from the header.
* It does not change its color, when the area becomes active.
Currently, it is used in the text editor to display the file path.
Differential Revision: https://developer.blender.org/D4601
|
|
|
|
* When resizing sidebars, don't collapse when the region becomes too big but
instead clamp the region size to the available space.
* Fix clicking the tab to expand sidebars no working if the sidebar is too
wide to fit. Instead make it less wide so it does fit.
* Fix incorrect limit on tool properties region height, for example in the
file browser.
Differential Revision: https://developer.blender.org/D4611
|
|
A hard coded threshold was used to ignore cursor motion,
make this a preference since tablet users may want to increase it
since a pen hovering isn't as easy to keep still as a mouse.
Resolves T56278
|
|
This was using hard coded values of 2-3px.
Move both drag and motion thresholds to defines.
|
|
|
|
Convention was not to but after discussion on 918941483f7e we agree its
best to change the convention.
Names now mostly follow RNA.
Some exceptions:
- Use 'nodetrees' instead of 'nodegroups'
since the struct is called NodeTree.
- Use 'gpencils' instead of 'grease_pencil'
since 'gpencil' is a common abbreviation in the C code.
Other exceptions:
- Leave 'wm' as it's a list of one.
- Leave 'ipo' as is for versioning.
|
|
Rename latt to lattice and don't use plural names.
|
|
|
|
* Two cursors for horizontal and vertical split.
* Four cursors for each join direction.
* One cursor to indicate when splitting is not possible.
Differential Revision: https://developer.blender.org/D4264
|
|
Differential Revision: https://developer.blender.org/D4242
|
|
While \file doesn't need an argument, it can't have another doxy
command after it.
|
|
|
|
|
|
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
|
|
Needed for clan-format not to wrap onto one line.
|
|
BF-admins agree to remove header information that isn't useful,
to reduce noise.
- BEGIN/END license blocks
Developers should add non license comments as separate comment blocks.
No need for separator text.
- Contributors
This is often invalid, outdated or misleading
especially when splitting files.
It's more useful to git-blame to find out who has developed the code.
See P901 for script to perform these edits.
|
|
|
|
This allows operators to distinguish between redo and executing
repeat last operator, needed for T60777 fix.
|
|
This reverts commit 1d908bffddb4c9815a986305ad4588032b81deee.
Enough uses of repeat last expect skip-save properties to be set,
transform being the most obvious example T60777#605681.
I wanted to avoid operators having account for two kinds of 'skip-save'
but this may be unavoidable.
|
|
PROP_SKIP_SAVE is often used as a way to detect the difference between
adjusting options from the redo panel and initial execution.
Repeat last operator was executing with skip-save properties set,
preventing operators from initializing them based on the context.
Fixes 60777.
|
|
* Add threshold for minimum amount of mouse movement for dragging to
get activated.
* Limit angles at which dragging is considered an action, do nothing if
mouse does not clearly move up/down/left/right.
* Increase action zone size vertically.
Differential Revision: https://developer.blender.org/D4227
|
|
Prevents clang-format wrapping text before comments.
|
|
(Part 1 was 00963afc14978b)
Does the following changes visible to users:
* Use panels and sub-panels for more structured & logical grouping
* Re-organized options more logically than before (see images in D4148)
* Use flow layout (single column by default).
* New layout uses horizontal margin if there's enough space.
* Change size of Preferences window to suit new layout.
* Move keymap related options from "Input" into own section.
* Own, left-bottom aligned region for Save Preferences button.
* Adjustments of names, tooltips & icons.
* Move buttons from header into the main region (except editor switch).
* Hide Preferences header when opened in temporary window.
* Use full area width for header.
* Don't use slider but regular number widget for UI scale.
* Gray out animation player path option if player isn't "Custom"
Internal changes:
* Rearrange RNA properties to match changed UI structure.
* Introduces new "EXECUTE" region type, see reasoning in D3982.
* Changes to panel layout and AZone code for dynamic panel region.
* Bumps subversion and does versioning for new regions.
RNA changes are documented in the release notes:
https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API/Preferences_API
Design & implementation mostly done by @billreynish and myself.
I recommend checking out the screenshots posted by William:
https://developer.blender.org/D4148#93787
Reviewed By: brecht
Maniphest Tasks: T54115
Differential Revision: https://developer.blender.org/D4148
|
|
It was intended to be a quarter-circle, however it was oriented wrong.
Since the triangle is no longer visible and does not overlap with the
button anymore, this just makes it a square.
Differential Revision: https://developer.blender.org/D4139
|
|
|
|
|
|
The top-left and bottom-right corners were creating the new area in the
wrong place.
Blender 2.7x only had action zone corners in the top-right, and
bottom-left corners. So it had some hardcoded assumptions based on that.
This commit feels a bit like a hack, but I think it may be fine.
Bug reported via IRC, how to reproduce:
* Change shading to Rendered.
* Split viewport from the top-left corner.
|
|
Some space types are exposed as multiple space types,
previously the key binding to set the space type would use the last
used space-type.
Now pressing the key again cycles to the next space sub-type.
Without this, shortcut display is confusing since some space types share
a key. Keymap display will need to be updated to support this.
|
|
This distinguishes it better for the many other types of settings.
Ref T54115.
|
|
Every update caused the gizmo to be recreated.
|
|
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
|
|
This reverts commit 03e5ba31837cbe91b633e18f19ba0b08e070e0dc.
Causes T57729, will look into an alternative fix.
|
|
Requested by @billreynish.
Increases the TIMESTEP to 60Hz to have smooth animation.
|
|
|
|
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
|
|
That kind of implicit includes should really only be done when totally,
absolutely necessary, and ideally only with rather simple 'second-level'
headers.
Otherwise not being explicit with includes always end up biting in
unexpected ways...
|
|
|
|
Cursor motion was often causing redraws.
Distance to scrollbars that don't exist in hidden regions
caused redraws (for alpha fading).
Check if scrollbars are used before calculating fade.
|
|
|
|
Small side effect is that area operators (toggle fullscreen/maximized, duplicate
area) are now displayed in RMB-menu. Makes sense anyway.
|
|
Moves the Properties editor context switching to a vertical tabs region.
Design Task: T54951
Differential Revison: D3840
The tabs are regular widgets, unlike the 'old' toolshelf tabs. This means they
give mouse hover feedback, have tooltips, support the right-click menu, etc.
Also, when vertical screen space gets tight, the tabs can be scrolled, they
don't shrink like the toolshelf ones.
The tab region is slightly larger than the header. The tabs are scaled up
accordingly. This makes them nicely readable.
The header is quite empty now. As shown in T54951, we wanted to have a search
button there. This should be added next.
Implementation Notes:
* Added a new region type, RGN_TYPE_NAVIGATION.
* Having the tabs in a separate region allows scrolling of the tab-bar, unlike
the toolshelf tabs. We might want to remove the scrollbars though.
* Added a new region flag RGN_FLAG_PREFSIZE_OR_HIDDEN, to ensure the tab region
is either hidden or has a fixed size.
* Added some additional flags to support fine-tuning the layout in panel and
layout code.
* Bumps subversion.
|
|
With the new automatic handle algorithm, it is possible to do a lot
of the animation via keyframes without touching the curves. It is
however necessary to change the keyframe interpolation and handle
types in certain cases. Currently the dopesheet/action editor
allows changing the types, but does not show them in any way.
To fix, add a new menu option to display this information. For handle
type, it is represented using the shape of the key icons: diamond for
Free, clipped diamond for Aligned, square for Vector, circle for Auto
Clamp, and cirle with dot for Automatic.
Non-bezier interpolation is a property of intervals between keys,
so it is marked by drawing lines, similar to holds. In this initial
version, only the fact of non-bezier interpolation is displayed,
without distinguishing types. For summaries, the line is drawn at
half alpha if not all curves in the group are non-bezier.
In addition, it is sometimes helpful to know the general direction
of change of the curve, and which keys are extremes. This commit
also adds an option to highlight extremes, based on comparing the
keyed values with adjacent keys. Half-intensity display is used
for overshot bezier extremes, or non-uniform summaries.
Reviewers: brecht, aligorith, billreynish
Differential Revision: https://developer.blender.org/D3788
|
|
Would happen when cursor is in-between editors for example.
|
|
When a .blend file is dropped into Blender a small menu opens.
In that menu the user can choose between three options: Open, Link and Append.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D3801
|
|
Computation of hold blocks was done by storing ranges (with start and
an end, and likely overlapping) in a tree keyed only by the block start.
This cannot work well, and there even were comments that it is not
reliable in complex cases.
A much better way to deal with it is to split all ranges so they don't
overlap. The most thorough way of doing this is to split at all and every
known keyframe, and in this case the data can actually be stored in the
key column data structures, avoiding the need for a second tree.
In practice, splitting requires a pass to copy this data to newly added
keys, and the necessity to loop over all keyframes in the range being
added. Both are linear and don't add excess algorithmic complexity.
The new implementation also calls BLI_dlrbTree_linkedlist_sync for
its own needs, so the users of the *_to_keylist functions don't have
to do it themselves anymore.
Differential Revision: https://developer.blender.org/D3790
|
|
See: T56648
|