Commit Graph

890 Commits

Author SHA1 Message Date
90e354fd7a Revert/Redo ugly rBd12b3767f81d commit (i.e. add locked sorting option to UIList).
Too many things done wrong in original rBd12b3767f81d to list them all
here, hopefully nothing bad sneaked in again this time :|

Also cleaned up a little the 'sort by name', even though (since we only
have two options by default, sort by index and by name) we can abuse it
as a binary option for now, this is not a bitflag...
2019-01-09 15:51:46 +01:00
e305560f13 Cleanup: add trailing commas to structs
Needed for clang formatting to workaround bug/limit, see: T53211
2019-01-07 00:34:48 +11:00
2c21e3e35f Fix T60132: Convert hair particles to mesh
Needed to port operator to use evaluated particle system.

But also changed interface to always show Convert button when
draw type is set to Path (Hair particle system is forced to
be draws as path). This avoid rather expensive lookup on every
redraw, but will show Convert button for un-baked particle
emitter.

Probably, an acceptable compromise.
2019-01-04 14:30:34 +01:00
a76b045326 UI: add scale option for template_icon_view button
The existing scale option only changed the scale if icons in the popup.
2019-01-02 18:18:54 +11:00
27619d7271 UI: icon set updates by Andrzej Ambroz. 2018-12-31 13:52:45 +01:00
9f25dad0a9 Fix T59535: Select linked delimit doesn't refresh 2018-12-18 17:22:11 +11:00
79312c1912 Depsgraph: Remove duplicated sets of recalc/update flags
There were at least three copies of those:

- OB_RECALC* family of flags, which are rudiment of an old
  dependency graph system.
- PSYS_RECALC* which were used by old dependency graph system
  as a separate set since the graph itself did not handle
  particle systems.
- DEG_TAG_* which was used to tag IDs.

Now there is a single set, which defines what can be tagged
and queried for an update. It also has some aggregate flags
to make queries simpler.

Lets once and for all solve the madness of those flags, stick
to a single set, which will not overlap with anything or require
any extra conversion.

Technically, shouldn't be measurable user difference, but some
of the agregate flags for few dependency graph components did
change.

Fixes T58632: Particle don't update rotation settings
2018-12-07 11:37:38 +01:00
3a13b89296 Cleanup: unused args, indentation 2018-11-21 06:29:19 +11:00
176b0df920 Cleanup: gcc function type warning 2018-11-21 06:24:52 +11:00
53d9ddf772 UI: Color Ramp: Add menu and functions to distribute color stops
Suggestion from Right-Click Select: https://blender.community/c/rightclickselect/Npcbbc/color-ramp-flags-auto-distribution-function

Differential Revision: https://developer.blender.org/D3965
2018-11-20 17:02:31 +00:00
55e719ec35 Merge branch 'master' into blender2.8 2018-11-14 17:21:34 +11:00
d7f55c4ff5 Cleanup: comment block tabs 2018-11-14 17:10:56 +11:00
64ec05b64d Cleanup: remove some useless BKE_library and BKE_main includes.
Makes it simpler to make some changes...

Also fix order of some includes (use alphabetical please).
2018-11-07 20:58:54 +01:00
a18927463c Cleanup: style 2018-11-03 15:55:45 +11:00
982ca8c45a Add hide_buttons option to template_ID_preview
When use the template in the topbar for only select an ID is very annoying to have the buttons after the name and only adds noise to the selector.

This option hide the number of users, new and delete buttons to get a cleaner topbar selector.

By default the parameter is disabled in order to keep all existing code/UI running.
2018-11-02 19:28:36 +01:00
c75a25e9e1 Fix issues with hide/restrict icons after recent changes.
Set the names to match the original order again, to avoid breaking addons and
various places in the code that relied on them.
2018-11-02 15:21:54 +01:00
2e6637bdf6 UI: Fix 'extra' fake user showing in UI ID template usercount.
User do not care about that 'virtual' user, it only makes it more
confusing. So now, that template always shows actual number of real
users, we already have own dedicated button to show fake user status.
2018-11-02 15:12:10 +01:00
f2132b0237 UI: Fix showing '2' number of users in ID templates for fake-user IDs.
Using FakeUser on an ID sill put its usercount to 2 if it is actually
also 'really' used once. But we do not want to show that to user
(especially not since it also allows to 'make single user' of an ID
already only used once...).
2018-11-02 15:12:10 +01:00
c6466ed0d2 UI: tweak usage of duplicate/add icon for consistency.
Still difficult to know when exactly the operator will duplicate and when
it will add a new one. Some open a menu with different choices too.
2018-10-31 18:31:27 +01:00
William Reynish
9fbba61f4b UI: icon set updates by Andrzej Ambroz.
New icons for duplicate, driver types, window, hue/saturation.
2018-10-31 17:59:00 +01:00
08a92d8578 UI/Unique ID name: add library ID name if present.
Also reshuffle a bit that whole code, did some renaming,
`BKE_id_to_unique_string_key()` is now using same base code (instead of
using whole library filepath...), etc.
2018-10-31 13:34:06 +01:00
4669c3692c Add library-hint to datablock search menus.
We had those for ID templates, but it's also tremendously useful for
regular ID pointers UI, since often you can get local and linked
data-block with same exact name...

Fetaure request from Spring team (and long due TODO...).
2018-10-30 11:00:25 +01:00
Julian Eisel
ce148716c8 UI: Support Displaying Enums as Tabs
Adds `uiLayout.prop_tabs_enum(data, property, icon_only)` to BPY.
2018-10-29 21:20:58 +01:00
William Reynish
b18ac77df3 UI: icon set updates Andrzej Ambroz, and various fixes.
* Text editor word wrap, line numbers & syntax toggles now use consistent icons
  that don’t change when you enable or disable them.
* Replaced icon toggle buttons in the snapping popover with normal checkboxes
  and descriptive text labels. This makes it clearer which item is the main
  radio button, is more consistent with other popovers, and allows us to use
  more descriptive text.
* Added correct icons for grease pencil add menu.
* Added bespoke icons for grease pencil modifiers.
* Added icon for particle instance modifier.
* Added icon for fake user on & off states.
* Added correct icons for enabling/disabling modifiers in the dopesheet &
  f-curve editor.
* Made it so the restrict viewport & restrict render toggles for modifier
  update correctly when enabled or disabled, by flipping the order in the
  icon sheet. This also required changing the outliner to match.
* Removed the few old remaining icons in the old style and made sure to replace
  the last places where they were used.
* Updated many icons to be clearer & more consistent.
2018-10-29 19:04:07 +01:00
5891f81f25 Cleanup: style, warning 2018-10-23 11:01:25 +11:00
e010d5e3b1 GP: New Time modifier
This modifier allows to offset the keyframe animated to get more variations in the animation when reuse the same datablock.
2018-10-22 18:30:26 +02:00
fbf4c11960 Make Static Override optional/hidden by default.
That feature will not be ready (or at least, not tested enough) to be
officially part of 2.80 beta. So we disable it by default, hidding it
behind a startup option (`--enable-static-override`), and a python
app var (`bpy.app.use_static_override`).

That way, people who really want to play with it can do it easily, while
not exposing/enabling non-production-ready feature by default.

Note that underlying override code remains active, i.e. files we do have
overridden data-blocks will be loaded correctly according to static override.
2018-10-19 18:38:19 +02:00
b2d495c2de UI: move reports / job back to status bar, but make it more visible with color. 2018-10-19 17:19:03 +02:00
5eeb6c00be GP: Disable reverse list order when uncheck userprefs option
Before, the list kept the reverse order enabled in the filter. Now the filter is reset when the option is disabled and don't need any user change or restart.
2018-10-12 09:55:43 +02:00
d12b3767f8 Add new parameter to reverse UIList items
Now, it was possible to invert the order of the UIlist using the filter, but it was impossible to know if the list was inverted or not.

The problem with this is that any other element depending of this value could not be adjusted.

See https://devtalk.blender.org/t/how-to-access-uilist-properties/2268

The new parameter allows to set the reverse order by default. When the list is set as reverse, it cannot be inverted again, so the invert button is removed of the filter.

This change is needed to fix a requested feature for Grease Pencil (T56985) and because a lot of 2D softwares use the drawing layers in the inverse order used in Blender.
2018-10-11 18:30:09 +02:00
2ac65f6153 UI: new icon set by Andrzej Ambroz.
This is a monochrome icon set, with a more modern look and icons for
various features that did not have a proper icon before.
2018-10-08 19:46:00 +02:00
58adc58661 Merge branch 'master' into blender2.8 2018-09-27 15:49:59 +02:00
a247b53084 Spelling fixes in comments and descriptions, patch by luzpaz.
Differential Revision: https://developer.blender.org/D3732
2018-09-27 15:36:35 +02:00
5d3c815c2f Revert "Compositor: Added Weighted Standard Curve evaluation"
This reverts commit b8c9df6f21. The code is not
correct with regards to color management, and its purpose was not documented.
2018-09-26 14:24:13 +02:00
bb3ec3ebaf BLI_utildefines: rename pointer conversion macros
Terms get/set don't make much sense when casting values.

Name macros so the conversion is obvious,
use common prefix for easier completion.

- GET_INT_FROM_POINTER  -> POINTER_AS_INT
- SET_INT_IN_POINTER    -> POINTER_FROM_INT
- GET_UINT_FROM_POINTER -> POINTER_AS_UINT
- SET_UINT_IN_POINTER   -> POINTER_FROM_UINT
2018-09-19 12:12:21 +10:00
f35e9f047a Merge branch 'master' into blender2.8 2018-09-19 12:14:36 +10:00
b49abbec5f Splash: add first time setup and templates to splash screen.
The first time setup screen only has the interaction preset currently, some
more work is needed to be able to set e.g. the language or compute device
here as in the mockups.

The splash screen stayed the same for now, to make room for the templates
most of the links are now in the Help menu. If there are no recent files yet
the links still show.

The splash screen buttons implementation was fully moved to Python, in the
WM_MT_splash menu.
2018-09-18 19:38:20 +02:00
84f21c170d Application Templates: make templates more prominent in the UI.
The goal here is to make app templates usable for default templates
that we can ship with Blender. These only have a custom startup.blend
currently and so are quite limited compared to app templates that fully
customize Blender.

But still it seems like the same kind of concept where we should be
sharing the code and UI. It is useful to be able to save a startup.blend
per template, and I can imagine some scripting being useful in the future
as well.

Changes made:

* File > New and Ctrl+N now list the templates, replacing a separate
  Application Templates menu that was not as easy to discover.
* File menu now shows name of active template above Save Startup File
  and Load Factory Settings to indicate these are saved/loaded per
  template.
* The "Default" template was renamed to "General".
* Workspaces can now be added from any of the template startup.blend
  files when clicking the (+) button in the topbar.

* User preferences are now fully shared between app templates, unless
  the template includes a custom userpref.blend. I think this will be
  useful in general, not all app templates need their own keymaps for
  example.
* Previously Save User Preferences would save the current app template
  and then Blender would start using that template by default. I've
  disabled this, to me it seems it was unintentional, or at least not
  clear at all that saving user preferences also makes the current

Differential Revision: https://developer.blender.org/D3690
2018-09-18 19:38:20 +02:00
b08d9f036e UI: don't show Redo Unsupported, just hide buttons in that case. 2018-09-18 19:38:20 +02:00
231a384587 Merge branch 'master' into blender2.8 2018-09-17 10:23:55 +02:00
640fcc25a4 Fix T56811: Do not show cancel button for jobs when UI is locked.
Since that button is then totally useless and unusable...
2018-09-17 10:22:00 +02:00
e1178266e7 Workspace: support reordering of workspaces from RMB menu.
Drag and drop will follow later, it's a bit complicated to make this work
reliable in the current UI code.
2018-09-11 12:43:28 +02:00
15bab56fbc Merge branch 'master' into blender2.8 2018-09-11 11:02:37 +10:00
5bb11cfde2 UI: split theme draw style into separate field
Was using UI_BLOCK_LOOP to control draw style,
this meant we couldn't use popup theme colors for cases
where it the interface has the same purpose as a popup but happens
not to use this flag.
2018-09-11 10:56:08 +10:00
0ddf3e110e Cleanup: comment blocks 2018-09-02 18:51:31 +10:00
ae57383648 Cleanup: comment blocks 2018-09-02 18:28:27 +10:00
b8c9df6f21 Compositor: Added Weighted Standard Curve evaluation
Available in RGB Curve node in the compositor and as modifier in the
sequencer. I reshuffled the values of the enum. But a the first commit
is just 1 day old I think that the order is more important than the file
compatibility.
2018-08-24 10:04:33 +02:00
34ebf6f82c Workspaces: move delete to right click menu, instead of X on tab.
These are not intended to be closed as often as e.g. browser tabs, they are
intended to be more persistent and accidental closing should be avoided.
2018-08-23 20:02:08 +02:00
4de7c0c310 Compositor: Film-like curve
Film-like curves for the RGB Curve node (Compositor) and Curve Modifier
(Sequencer)

Film-like curves originated from Adobe.
"It’s an RGB curve where the tone curve is applied on the largest and smallest value, and then the middle value is adapted to keep a constant hue as defined by RGB-HSL/HSV. In terms of look and saturation increase it’s very similar to a pure RGB curve, more so than a HSL-L curve or HSV-V curve, but some color shift problems are avoided."

Other tools like Natron, Krita and RawTherapee have implemented this curve tone.

Reviewers: brecht, campbellbarton

Reviewed By: brecht

Tags: #compositing, #video_sequencer

Differential Revision: https://developer.blender.org/D3638
2018-08-23 11:39:11 +02:00
f06884b18a Cleanup: style, duplicate includes 2018-07-31 20:11:55 +10:00