Commit Graph

5198 Commits

Author SHA1 Message Date
Campbell Barton
a9e25ac433 Toggle-Drag UI Feature
Dragging on toggle buttons can now be used to press multiple buttons at once, especially useful for layer and outliner buttons.


notes:
- automatically enabled for all toggle buttons
  (may change this if it becomes a problem).
- only buttons of the same type are pressed
  (helps avoid annoyances eg; dragging past layer buttons onto other 3d header buttons and pressing by accident).
- automatic axis locking - dragging will lock to X/Y depending on the initial drag direction,
  makes swipe motions work better, especially with the outliner.


implementation details:
- may re-implement as a region handler (currently its a modal operator).
- checking buttons in-between cursor motion events could be more efficient (but currently works ok).
- button execution needs to be improved
  (currently executing a button thats not under the mouse needed a workaround for passing uiHandleButtonData),
  requires further changes to UI code, will do next.
2013-02-22 05:56:20 +00:00
Campbell Barton
b00c3b801b new weight paint draw option to display unweighted vertices with the option to check on the active group or all groups.
notes:
- vertices with zero weights are considered the same as vertices outside of a group.
- currently these show black but this can be made a theme color.
- multi-paint overrides this option (noted in description)
2013-02-22 04:09:04 +00:00
Joshua Leung
e663f24978 Expose a few more operators for curves on the toolbar. Some of these were
previously not available anywhere.
2013-02-22 02:10:41 +00:00
Joshua Leung
0215911a9b Animation Editors: Operators to Group/Ungroup Selected F-Curves
This commit introduces operators to customise the grouping of F-Curves. As
groups are only available in Actions, these grouping operators only work in the
Dopesheet, Action Editor, and Graph Editor (Animation) modes.

To Use:
* Ctrl-G = Group selected F-Curves
* Alt-G  = Ungroup selected F-Curves
* or find these tools from the Channels menu

Notes:
* When invoking the grouping operator from the Channels menu, the name popup
won't show up. Instead, the group(s) created will be created with the default
name. To fix, you can either use the F6 operator properties edit OR manually
edit the names (Ctrl-LMB on the relevant channel)
2013-02-22 01:49:51 +00:00
Sergej Reich
09b124fbd3 rigidbody: Add option to create chanis for the connect operator
Connects objects based on distance.

Based on a patch by Brandon Hechinger (jaggz), thanks!
2013-02-21 19:04:39 +00:00
Sergej Reich
9c08d1c649 rigidbody: code cleanup
Use bpy.data.objects.new() instead of the object.add() operator.
2013-02-21 19:04:36 +00:00
Sergej Reich
822a06920b rigidbody: Move "Enabled" checkbox out of rigid body panel header
Rename it to "Dynamic" to make it more obvious that it switches between
static and dynamic state.
Also don't show it for passive rigid bodies since it's redundant in that
case.
2013-02-21 19:04:34 +00:00
Howard Trickey
0a6e8a41b9 Enable new bevel tool code in bevel modifier.
Now modifier takes a segments parameter.
Bevel edge weights will multiply the overall amount.
For vertex-only, you can give a vertex group name,
and the weights in that will multiply the overall amount.
2013-02-21 17:29:35 +00:00
Campbell Barton
6869ea8e7e code cleanup: no need to use list(range()), just use range() 2013-02-21 17:12:08 +00:00
Bastien Montagne
de26f59220 Add CTX_wm_operator_poll_msg_set as auto-detected func for translations. 2013-02-19 15:47:30 +00:00
Thomas Dinges
442d16b468 Fix for [#34308] only half width of material list row is used for material name.
* Issue was caused in r54393.
2013-02-18 23:41:28 +00:00
Sergey Sharybin
58c9691d19 Correction to own r44749 -- layers from view were always used,
shall use active layer now for real.
2013-02-18 17:51:07 +00:00
Campbell Barton
4cd487d731 checking for V3D_LOCAL was duplicated in transform.c, and both checks not quite correct.
- When checking edimode, make sure its mesh editmode.
- Graph editor supports this option but wasn't being checked.
2013-02-18 15:47:13 +00:00
Campbell Barton
4ae3a28fcb fix bpy_extras.mesh_utils.edge_face_count_dict() helper api function.
it was using tessfaces when theres no need to.
2013-02-18 14:52:49 +00:00
Bastien Montagne
d7058f12e5 Make list_id mandatory when using default UI_UL_list class for a template_list. 2013-02-18 14:03:26 +00:00
Bastien Montagne
5c5b753779 Fix [#34300] Slider for list of particle systems (keyed particles) is not doing anything. Navigating a list of more than 5 elements requires keyboard.
Systematically adding some custom id to template_list using default UI_UL_list class, this one is commoly used more than once in an area, yielding collision issues if they do not have a custom id...
2013-02-18 13:30:40 +00:00
Campbell Barton
d45612aa41 fix [#34279] Python console: Selected region is not highlighted when using white background color 2013-02-18 02:36:36 +00:00
Sergej Reich
85b6bbe6cd ribidbody: Fix setting "Bake to Keyframes" start frame above 2
Simulation needs to run from the beginning to work properly.
2013-02-17 18:13:22 +00:00
Bastien Montagne
3de87ebf64 Minor fix... 2013-02-17 15:04:56 +00:00
Bastien Montagne
7cdff04f9f Fixes for BMO_error_raise extraction regex, and add hindi to "active" translations.
Also enhanced the ugly py ast parsing code, so that it now can handle (up to some extent) "name" function nodes, and add bpy.app.translations.pgettext func familly to extracted ones...

This ast py parsing becomes more and more ugly, should probably try to refactor it a bit. :/
2013-02-17 14:00:40 +00:00
Bastien Montagne
c524b47912 Another huge bunch of UI translation fixes, mostly reported by Leon Cheung, Sv.Lockal, Gabriel Gazzán and Satoshi Yamasaki, thanks! 2013-02-17 13:56:49 +00:00
Monique Dewanchand
9cd01c6a5c Added option for group node buffering in the compositor.
Justa cluster did not have enough memory to handle all Mango 4k scenes.
Option is default disabled and can be enabled in the performance panel.

 - At Mind -
2013-02-16 20:21:41 +00:00
Bastien Montagne
207dca55f4 And more UI messages issues fixing... Thanks again to Gabriel Gazzán and Leon Cheung! 2013-02-15 18:19:20 +00:00
Bastien Montagne
313df262e3 Fix [#34253] UIList resize, resizes wrong list I/II
When using default UI_UL_list, one should always spully a custom ID, else collision inside an area are quite likely...
2013-02-15 08:32:25 +00:00
Bastien Montagne
5078174f07 New Hindi translation... 2013-02-14 14:41:04 +00:00
Bastien Montagne
f6624aaacd Gah, forgot some ugly print... 2013-02-13 21:56:12 +00:00
Sergey Sharybin
6557d33608 Made maya keymad deselect everything in cases nothing was selected with LMB
The way it works now is:

- Border select is using TWEAK, for which you need to hold LMB down
  and move mouse. This prevents operators using RELEASE/CLICK events
  from being fired.
- LMB select is using RELEASE event, this is no selection happens
  before border if you do border select. And this prevents any
  operator uses CLICK event from being fired.
- Delect all happens by CLICK, which would be fired only in case no
  operators were handled with PRESS/RELEASE.

This is a bit cards-house, but this is how events currently works and
wouldn't want inventing something bigger now.
2013-02-13 17:43:52 +00:00
Bastien Montagne
43f4f807d9 Fix physics' name not translated in main physics panel (reported on bf-translations ML).
This also revealed another bug, as you could not explicitely set default context to text_ctxt UI func parameter (None is not accpeted by RNA string props), so I had to change default context from py POV to "*" instead of None.

Anyway, that physics UI translation remains weak, as the trick used here (helper func) prevents message extractor script to directly find them. Currently it works because specified labels are also defined elsewhere, but it would be nice to have some kind of "translation markers" in py code too (similar to our N_/CTX_N_ C macros, unfortunately python does not have preprocessing ;) )...
2013-02-13 11:52:01 +00:00
Sergey Sharybin
708b01e177 Fix #34217: Maya keymap preset doesn't handle Shift-Click selection properly 2013-02-13 08:11:35 +00:00
Bastien Montagne
f2d9fc7e25 Update to how similar messages matching is handled when updating po files from pot one (gain something like 20% in heavy update situations, and save a nice bunch of memory!). 2013-02-12 17:32:54 +00:00
Bastien Montagne
08cf8865aa And we now have a valid korean translation! 2013-02-12 14:36:08 +00:00
Bastien Montagne
027a426c4d Add translation of stats/info string. 2013-02-12 07:32:17 +00:00
Antony Riakiotakis
41500e2824 Fix themes for gradient. For other (contrib) theme maintainers: back property is not used for 3D viewport back colour anymore, instead use the gradient high colour, as done in this commit 2013-02-10 20:17:50 +00:00
Bastien Montagne
d0f4a2396b Actually, UI scripts should not use directly pgettext, but rather the iface or tooltip variants. Added those to bpy.app.translations, and used pgettext_iface.
(Did not add those when I created that module, because I did not thought we would actually need them in usual UI code, but turned out I was wrong).

Also made some optimizations in those py gettext funcs, when i18n is disabled at build time, no need to do pyobject -> cstring -> pyobject conversions!.
2013-02-10 10:29:38 +00:00
Campbell Barton
3b8a0f3d67 use import rather then assignment for loading '_' into scripts. 2013-02-10 09:56:05 +00:00
Bastien Montagne
c0fa16f2c9 Another fix for r54414 (cleaner to "import" pgettext once at top of files, also now using usual '_' shortcut). 2013-02-10 09:09:26 +00:00
Campbell Barton
5d4df1a999 pep8 cleanup 2013-02-10 08:54:10 +00:00
Campbell Barton
63af7068ad revert removal of ternary operators from r54414 2013-02-10 08:26:48 +00:00
Campbell Barton
a643d28446 Update translation extractor so ternary expressions are not merged.
eg: ("A" if test else "B")
2013-02-10 07:11:32 +00:00
Bastien Montagne
a4a1c66725 Better to return default op context when we can't find a given operator (e.g. console toggling under linux does not exists). 2013-02-09 18:47:40 +00:00
Bastien Montagne
e14b21dd6d Updated py ui message extraction, to find out contexts as much as possible... 2013-02-09 18:32:00 +00:00
Bastien Montagne
82c86af7f7 Bunch of fixes for py ui messages (all those using 'formating' were not translated previously, now they use bpy.app.translations.pgettext). Also pleas avoid complex py statements in 'text' values (like 'text="foo" if cond else "bar"'), thes make message extraction script fails!
And another "final point in UI message" removal!
2013-02-09 18:26:40 +00:00
Campbell Barton
d26c063121 disable translations for some python buttons. 2013-02-08 16:41:02 +00:00
Bastien Montagne
23aa0c9067 Fix uilists showing data names translated (reported on bf-translations ML by Satoshi Yamasaki aka yamyam, thanks!). 2013-02-08 16:01:21 +00:00
Ton Roosendaal
a3bd7de8a3 Added warning below MultiSample User Preference option for Linux systems.
(All 8 reports in tracker for selection failures were linux...)
2013-02-08 13:15:30 +00:00
Ton Roosendaal
1dfb6404b7 Release todo: added userpref for Mac users having "Natural Scroll" set.
As per discussion and analysis of all trackpad usage, we now
follow this convention:

- Blender follows system setting for trackpad direction preference.

- If you set your system to "natural" scroll, we need to invert a couple
  of cases in Blender we do "natural" already. Like:

   - view rotate (the inversed option just never feels ok)
   - scroll active items in list or pulldown menu (up/down is absolute)
   - ALT+scroll values in buttons (up/down is absolute)

The new User Preference setting "Trackpad Natural" handles this.

For 2.66 we only have trackpad handling for OS X... so this isn't
affecting trackpad usage in Windows and Linux, which stick to be mapped
to Scroll Wheel still.

(Note: viewrotate now is "natural" always, changing how it worked in the
past weeks).
2013-02-08 12:12:57 +00:00
Campbell Barton
08326778c5 use sys.platform for checking the OS. 2013-02-08 11:23:22 +00:00
Campbell Barton
560c022af9 patch [#34163] "Zoom" in Python console startup message
from Shinsuke Irie (irie)
2013-02-08 10:15:44 +00:00
Campbell Barton
4b8fe80e6e code cleanup: use exist_ok keyword arg to os.makedirs() rather then checking if the dir exists first. 2013-02-07 04:02:24 +00:00
Sergej Reich
b64858cade rigidbody: Use ARROWS empty draw type when creating constraints
Since we don't have constraint visualization yet, it's useful to see
where the individual axes point.
2013-02-05 21:51:20 +00:00