Commit Graph

410 Commits

Author SHA1 Message Date
617557b08e Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT define 2014-04-01 15:22:28 +11:00
cfefc5d0d4 Fix T38987 Dope sheet is inoperable with "view slected" when nothing is selected.
Code was unconditionnaly setting view's xmin and xmax, even when it was aborting afterward.
2014-03-06 14:17:26 +01:00
410613ec09 NDOF: add keymapping for the 'fit' button for other 2d views 2014-02-18 11:57:49 +11:00
5621e63d36 Code cleanup: duplicate headers 2014-02-14 10:55:38 +11:00
b8b412230b Code Cleanup: use iroundf
also increase precision of rctf print functions
2014-01-15 13:40:40 +11:00
fa88c7ffae Fix T38105: Action Editor refresh is missing when a keyframe is inserted in 3D view
When yiz insert a keyframe (on a location keying set f.e.) in the 3D-view and you got an action editor open then the action datablock is  not changed (displaying only the button "new") until you hover the action editor with the mouse.

 Added a handler in the action_header_area_listener to handle this case

If non-obvious, some technical note about what the cause of the bug was and
how it was solved.
2014-01-08 17:57:33 +01:00
b2fdc591c3 UI: restore confirmation popups for delete operators.
It turned out this was leading to accidental deleting in some cases when the
info message was missed by users. Fixes T37801.
2013-12-20 01:40:33 +01:00
63caaa2b12 Code Cleanup: rename vars for detecting change to be more consistent
rename change/is_change/is_changed/modified -> changed
also use bools over int/short/char and once accidental float.
2013-11-26 06:39:14 +11:00
3ca4387bc8 UI: remove unnecessary confirmation popups
This makes a number of operators no longer ask for confirmation, rather it will
show an info message after performing the operation. Ref T37422 for decision. In
particular, these were changed:

* Delete objects, bones, keyframes, masks, mask curves, motion tracks, markers.
* Clear and delete keyframes in the 3D view.
* Align bone to parents.
* Separate bones from armature.
* Group/ungroup metastrips in sequencer.
* Copy/paste objects to/from buffer.

Reviewed By: brecht, dingto

Differential Revision: http://developer.blender.org/D35
2013-11-25 12:21:45 +01:00
98be88653d Bugfix [#37304] Arrow Keys Stop Working When Mouse Over Outliner
Frame change hotkeys now work in the following places:
1) Outliner - Main region
2) Action/NLA Editors - Channels Region
3) Info View - Reports region

Other places identified by the bugreport (but which I've decided to leave
alone):
- Text Editor (when no file open) - The way the keymaps work here means that
this can't be done without affecting normal text editing

- File Browser - What's the point of changing frames when you're about to
open/save the file?

- User Prefs - Is there any real point here either? Also, this is usually shown
in a separate window.
2013-11-05 01:29:45 +00:00
4a15df1571 remove null checks for macro definitions, if these fail then something is broken elsewhere, better not fail silently. 2013-10-26 08:01:33 +00:00
df553892c9 Bugfix: Renaming bones now renames the corresponding F-Curves in actions used by
Action Constraints
2013-10-22 11:36:48 +00:00
4dc9c9639f Ctrl+Alt+SelectMouse now does "Select all keyframes in same channel" in
DopeSheet too

Previously, it only worked in the Graph Editor, though I thought I had
implemented it here too.
2013-10-22 11:12:37 +00:00
d2fe7c38dd Adding comments to clarify each set of modifier mappings for animation editors
selection ops
2013-10-22 09:59:54 +00:00
7db1d6556d code cleanup: add break statements in switch ()'s, (even at the last case). 2013-07-21 08:16:37 +00:00
397da50002 style cleanup: switch statements, include break statements within braces & indent.
also indent case's within the switch (we already did both of these almost everywhere)
2013-07-19 15:23:42 +00:00
66f6ace938 fix for action editor view-selected behaving strangely.
- when an fcurve had no selected keyframes, a default fallback value was used which caused view-selected to include frame 1, even when no selected frames were there.

- the vertical axis was always reset, ideally we would center vertically too but the way this operator currently works we only know about the frame range,
  now don't change the vertical scroll when viewing selected since it would always jump to the top of the screen (view-all still acts this way).
2013-07-18 02:59:28 +00:00
02fbfa5c70 Fix unnecessary 3D viewport redraws in various cases, in particular when editing
node materials.

Area and region listener callbacks now get the screen and area pointers passed, so
they can do more fine grained checks to see if redraw is really needed, for example
depending on the 3D view drawtype.
2013-06-24 22:41:33 +00:00
9fb3d3e032 remove redundant includes from cmake and scons. 2013-05-30 02:16:22 +00:00
225c5fee6b move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)
remove MEM_sys_types.h which was a duplicate.
2013-05-28 19:35:26 +00:00
6de829cb7a code cleanup: split scons includes onto multiple lines, reduce chance of include conflicts later on. 2013-05-20 18:42:28 +00:00
f314ff02bd Fix #35390: sequencer end frame of preview range was not drawing correct. 2013-05-18 10:24:38 +00:00
ce39c806cf only use OSKEY as a replacement for CTRL on Apple (was already the case in many areas). 2013-05-11 01:12:29 +00:00
384adf39b9 Fix #35267: cmd+v, cmd+c on OS X for copy/paste worked in some editors like the 3D
view and text editor but not in the animation editors, node editor and sequencer.
2013-05-10 13:47:28 +00:00
f74201190d code cleanup: remove references to BLI_rand.h 2013-05-08 12:59:35 +00:00
ac224a64f4 Fix #34941: Space.draw_handler_add now supports PRE_VIEW and POST_VIEW callbacks
for more editors: timeline, graph, action, NLA, sequencer, image, clip.
2013-04-10 16:59:55 +00:00
a5bd9cbb93 fix [#34847] Box selecting shape keys of a mask causes crash 2013-04-03 03:25:26 +00:00
75a5e239d7 correct enums which were in fact variables defined in headers. 2013-03-22 05:46:39 +00:00
9aa4396a97 Assorted anim editor fixes
* Click-select operators don't have "register" flag anymore
* Graph Editor click select can be undone, just like everything else
* "Current frame" -> "Current Frame" for consistency with rest of menu
2013-03-16 05:48:46 +00:00
aaa8a13c49 code cleanup: use const events for modal and invoke operators. 2013-03-13 09:03:46 +00:00
fdfa5910b5 Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashes
Issue was caused by couple of circumstances:

- Normal Map node requires tesselated faces to compute tangent space
- All temporary meshes needed for Cycles export were adding to G.main
- Undo pushes would temporary set meshes tessfaces to NULL
- Moving node will cause undo push and tree re-evaluate fr preview

All this leads to threading conflict between preview render and undo
system.

Solved it in  way that all temporary meshes are adding to that exact
Main which was passed to Cycles via BlendData. This required couple
of mechanic changes like adding extra parameter to *_add() functions
and adding some *_ex() functions to make it possible RNA adds objects
to Main passed to new() RNA function.

This was tricky to pass Main to RNA function and IMO that's not so
nice to pass main to function, so ended up with such decision:

- Object.to_mesh() will add temp mesh to G.main
- Added Main.meshes.new_from_object() which does the same as to_mesh,
  but adds temporary mesh to specified Main.

So now all temporary meshes needed for preview render would be added
to preview_main which does not conflict with undo pushes.

Viewport render shall not be an issue because object sync happens from
main thread in this case.

It could be some issues with final render, but that's not so much
likely to happen, so shall be fine.

Thanks to Brecht for review!
2013-02-05 12:46:15 +00:00
42bbd7d62e fix for memory leak selecting dope sheet summary with mask/grease-pencil data. 2013-02-04 13:50:09 +00:00
932be982d6 fix [#34107] Grease pencil crash after box select 2013-02-04 13:17:34 +00:00
fa28e50ac2 Region scrollbar fix!
Now scrollbars correctly hide and show, making space for the actual contents
in a region. It solves several old hacks, and puts view2d code a bit more
back in control as well. 

Implementation notes:

- The view2d mask feature is working again
- The #define V2D_SCROLL_HORIZONTAL_HIDE means: "turn on hiding".
- Code for UI_view2d_region_reinit() is enforcing better standard view settings

But... two hack/patches needed to be added:

- Region panel drawing: if after generating the button panels it appears
  a scroller hides or reveils, it calls all the generating code again.
  (a simple scale doesn't work due to rounding differences in layout code)

- View2d code that maps 'tot' and 'cur' rects: if this code detects that
  the mask changes, it calcs the map code again.

Also a bugfix (issue in 2.65)

- The left/bottom area split widget was drawing 1 pixel too large sometimes, 
  leaving bad trails on moving area dividers.
2012-12-26 13:05:39 +00:00
ab2c273b12 Added GPL header to sconscripts!
Also changed shebang to '#!/usr/bin/env python', this is more portable across unixes...
2012-12-17 08:01:43 +00:00
e85935dddf Fix #33423: a few operators still allowed changing current frame during
animation render, like cursor set in the graph editor, disabled that now.
2012-12-06 05:48:51 +00:00
582a9d1c45 Fix for [#33378] Grease pencil dopesheet fails on a few operations
Snapping operator in action editor for grease pencil and mask wasn't implemented. We could probably re-enabled/fix/cleanup more things in this area (e.g. use a custom poll func for operators not supporting gp/mask, instead of silently doing nothing), but this is for after 2.65 imho).
2012-12-03 13:07:43 +00:00
1523fe0e11 Minor fix for "no mask keyframe copy" error message in dopesheet editor... 2012-12-03 08:37:43 +00:00
9fc95bd7ee use min/max inline functions where MIN2/MAX2 were doing type conversion. 2012-10-27 11:18:54 +00:00
c9dade4fe0 Big i18n commit: add "reports" from bmesh/readfile/tracking/dynapaint (and a few others), and another bunch of UI messages tweaks/fixes, as well as some BKE_report()<->BKE_reportf()... 2012-10-26 17:32:50 +00:00
0e494b74c4 style cleanup 2012-10-26 04:14:10 +00:00
f3ece5a108 style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
c56a911cd9 style cleanup: comments 2012-10-20 20:20:02 +00:00
fe53fc8315 Adding some descriptions/tooltips for more keyframe editing operations 2012-10-15 04:17:29 +00:00
c483a54207 Making "Jump to Keyframes" operator (for Action/Graph Editors) more obvious
This operator used to be called "Jump to Frame". It basically takes the midpoint
(frame number and/or value) of selected keyframes, and positions the current
frame (or2d-cursor in Graph Editor) at this point.

The hotkey for this is now Ctrl-G (i.e. as it's similar to a "Goto Frame"
feature). It is also now in the Key menu instead of in the relatively obscure
View menu, even though it doesn't actually result in any keyframe edits taking
place.

(Also, fixed a typo/grammer issue with one of Remove Bone Group operator)
2012-10-15 03:52:27 +00:00
6536e2d01a And more UI messages fixes... 2012-10-08 21:03:35 +00:00
bfadb9c272 Minor UI messages typo fixes. 2012-10-08 20:25:07 +00:00
565e7c8e3c Display enum descriptions in tooltips for operators using a "type" or "mode"
property

Changes:
This commit adds a second line to the tooltips (below the generic operator
description) showing the appropriate description for each enum option. This
brings it more into line enum properties in Blender which also show this sort of
information.

Rationale:
Operators such as Snap and Mirror in the Action and Graph Editors use an enum to
control their behaviour (respectively, "how to snap" or "what to use as the
mirror line"). In the menus, these options are displayed using a submenu, but
hovering over each of these items for more information from a tooltip only shows
the (relatively unhelpful) generic operator tooltip/description.

Another area where these descriptions are useful is for Keying Sets, where it's
now possible to see the descriptions for what each Keying Set
does/affects/requires. Again, this is more helpful than just the generic
tooltip, which would be something like "Insert keyframes using a Keying Set".
2012-10-08 05:57:52 +00:00
ba47095627 Grease Pencil notifier/listener cleanup
As suggested by Campbell on the IRC gave grease pencil its own notifier type (NC_GPENCIL) and made the makesrna notifier functions actually update properly.

Also got the #ifdef'd GreasePencil.layers.[new/remove] functions working.
2012-10-05 19:51:11 +00:00
b859d12340 inserting mask keyframes wasn't redrawing with the dope sheet 2012-09-24 00:37:14 +00:00