Commit Graph

2359 Commits

Author SHA1 Message Date
Campbell Barton
43fa4baa6c Refactor: BLI_path_util (part 2)
Use BKE_appdir/tempdir naming prefix for functions extracted from BLI_path_util
2014-11-23 18:55:52 +01:00
Campbell Barton
6308c16675 Refactor: BLI_path_util (split out app directory access)
This module is intended for path manipulation functions
but had utility functions added to access various directories.
2014-11-23 18:42:18 +01:00
Antony Riakiotakis
5674ac9b7e Cleanup identation and fix a bad alignment issue in last commit 2014-11-17 16:12:16 +01:00
Antony Riakiotakis
e103c9773f Numerical input for changing brush size, strenght or angle.
Patch by Martin Vykoukal, thanks!

This patch adds ability to change brush parameters with keyboard, which
is missing functionality from 2.4x.
Original report: T28811

Reviewers: psy-fi

Differential Revision: https://developer.blender.org/D837
2014-11-17 16:02:44 +01:00
Campbell Barton
7d040d2a08 Cleanup: use BLI_listbase_*** prefix for count,sort,sort_r 2014-11-16 13:57:58 +01:00
Bastien Montagne
f36785c26c Cleanup: Replace WM_operator_name_call by WM_operator_name_call_ptr where possible.
This avoids one lookup in optypes list...
2014-11-16 11:11:05 +01:00
Bastien Montagne
e5ad6348b9 Add PROP_PERCENTAGE to subtypes handled by WM_OT_radial_control operator. 2014-11-16 11:11:05 +01:00
Campbell Barton
5c6e333780 UI Refactor T41640
Make the UI API more consistent and reduce confusion with some naming.

mainly:
- API function calls
- enum values

some internal static functions have been left for now
2014-11-10 23:06:54 +01:00
Brecht Van Lommel
aac2db33df Fix T42540: save_pre and save_post handlers not called when saving startup.blend. 2014-11-09 15:11:40 +01:00
Antony Riakiotakis
70f74daa5a Slight corrections to the string formatting of autosave, thanks to
Campbell for the help!
2014-11-06 13:08:43 +01:00
Antony Riakiotakis
ba872f022c Gooseberry request, append the file name to autosaves as well as the pid 2014-11-06 12:42:47 +01:00
Bastien Montagne
31a83ee9f1 Cleanup: mostly use bools for booleans. 2014-11-01 22:25:57 +01:00
Antony Riakiotakis
a634bcbdb4 Add a few more warnings so coders hopefully will take note that event
codes get stored in keymaps and should not be changed
2014-10-30 16:17:31 +01:00
Antony Riakiotakis
f07cd77b48 Fix issue in fullscreen patch.
Don't change old event codes! Keymap diffing depends on those being the
same across versions to work.
2014-10-30 15:26:31 +01:00
Campbell Barton
133f79e449 Cleanup: warnings, typos 2014-10-29 14:15:21 +01:00
Campbell Barton
2f0bdcb306 Fix T41041: 'Delete keyframe' removes markers too
Operators that trigger UI events (but nothing else)
were using 'CANCELLED' making it impossible to tell if an invoke
function failed, or opened a menu.
2014-10-28 17:51:43 +01:00
Campbell Barton
ee4fb23361 WM: clear operator memory on file load
Was causing problems when opening scenes with different scale set.
2014-10-28 15:47:51 +01:00
Campbell Barton
cb7afe5e41 WM: unneeded alloc the operator-type iterator 2014-10-28 15:41:05 +01:00
Antony Riakiotakis
308c4fc234 Fix T42303 Icons lost after loading window
The issue here is that if no matching winid is found, we destroy all
windows and their context with them. This will also delete the OpenGL
textures associated with the initial context, thus we lose the icons.
This patch makes sure a window is always kept for later so the initial
context does not get lost.

Thanks to Campbell and Ton for the discussion on the issue.
2014-10-19 20:50:57 +02:00
Dalai Felinto
7c25f16f1a Fullscreen Editor (new fullscreen mode for clean UI)
Organize Maximize/Fullscreen mess and add a new fullscreen mode with no UI

* Maximize Editor: (old Ctrl+Up)
* Full Screen Window: (old Alt + F11)
* Full Screen Editor: new operator (Alt + F10)
* Change Show/Hide Header: (Alt + F9)

When the mode is on moving the mouse near the top right corner of the
editor shows an icon to go back to the normal editor mode.

This was originally intended for the multiview branch, but this
functionality also benefits non-stereo workflows, thus it can be
reviewed and committed independently.

Development notes:
* This includes cleanups in the code to sanitize the naming of
  fullscreen/maximize across the window/editor code.

* Originally the idea was to make the window fullscreen as well, but
  this idea was dropped.

* You can see the clicking area when debug is 1

* Technically the user can be left with an unfaded icon in the corner
  (specially when using a tablet). If we think this is too bad we can
  increase the action zone to be the whole screen, or something similar.

Reviewers: campbellbarton [1], ton [2], fsiddi [2]

[1] actual code review
[2] design review

Differential Revision: https://developer.blender.org/D678
2014-10-14 15:11:41 -03:00
Antony Riakiotakis
d665095e0d Filter out pie spawn button events.
The reason being, with the current system of quick selection, it's
possible to spawn an operator after confirmation, especially for cases
with modifier buttons.
2014-10-13 20:09:37 +02:00
Antony Riakiotakis
9fcc1a32df Pie menus: Confirm threshold
This commit adds a confirm threshold property to pie menus.

Basically, this will confirm the pie menu automatically when
the distance from the center of the pie exceeds that threshold without
a need to release the pie button.

The confirm threshold will only work if it is larger than the pie
threshold.

The confirmation actually occur when the mouse stops moving, to
allow multiple pie menus to be better linked together, (see below)

This functionality also facilitates the ability for chained pie menus by
dragging. Basically, a pie menu item can be a call_menu_pie operator and
the new pie menu will still use the original pie menu release event for
confirmation. This should allow for quick, gesture based navigation in
pie menu hierarchies (going back in the hierarchy is still not supported
though)

There will be a demonstration pie in the official add-on soon
2014-10-13 14:35:41 +02:00
Campbell Barton
0a738280e1 Cleanup 2014-10-11 11:44:28 +02:00
Antony Riakiotakis
585d2f31a9 Fix T32209 quitting not saving latest data if you are in edit or sculpt mode on
quit.blend.

This will use a slower file write if an object is in edit or sculpt
mode.

Autosaving will explicitly not be supported to keep it fast.
Added a tooltip warning.
2014-10-10 12:04:44 +02:00
Sergey Sharybin
0ba84b7124 Operator to define render border from rendered image editor
This way it is possible to define render border directly from the image editor,
which is useful for at least three things:

- If viewport is really optimized out (simplified etc) then it might be hard to
  guess which exact area you're mainly interested now.

- No need to switch to the viewport to do render border tweaks, could be useful
  when doing compositing.

- If one need to look at particular pixel(s) which is real handy for debugging
  render engines (both Cycles and BI).

Reviewers: campbellbarton, venomgfx

Reviewed By: venomgfx

Differential Revision: https://developer.blender.org/D820
2014-10-08 18:02:49 +02:00
Bastien Montagne
e36cc29a69 Fix T42137: Keymap editing is broken
Own mistake in previous fix here, was too greedy in finding an existing kmi of UserPref add diff kmi, we only want
to ignore exact same kmi's here.
2014-10-07 23:39:56 +02:00
Jason Wilkins
8d084e8c8f Ghost Context Refactor
https://developer.blender.org/D643
Separates graphics context creation from window code in Ghost so that they can vary separately.
2014-10-07 15:47:32 -05:00
Bastien Montagne
0d8a007c69 Fix T42088: Creating new keybinds can cause duplicates when saving key config profile
When patching a keymap with a 'UserPref' diff one, do not add keymap items from diff
if they already exists in patched keymap.
2014-10-06 22:08:37 +02:00
Sergey Sharybin
a1d80b9c56 Update link to the Support an Animation Movie link
This is to be in the final release.
2014-10-02 20:47:24 +02:00
Campbell Barton
5f948fb77f Anim Playback: Optionally draw flipped
useful to view animations from different POV.
FKey: X, Shift+FKey: Y
2014-10-01 22:01:01 +10:00
Campbell Barton
b8f6941776 Cleanup: de-duplicate playanim matrix 2014-10-01 22:01:00 +10:00
Lukas Tönne
6fa46ad315 Support for "virtual pixelsize" on 4k screens.
On 4k devices the default pixel size leads to tiny OpenGL drawing
that is hardly usable without doubling the DPI. The retina system
on OSX aims to alleviate this problem by introducing a general 2x
pixel size.

No equivalent feature exists on other platforms so far. However,
to emulate the effect this patch introduces a "virtual" pixel size
factor for OpenGL drawing.

Note that the user currently has to enable this manually by selecting
the "Virtual Pixel Mode" in the user preferences (defaults to native).
All windows of a Blender instance share the same virtual pixel size as well.
It may be possible to handle this on a per-window basis and automate
the selection somewhat (if enabled by the user), so working with
multiple screens becomes more convenient, but technical limitations
make this a bit difficult (on X11 with nvidia drivers the actual screen size
is not reported correctly).

Reviewers: ton, campbellbarton

Differential Revision: https://developer.blender.org/D669
2014-09-30 18:29:32 +02:00
Campbell Barton
cbe68f70a8 Cleanup: spelling 2014-09-29 15:51:47 +10:00
Campbell Barton
3a40aed3d5 Cleanup: use float versions of functions when in/output are floats 2014-09-24 14:55:02 +10:00
Antony Riakiotakis
98a78963be Fix crashes with timers.
Incorrectly accessing the menu pointer, set it to NULL before doing the
tests.

We don't restore the menu pointer because it is invalid by the time the operator ends.
2014-09-18 16:02:40 +02:00
Sergey Sharybin
1e948b251d Fix T41818: Missing refresh on Undo for nodes (mask example)
Added a special notifier now NC_WM|ND_UNDO in order to deal with such cases
and now compositor/image will refresh when undo happens.

There are much more ways to fail compo to update the resul, like undoing
while it's not visible and so, but as mont29 said -- let's at least fix
obvious crap in the workflow.
2014-09-16 14:44:47 +06:00
Campbell Barton
432d274990 Cleanup & typo in assignment 2014-09-14 17:27:31 +10:00
Bastien Montagne
fdb12ff564 Fix T41811: unreachable code in wm_keymap.c
There was also an issue with passing sl->spacetype here, for some reason...
2014-09-13 15:49:53 +02:00
Campbell Barton
1b94b3d49c WM: Add utility wmOrtho2_*** funcs
Currently there are inconsistencies with pixel alignment.
but this commit has no functional changes.

- wmOrtho2_region_ui for UI/Text.
- wmOrtho2_region_pixelspace for 2D drawing.
- wmOrtho2_pixelspace - when the region isn't used.
2014-09-10 13:37:53 +10:00
Andrea Weikert
3fec3f0bce Fix T41737 using append from menu will result in error message
message in terminal was: RNA_boolean_get: WM_OT_append.relative_path not found.
Added check for existence of the relative path property which was removed from append
since it is not needed and used.
2014-09-07 16:05:44 +02:00
Campbell Barton
a7f87cfc0d Cleanup: de-duplicate link/append props 2014-09-05 10:16:11 +10:00
Andrea Weikert
61914883ff Separate operators for Link and Append.
Since the choice to link or append has been removed in the file browser operator panel,
there was no way to tell whether as a user you were linking or appending.
To fix this the proposed patch separates the operators.

Reviewers: campbellbarton, carter2422, venomgfx

Subscribers: fsiddi

Maniphest Tasks: T41593

Differential Revision: https://developer.blender.org/D770
2014-09-04 19:35:18 +02:00
Martijn Berger
0c1ff4b75b Hacky fixes can apply to more then one compiler.
TODO: really get rid of any and all bare #include <windows.h> in
the codebase in favour of central BLI_winstuff.h.
2014-09-02 13:42:00 +02:00
Martijn Berger
daa17ef402 Hacky fix for cleanup rBc23733d290c095ab77310b55c75293465891d5b8 2014-09-02 12:22:55 +02:00
Bastien Montagne
1979ae3a42 Events: Fix ISKEYBOARD macro seeing INPUTCHANGE, WINDEACTIVATE and TIMER events
as keyboard ones!!!

Note: better solution would be to move those 'internal' events to the 0x5xxx area,
but need to talk with the team to be sure this won't break something first.
2014-09-01 17:18:30 +02:00
Bastien Montagne
c23733d290 Cleanup: Event defines -> enums.
Also made all event type values as hexadecimal (mixing decimal, hexa and char values
is a nice way to make mistakes)!
2014-09-01 17:08:33 +02:00
Sergey Sharybin
21a7433faa Fix T41473: Cycles volume rendering is too dark
The issue was caused by the changed defaults from the Cycles side.
Because of those properties being saved as an IDProp and not being
saved to the file, every change to the defaults would ruin someone's
day updating the values.

Added a bpy.app.handler.version_update which is run after the regular
do_versions() are done and could be sued by the scripts to apply
versioning code on their settings.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D761
2014-08-28 18:59:24 +06:00
Antony Riakiotakis
fa6080bf33 Support better precision mode for angle properties in radial operator
(holding down shift key) by using the new dial functionality.
2014-08-27 17:47:37 +02:00
Campbell Barton
47ad1a9720 Comments 2014-08-26 15:21:12 +10:00
Campbell Barton
f5538fe2a6 Replace strstr with STRPREFIX
No need to search the whole string.
2014-08-20 08:38:40 +10:00