Commit Graph

360 Commits

Author SHA1 Message Date
Dalai Felinto
b528aca711 Merge remote-tracking branch 'origin/blender-v4.2-release' 2024-06-28 11:46:45 +02:00
Dalai Felinto
84f11da63a UI: Extensions: Fix spacing between Install and Menu
This was originally introduced on c6e452d865.

A subsequent Cleanup commit (c3d18854f3) changed this further,
increasing the gap a few extra pixels.

Since no functional/visual change should ever come with a cleanup commit
I'm treating this small regression as a bug, fixed by this commit.

There was something right about c3d18854f3, and one of the align=True
is indeed not needed.
2024-06-28 11:29:49 +02:00
Campbell Barton
d0a3d629b9 Merge branch 'blender-v4.2-release' 2024-06-28 14:21:22 +10:00
Campbell Barton
80f07e3f26 Cleanup: simplify the tags drawing function
Tags share logic between extensions & add-ons, simplify the method
used for both kinds of panels to share a draw function.
2024-06-28 14:18:52 +10:00
Campbell Barton
dbe3956c76 Merge branch 'blender-v4.2-release' 2024-06-28 14:10:47 +10:00
Campbell Barton
1043b273d5 Extensions: hide the extensions add-on unless debugging extensions 2024-06-28 14:08:56 +10:00
Campbell Barton
2fd7db0633 Extensions: hide the extensions add-on unless debugging extensions 2024-06-28 14:05:52 +10:00
Campbell Barton
60a5ef492c Merge branch 'blender-v4.2-release' 2024-06-28 13:42:43 +10:00
Campbell Barton
37ae9d5fc4 Fix #123827: Extension cannot be uninstalled if symlinked
In the case of user managed files we can't rely on paths to remove
being directories, they could be symbolic links as developers may point
to their own repository. While unlikely the paths to remove could
be files too.

Use a wrapper for shutil.rmtree(..) that handles symlinks & files,
use when removing paths that are expected to be directories from user
managed locations.
2024-06-28 13:40:37 +10:00
Campbell Barton
cb68d0c9d7 Merge branch 'blender-v4.2-release' 2024-06-27 22:28:57 +10:00
Andrej730
1553a75fed Fix regression installing an addon by drag'n'drop
Regression in [0].

Ref: !123832

[0]: fcba8b8099
2024-06-27 22:26:32 +10:00
Campbell Barton
8e2cbdc876 Merge branch 'blender-v4.2-release' 2024-06-27 21:41:03 +10:00
Campbell Barton
c3d18854f3 Cleanup: avoid unnecessary separator
The extensions UI was aligning all buttons then adding a separator.
Simplify the layout by removing align which removes the need for an
explicit separator.
2024-06-27 21:35:23 +10:00
Sergey Sharybin
cb9060ede6 Merge branch 'blender-v4.2-release' 2024-06-27 12:48:26 +02:00
Dalai Felinto
c6e452d865 UI: Extensions: Add a separator between Install and the "⌄" button
It was too easy to click on Install by mistake, while trying to click on
the "⌄" menu. This is particulary problematic since we enable add-ons by
default.

Co-authored by: Pablo Vazquez, based on (informal) report by Campbell Barton.
2024-06-27 12:06:53 +02:00
Campbell Barton
f43cf39689 Merge branch 'blender-v4.2-release' 2024-06-27 14:43:39 +10:00
Campbell Barton
989de85cf6 Extensions: fixed & refactor internals for extension visibility
Add utility class to check extension visibility to remove
incomplete logic that was duplicated into operator code.
Also minor refactoring to reduce the number of arguments passed
to internal function.s
2024-06-27 14:33:47 +10:00
Bastien Montagne
f6358f6e71 Merge branch 'blender-v4.2-release' 2024-06-26 19:28:22 +02:00
Damien Picard
f739d4832e I18n: Extract and disambiguate a few messages
Disambiguate
- "Thickness": use "Material" for EEVEE's thickness material setting.
- "Generated": use "Texture" for texture coordinates, "Image" for
  image source, keep default context for animation keyframe types.

Translate
- Split "Online access required to (check for|install) updates..."
  into 2x2 messages individually translatable.
- "Geometry" input in bake node.
- "New" for the Palette ID: extract it as part of the
   BLT_I18N_MSGID_MULTI_CTXT for "New".

Some issues reported by Gabriel Gazzán and Satoshi Yamasaki.

Pull Request: https://projects.blender.org/blender/blender/pulls/123404
2024-06-26 19:25:22 +02:00
Campbell Barton
e8f5cc2dc2 Merge branch 'blender-v4.2-release' 2024-06-27 00:01:41 +10:00
Campbell Barton
99fcbf877d Extensions: Remove "Enabled" section, use sorting instead
This changes the sorting for the installed extensions.
- Update.
- Enable.
- A-Z.

Don't use A-Z for "Available" extensions to prevent name manipulation
to bring an extension up on the ranks.

Match the design of !123728, rewritten to support sorting across
multiple repositories and update tags which weren't handled in the PR.

Details:

- Remove the "Filter" popover & the option "Updates Available"
  since updates are now shown first.
- Add an iterator to for visible extensions to de-duplicate logic which
  was copied for code that scanned for tags.
- Split out logic for drawing an extension into it's own function.
- Tags are now calculated based on visible extensions limited by search.
2024-06-26 23:59:58 +10:00
Campbell Barton
66e422f33d Merge branch 'blender-v4.2-release' 2024-06-26 14:27:40 +10:00
Campbell Barton
96906536db Extensions: add a Python API for user editable extension directories
Provide a convenient way to access a writable directory for extensions.
This will typically be accessed via:

  bpy.utils.extension_path_user(__package__, create=True)

This API is provided as some extensions on extensions.blender.org
are writing into the extensions own directory which is error prone:

- The extensions own directory is removed when upgrading.
- Users may not have write access to the extensions directory,
  especially with "System" repositories which may be on shared network
  drives for example.

These directories are only removed when:

- Uninstalling the extension.
- Removing the repository and its files.
2024-06-26 14:23:17 +10:00
Campbell Barton
54456d27c9 Merge branch 'blender-v4.2-release' 2024-06-26 00:33:03 +10:00
Campbell Barton
6456210d30 Merge branch 'blender-v4.2-release' 2024-06-26 00:33:01 +10:00
Campbell Barton
a8d6047e6e Merge branch 'blender-v4.2-release' 2024-06-26 00:32:56 +10:00
Campbell Barton
fcba8b8099 Fix #123710: Remote repo re-used when installing from file selector
Functionality from [0] to skip-saving remote repositories was only
applied when dropping extensions. Now this is done when installing
from the file selector too.

[0]: 9b7f2c9976
2024-06-26 00:32:00 +10:00
Campbell Barton
17951d12ed Cleanup: correct staticmethod, remove unused imports & formatting 2024-06-26 00:31:59 +10:00
Campbell Barton
69b22f73c2 Revert "UI: Extensions: Remove "Enabled" section, use sorting instead"
This reverts commit 90dc001a56.

This doesn't work with more than one repository and left in incorrect
tags calculations.
2024-06-26 00:14:20 +10:00
Dalai Felinto
5bf5322c3f Merge remote-tracking branch 'origin/blender-v4.2-release' 2024-06-25 16:05:44 +02:00
Dalai Felinto
36060eda49 UI: Extensions: Show the correct URL icon for extension links
Right now it only shows the HELP icon if it is a legacy add-on.

Pull Request: https://projects.blender.org/blender/blender/pulls/123730
2024-06-25 16:04:46 +02:00
Dalai Felinto
90dc001a56 UI: Extensions: Remove "Enabled" section, use sorting instead
This changes the sorting for the installed extensions.
* Update
* Enable
* A-Z

We don't use A-Z for the Available one to prevent name manipulation to
bring an extension up on the ranks.

Pull Request: https://projects.blender.org/blender/blender/pulls/123728
2024-06-25 16:04:20 +02:00
Miguel Pozo
b855cd7bb0 Merge branch 'blender-v4.2-release' 2024-06-25 15:57:11 +02:00
Dalai Felinto
b1dfdca392 UI: Extensions: Fix Extension tagline not disabled when it should
The extension tagline of disabled extensions was still showing fully
enabled (white text).
2024-06-25 15:46:21 +02:00
Omar Emara
f1134ce0b7 Merge branch 'blender-v4.2-release' 2024-06-25 16:40:44 +03:00
Dalai Felinto
dd7cc11796 Extensions: Link to visit the extensions platform 2024-06-25 15:13:50 +02:00
Dalai Felinto
92a2185a4e UI: Extensions: Use placeholder for extensions and add-ons search 2024-06-25 15:13:50 +02:00
Campbell Barton
4fd39f4103 Merge branch 'blender-v4.2-release' 2024-06-25 23:05:20 +10:00
Campbell Barton
b5e0bff4ba Extensions: show the "Website" in the expanded details
This was moved to the menu from [0].

Add back to show this more prominently, resolves #123689.

[0]: c312f20627
2024-06-25 23:02:08 +10:00
Campbell Barton
b1d655d4f3 Merge branch 'blender-v4.2-release' 2024-06-25 22:52:11 +10:00
Campbell Barton
2783790bf2 Extensions: use the remote repositories URL for the add-ons "Website"
Override the website in the manifest with the website from the remote
repository data if it's available.

While this can be made to work it requires some awkward logic since it's
assumed an extensions meta-data is provided by the manifest with is
not the case when we start overriding it with values from elsewhere.

Resolves #123706.
2024-06-25 22:45:47 +10:00
Campbell Barton
220a66e54d Merge branch 'blender-v4.2-release' 2024-06-25 22:07:46 +10:00
Campbell Barton
7298df864c Fix error detecting outdated extensions in the UI
The "Update" button would never be shown in the extension header.

Own error in [0] caused the local version to compare with itself.

[0]: c312f20627
2024-06-25 22:05:51 +10:00
Campbell Barton
b2a049e77f Merge branch 'blender-v4.2-release' 2024-06-25 21:54:14 +10:00
Campbell Barton
696c997d72 Extensions: split extensions by category Enabled/Installed/Available
Each section (if not empty) now shows a panel header.
Now there is no need to include "installed/disabled" text next to each
extension. This also removes the need for most of the filtering options.

See design task #123660.
2024-06-25 21:53:04 +10:00
Campbell Barton
f4c1f42cd2 Merge branch 'blender-v4.2-release' 2024-06-25 19:16:46 +10:00
Campbell Barton
2da9e89523 Merge branch 'blender-v4.2-release' 2024-06-25 19:16:41 +10:00
Campbell Barton
b038442b32 Merge branch 'blender-v4.2-release' 2024-06-25 19:16:38 +10:00
Campbell Barton
b10d7f1290 Merge branch 'blender-v4.2-release' 2024-06-25 19:16:36 +10:00
Campbell Barton
00d3e19296 Extensions: defer imports to reduce overhead on startup 2024-06-25 19:13:11 +10:00