Now reloading the user defaults also unloads/loads addons, resetting the state to the one set in the user preferences.
moved addon functions into bpy.utils
- bpy.utils.addon_enable(name, default_set=True)
- bpy.utils.addon_disable(name, default_set=True)
- bpy.utils.addon_reset_all(name, default_set=True)
the user preference operators now just wrap these.
- better error reporting when an addon fails to load
- upload an addon which loads partly but then fails (eg, module loads but class register fails)
- bugfix addon loading, failier to load would leave _bpy_types._register_immediate = False
- added which change on disk are reloaded when enabling.
- bpy.path.module_names() now returns (module_name, module_path) pairs.
- From now on addons bl_addon_info['name'] doesn't need to specifcy also the category, it is put automatically in the addon box title
In some script category and the category in the title were not matching, this had to be fixed manually.
- The warning icon is at the right of the addon box title, so that it cant disalign the addon name anymore when we have a warning.
- After discussing with Campbell, I've added the field bl_addon_info['api'] where we should specify the Blender API version number the addon is
compatible with.
This is certainly useful for clarity, and also I need it in place while preparing the downloadable addons.
- Also, bl_addon_info['version'] is now assumed to be a tuple of integers as it is bl_addon_info['blender'].
Any important text should be placed in the bl_addon_info['warning'] field, not in the script version anymore.
I'm going to reflect this change in bf-extensions so that scripts won't suddenly break.
Contributed by Imran Syed (freakabcd)
Adds a field where the user can put in name/nickname that exporters
then can use to write authoring information, where possible.
- replaced PySys_GetObject("modules") with PyImport_GetModuleDict()
- use defaults for keymap import/export rather then setting the same value every time from the UI scripts.
- 2 panels implimented in properties_render_test.xml (Render Dimensions and Stamp)
- only enabled in debug mode.
- poll() functions are not supported yet.
- as stated above experemental, we'll see if this is at all useful, remove if not.
- XML could be replaced with JSON or YAML.
- re-arranged UI in a way that gave far too much vert scrolling.
- was added all over for simple things like making text="", layout engine should handle this.
- Ton and Brecht are ok with removing this now. Ton would like to work on the layout engine to make it better support these cases.
poll() function is now a static method in python, this is more correct, matching C where the operator is not created to run poll.
def poll(self, context): ...
is now...
@staticmethod
def poll(context): ...
Pythons way of doing static methods is a bit odd but cant be helped :|
This does make subclassing poll functions with COMPAT_ENGINES break, so had to modify quite a few scripts for this.
Fast Navigate apparently needs to be made an option of the multires modifier
Threaded Sculpt and Show Brush need to be made UserPrefs
Some of these options were removed form UserPref panel without placing them anywhere else in the interface so this commit at least puts them somewhere so they can be used.
The setting for this (IMO it should really be on by default, for reasons I've outlined recently) was not exposed at all.
The setting that was shown was a new(?) option in 2.5 which dealt with Ctrl-MMB drag zoom.
- rename 'no_bg' argument to 'emboss' (and negated)
- added 'emboss' option for operator buttons.
- Addon UI Layout slight modifications, changed enable/disable buttons for checkbox, grey out text of disabled addons to make it obvious at a glance whats enabled.
- column expanded enums now align text to the left.
- renamed ui_item_enum_row to ui_item_enum_expand since its used for columns and rows.
Layout is now simpler, more easy to scan. This commit also simplifies the Python code and gets rid of hundreds of wasted lines of code, making it much easier to make layout changes.
- release/scripts/ui/space_userpref.py
added the change to add a 'warning' field to bl_addon_info
warning icons are used to show 'broken' scripts or warnings
asked permission to campbell and matt in blendercoders to apply this
- source/blender/python/doc/sphinx_doc_gen.py:
small fix in the url
path -> filepath (for rna and operators, as agreed on with elubie)
path -> data_path (for windowmanager context functions, this was alredy used in many places)