Age | Commit message (Collapse) | Author |
|
|
|
|
|
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 ;) )...
|
|
also clear before calling the operator.
|
|
add a warning when python leaves the modified mesh without calling bmesh.update_edit_mesh()s.
this doesn't fix the crash but points to the likely cause.
|
|
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!.
|
|
Conflicts resolved:
release/datafiles/startup.blend
release/scripts/startup/bl_ui/properties_render.py
source/blender/SConscript
source/blender/blenloader/intern/readfile.c
|
|
code (just realized that flag value was wrong, probably own typo in a previous commit :/ ).
That "trick" was nice when introduced, but it became kind of a pita since we added translation contexts...
|
|
override collections.
|
|
|
|
changes to internal import behavior of py3.3 broke it.
|
|
needed).
|
|
|
|
Python wasn't able to set 'OperatorType.prop', which is used by uiButGetStrInfo().
add 'bl_property' to python operators which is assigned to OperatorType.prop when registering.
(api docs coming next)
|
|
|
|
|
|
|
|
|
|
slide examples didn't.
Edge slide needed to check for concave ngons too.
add BM_loop_is_convex() and expose to python too.
|
|
validation of classes actually always passed for mandatory functions. This only worked since they all use fallback default implementations internally.
|
|
script by Alex Fraser.
|
|
Conflicts resolved:
source/blender/blenfont/SConscript
source/blender/blenkernel/intern/subsurf_ccg.c
source/blender/makesdna/intern/makesdna.c
source/blender/makesrna/intern/rna_scene.c
|
|
Also now display nice "area" units (maybe using "length" units was a perf matter, but anyway, you can't have more than a few tens of values displayed at a time, after that they become unreadable). Easy to undo anyway if we really want to keep ugly "10m" as area display!
|
|
|
|
memory at end of program - I thought addons were unregistered at quit time...).
|
|
following
order: (identifier, name, description, icon, unique number)
This also works without the icon still, for compatibility.
|
|
when searching messages in GHash cache!).
Thanks to PerfectionCat for finding this.
|
|
This should not be needed, I really see no reason for this linking error, but I'd rather use this hack than wasting more time over this issue. When will we get rid of this "two build systems to maintain" time-wasting situation?
|
|
|
|
support, this will avoid the need for py scripts to test for its presence everywhere!
|
|
(do not error here, this is not critical and can be ignored/skiped, and it would break translations for other addons as well).
|
|
manipulation scripts/addons.
|
|
This bug did not appear earlier because the "" default context was actually never used, always NULL context was passed instead. But bpy.app.translations uses "" as default context in its keys (simplifies the hash/comp functions of internal py messages cache)...
So now, Blender prefers NULL (None in python) as default context value, but understands also "" as such.
|
|
and use slightly different funcs for getting strings.
|
|
|
|
suggestions!
This commit adds:
* A new bpy.app.translations module giving some info about locales/translation stuff (current active locale, all locales currently known by blender, all translation contexts currently defined, etc.).
* The ability for addons to feature translations, using the (un)register functions of above module.
* Also cleans up "translate py string when storing into RNA prop" by removing "PROP_TRANSLATE" string's subtype, and adding a PROP_STRING_PY_TRANSLATE flag instead (this way it is no more exposed to python...).
Addon translations work with py dictionaries: each addon features a dict {lang: {(context, message): translation, ...}, ...}, which is registered when the addon is enabled (and unregistered when disabled).
Then, when a key (context, message) is not found in regular mo catalog, a cache dict for current locale is built from all registered addon translations, and key is searched in it.
Note: currently addons writers have to do all the work by hand, will add something (probably extend "edit translation" addon) to automate messages extraction from addons soon(ish)! To get a look to expected behavior from addons, have a look at render_copy_settings/__init__.py and render_copy_settings/translations.py (rather stupid example currently, but...). Once we have a complete process, I'll also update relevant wiki pages.
|
|
|
|
Conflicts resolved:
release/datafiles/startup.blend
source/blender/blenloader/intern/readfile.c
|
|
measure of the buffer size.
|
|
returns.
|
|
decrement internally on errors, need to skip Py_DECREF in that case to avoid negative refcounts.
|
|
state when being called outside the UI context.
|
|
byte array
bmesh access allows zero bytes, support still needs adding via RNA.
|
|
|
|
|
|
|
|
enabled.
supports paper/blend/real.
|
|
rest of the RNA api.
|
|
Conflicts resolved:
release/scripts/startup/bl_ui/properties_render.py
source/blender/blenloader/intern/readfile.c
source/blender/editors/interface/interface_templates.c
source/blender/makesrna/RNA_enum_types.h
Also made additional code updates for:
r53355 UIList - Python-extendable list of UI items
r53460 Alpha premul pipeline cleanup
|
|
We already have update callbacks, but generic get/set functions can come in handy in some cases where the functionality is too complex to use a single value.
The current C callback functions are too simple allow a straightforward implementation, in particular they don't receive the PropertyRNA pointer itself as an argument, which means the callback cannot directly access the PropertyRNA's py_data pointers which store the python function objects. For this reason a second runtime variant of these callbacks has been added. It is only used for runtime callbacks and not in makesrna, but otherwise works the same way.
|