Scanning local repositories was printing an error when the local
directory of other repositories didn't exist.
Caused by the logic that ensures wheel's are updated which needs to
check meta-data for all repositories after an update.
Resolve by optionally skipping errors for missing directories.
Since changing RNA values now trigger synchronizing with remote
repositories (which can be slow), it was possible to accumulate
notification requests to the same repository which would re-download
the remote data on each button press.
Skip notifications which have been superseded by newer requests.
When changing the URL or access token, re-synchronize remote data
automatically.
This changes automatic synchronization to use a background task that
runs based on a timer instead of a modal operator since the operator
is more intrusive and not so well suited to running based on changes
to RNA.
Only smooth and randomize brush has properties in advanced panel. For
others, panel is empty. Include condition in poll function to skip
drawing of "advanced" panel for rest brushes
Resolves#123536
Pull Request: https://projects.blender.org/blender/blender/pulls/123549
Calling os.path.samefile on a repository directory that didn't exist
was raising an exception. Resolve by comparing the directories as
strings, see code comments for details.
- Suppress the warning entirely when the "first time" message
requesting online access is shown as it adds unnecessary noise.
- Otherwise, when offline, show a message suggesting to allow online
access or disable the repository.
The sync with remote repositories would lock-up the interface with no
way to cancel. This could be a problem especially on slow connections.
The operator dialog is now shows the state of syncing which can
be canceled by pressing Escape or clicking away from the dialog.
Port `GPENCIL_OT_layer_duplicate_object` operator to new structure.
New function created to duplicate layer and its frames. This could also
be used in duplicate_layer operator later.
Part of #110056
Pull Request: https://projects.blender.org/blender/blender/pulls/123366
The default "System" repository which was ordered before "User Default",
order system repositories last as these are a special case many users
won't touch.
- Optionally generate a simple HTML page (using --html).
- Links include repository, blender_versnon_* & platform information,
so the information can be used by blender when links are dropped
into Blender.
- Support using a template as the default HTML is primitive.
- Disable enabling on install when installing marked.
This simplifies installing many packages from a repository which can
be useful for testing.
- Fix an error installing marked when a local-only package was marked.
When syncing in the background the UI could refresh immediately
before clicking making it possible for the user to install the wrong
extension. Since install also enables the extension, it meant it was
too easy to accidentally run untrusted code.
Disable install/upgrade while sync runs.
Also tweak text alignment and use round brackets for "(disabled)"
extensions.