Commit Graph

59 Commits

Author SHA1 Message Date
c97c1c847c UI: Move Extensions repositories popover to header
Improve discoverability of the repositories settings by moving them from
the dropdown menu into the header.

Inspired by !27

Pull Request: https://projects.blender.org/blender/blender-addons-contrib/pulls/30
2024-04-16 17:23:29 +02:00
16908cc466 Extensions: User Interface: Fix logic for Filter
1. The Install and Enable were "Show Only", but the label was saying
   only "Show". We now split Show and Only in two sections.

2. The logic for when enable/installed would be active was flipped.

Designed together with Pablo Vazquez.
2024-04-12 17:34:23 +02:00
d5862549d3 Extensions: User Interface
* Make "Repositories" more accessible.
* Unify all the "Install" operators.

This commit addresses some feedback regarding being hard to setup
repositories since they were on the corner of the panel, and get easily
dismissable while travelling there with the mouse.

It then touches on the topic of discoverability of this feature, and
re-organize the extensions Operators dropdown menu.

Repositories
-----------
Repositories was accessible via the "preferences" icon. This icon (a cog)
is used already on the File Browser as a toggle to expand the side panel.
Here it had no label, thus no correlation between the button and what it did
(Repositories).

Instead this commit adds a Repository entry to the extensions operators
dropdown menu.

Install
-------
The "Update All" entry wasn't clear enough. It has been renamed to
Install Available Updates and grouped together with the other Install
operators.

--
Designed together with Pablo Vazquez.
2024-04-12 17:10:23 +02:00
98c9f50dae Extensions: support enable/disable for themes 2024-04-12 14:41:33 +10:00
d158316df4 Extensions: implement dropping directly from install operators
Remove a hack that used a popover panel to invoke an operator.
This was needed because drop ran from bpy.app.handlers.
Instead, activate the install operators from the drop action.

Resolves blender/blender#119500
2024-03-19 18:04:40 +11:00
09143a5ddb Extensions: minor clarification to manifest error 2024-03-19 15:59:37 +11:00
5994a7a771 UI: Show Extensions Tools if Dev Tools Flag Set
Main repository commit 8770299406 added a separate experimental flag
for "Extensions Development Utilities". This PR just uses this flag to
show/hide developer items on its main dropdown menu. Requested in
#119521

Pull Request: https://projects.blender.org/blender/blender-addons-contrib/pulls/28
2024-03-16 17:33:28 +01:00
330f486d5b Extensions: show an error when a dropped archive has no manifest 2024-03-12 19:32:56 +11:00
dc6ba902e2 Extensions: add horizontal line between error title & body text 2024-02-23 19:42:15 +11:00
7cb9d3245e Extensions: don't display emails in maintainer & author fields
Retinal noted in code-comments.
2024-02-23 19:42:05 +11:00
ff451df8e1 Extensions: improve extensions UI for URL & filepath dropping
- Add cancel button.
- Add repository selector when installing from files.
- Make enabling after installing optional.

Implement design from #118635.
2024-02-23 19:23:20 +11:00
b3b459e482 Extensions: UI improvements for drop popups
- Show extension name.
- Show extension type.
- Show repository name.
- Show size without a decimal point.
- Use separator to differentiate the title from the popup contents.
2024-02-23 16:20:50 +11:00
62fb641d2a Extensions: Rename "Remove" > "Uninstall" 2024-02-22 11:52:03 +01:00
42991bad1c Extensions: use blender reports instead of custom reporting panel
The previous reports display can be enabled as a debugging option
since reports flatten errors from different processes which can make
them more difficult to follow.
2024-02-22 18:42:16 +11:00
cc27a8bc46 Extensions: support removing extensions installed from disk
This was possible to do with add-ons so support it for extensions too.
Otherwise users are forced to navigate to the extension directory
with a file manager and manually remove which is inconvenient.
2024-02-22 16:49:01 +11:00
2e9fe44a87 Extensions: don't display missing directories as errors
This happens on startup before update runs.

Resolves #118564.
2024-02-22 16:20:08 +11:00
af6f75ab50 Extensions: correct error message 2024-02-22 15:34:56 +11:00
7645b91256 Extensions: support dropping file-paths to install-from-disk
The selection of repositories is awkward as selecting the destination
repo triggers installation instead of using an "OK" button.

I'll look into further improvements for the UI that can be used for
both filepath & URL dropping.
2024-02-21 22:40:33 +11:00
af8541a293 Extensions: fix invalid icon ID, minor cleanups
- Remove unused operator.
- Rename "Repository" to "Local Repository" when installing from disk.
- Make the URL hidden (so the UI can be exposed in the future without
  showing the full URL).
2024-02-21 22:36:58 +11:00
cb857c79d7 Extensions: auto-format 2024-02-21 16:38:13 +11:00
bb01791286 Extensions: add handler for dropping extension URL's 2024-02-21 15:54:41 +11:00
03af33c703 Extensions User Interface: Fix property_split
This is required for the filter popover.
2024-02-20 17:43:43 +01:00
089c5133db Extensions: UI changes
Remove repeated icon (Install Legacy Add-on).
Re-arrange the filter menu.

I was expecting the "Show" to be in-lined with the items.
But maybe this does not work for popups?
2024-02-20 17:21:17 +01:00
5540e5ba27 Extensions: show a disabled checkbox for not installed extensions
This is a bit of a hack, but not sure if we have a better way to
implement this at the moment.

The idea is that an installed extension checkbox should look different
than a not installed one, since you cannot enable/disable the latter.

Ref: !25
2024-02-20 09:39:14 +11:00
5770b5bdcd Extensions: Get the header buttons closer together 2024-02-17 15:22:43 +01:00
f9910979da Extensions: support hiding legacy add-ons
This makes managing extensions from a repository clearer.
2024-02-15 14:53:17 +11:00
e9466560b7 Extensions: use 90% of the header width for error message titles
The text was being clipped at 50%.
2024-02-06 20:35:14 +11:00
c4d69287aa Extensions: fix marking extensions when debugging utils are turned on 2024-02-06 20:21:25 +11:00
f8a322f47c Extensions: implement sync immediately after repository creation
Add the ability to sync & upgrade the active repository.
2024-02-06 18:54:53 +11:00
af7dfe5246 Extensions: missed making one of the repository errors dismissable
Missed from 7e192f6779.
2024-02-06 17:51:37 +11:00
7e192f6779 Extensions: support dismissing errors that occur while drawing
While errors caused by updating / installing could be dismissed
any errors that occurred while reading repository data for drawing
were always displayed.

Now errors encountered while drawing are displayed in a single
box with the option to dismiss it.

Any changes to the errors will show the errors again.
2024-02-06 12:15:14 +11:00
71ebfe4923 Extensions: support humanly readable text for license ID's
Part of #117841.
2024-02-06 11:07:29 +11:00
1488adeb60 Extensions: show checkboxes for all extensions
- Show inactive disabled checkbox for non-installed extensions.
- Show inactive enabled checkbox for installed non-add-ons extensions.
  They cannot be disabled for now, use a place-holder operator.

Part of #117841.
2024-02-06 10:47:54 +11:00
5947e18260 Extension: rename labels
- "Install Extensions (from file)..." -> "Install from Disk"
- "Install Legacy Add-on (from file)..." -> "Install Legacy Add-on"
- "Installed (Legacy)" -> "Installed",
  but use Legacy for the name. e.g., "Legacy: Blender Kitsu".
- "Blender Kitsu (Outdated)" -> "Blender Kitsu"
  (but shows the Update button).

Implement part of #117841
2024-02-06 10:42:14 +11:00
be647aa561 Extensions: add support for installing extensions from local files 2024-02-04 18:05:41 +11:00
7fac125d2b Extensions: use field "website" instead of "homepage" 2024-02-03 13:17:58 +11:00
803d8791bd Extensions: add filter to only show Enabled extensions 2024-02-02 21:05:49 +11:00
2fc9c01657 Extensions: workaround a bug in spacers not accounting for UI scale
Internally separator_spacer(..) assume they're displayed in a header,
this meant zooming in would push the layout to the right (under the
scroll bar) use a simple spacer to simplify layout calculation.
2024-02-02 11:14:18 +11:00
1c265b9de8 Extensions: remove description, use tagline 2024-02-02 09:58:31 +11:00
f1ccfedbde Extensions: remove outdated comment 2024-02-01 22:47:17 +11:00
469967e7ed Extensions: use tagline for the description
The description may be multiple lines, use the tagline in Blender's UI.
2024-02-01 22:35:18 +11:00
6d24ff6f9e Extensions: rename authors (list) to a single maintainer 2024-02-01 22:33:29 +11:00
c11a007a3b Extensions: expose "Refresh" as a developer option
This could be useful to expose even for non-developers,
details in code-comments.
2024-02-01 17:02:55 +11:00
f818906207 Extensions: hide the UI when the experimental option is disabled 2024-02-01 17:02:52 +11:00
dc37482013 Extensions: show file/path for extensions/addons
It can be useful when there is a problem with an extension
to know where it is on the file-system.
2024-02-01 17:02:51 +11:00
3f2662cee3 Extensions: minor variable name cleanup 2024-02-01 17:02:50 +11:00
6df6121354 Extensions: show authors, license & homepage from the manifest 2024-01-31 17:07:49 +11:00
2edd2f5dcc Extensions: rename fields and manifest type
- Key Maps > Keymaps
- Type: addon > add-on
- upgrade > update

Ref: !23
2024-01-31 10:21:16 +11:00
671c0f327d Extensions: replace the add-ons UI, expose legacy add-ons
The add-ons preferences is now shown as extensions, this UI
now replaces add-ons.

- Show add-ons along side extensions, following the existing extensions
  UI.
- Add-no "Install" has been added to the menu (noting that it's Legacy).
2024-01-30 18:03:06 +11:00
c868621287 Extensions: use add-on preferences drawing static method
Use logic from Blender's built-in add-ons drawing to avoid
unnecessary duplication.
2024-01-30 16:57:36 +11:00