Commit Graph

357 Commits

Author SHA1 Message Date
Chris Hennes
20eccc3ea2 Addon Manager: Unit tests for addon init 2022-02-28 11:45:17 -06:00
Chris Hennes
b7b1d74a30 Addon Manager: Fix bug in URL parsing 2022-02-28 11:45:17 -06:00
Chris Hennes
96006c7587 Addon Manager: Add tests for Addon 2022-02-27 23:32:33 -06:00
Chris Hennes
0d6a506447 Addon Manager: Renaming and cleanup 2022-02-27 22:50:54 -06:00
0penBrain
d7334bda13 AddonManager: improve dark mode heuristic 2022-02-27 18:44:58 -06:00
Chris Hennes
b5965a4869 Addon Manager: Add packages requested by Ickby 2022-02-26 21:40:12 -06:00
Chris Hennes
75d2233ed6 Addon Manager: Add wiki macro icon scraping 2022-02-26 21:06:37 -06:00
Chris Hennes
1a7fcd575e Addon Manager: Auto-create toolbar button
When installing a macro, prompt user to install a toolbar button
automatically. Fills in the details of the button using the macro's
metadata, including an icon if the __icon__ metadata variable points to
a file.

Also:
* Support XPM data for macro icon
* Support online icons
* Fix bug in macro uninstall
* Cleaned up macro code
2022-02-26 21:06:37 -06:00
Chris Hennes
14ff42be13 Addon Manager: Add unit test framework
Adds the framework for unit testing, and a few tests of the utilities functions.
2022-02-25 23:17:59 -06:00
Chris Hennes
b1d6768d1c Addon Manager: Minor improvements to utilities 2022-02-25 20:41:03 -06:00
Chris Hennes
ef4fdc7ecf Addon Manager: Improve darkmode check 2022-02-24 12:05:08 -06:00
Chris Hennes
189bec3e5a Addon Manager: Remove restart need for pref packs
The actual need to restart was removed by 7a566ea4d, this commit
updates the Addon Manager user interface to stop telling the user
they need to restart. Now restarting is only required for addons
that contain workbenches. Macros and pref packs to not need a
restart.
2022-02-24 09:49:15 -06:00
Chris Hennes
af8890df69 Addon Manager: Switch cache strategy to PreferNetwork 2022-02-24 09:25:02 -06:00
Chris Hennes
b5c72365a8 Addon Manager: Fix compact view tag label 2022-02-24 09:16:07 -06:00
Chris Hennes
08164b12c7 Addon Manager: Fix corrupted ZIP downloads
The code that followed redirects was resulting in a double-download
of the data. This corrects the problem by manually re-queueing a
new network request for each redirect, instead of trying to tell the
QNetworkAccessManager to follow them automatically.
2022-02-23 20:37:27 -06:00
Chris Hennes
85390bfb6d Addon Manager: Minor fixes and error tweaks
* Correct display of tags in list view
* Add error checking for branch name and url match
* Convert some messages to logs
2022-02-23 18:32:05 -06:00
Chris Hennes
a3d8a0e635 Addon Manager: Show correct buttons when no git
If git and/or GitPython are not installed, the Addon Manager cannot
check to see if there are any available updates. In that case, show
the "Uninstall" and "Update" buttons. If no update is available,
clicking the update button will simply download a new copy of the
addon.
2022-02-23 17:02:23 -06:00
Uwe
0ead5a793b fix more typos to silence the spellchecker CI 2022-02-21 13:20:06 +01:00
Chris Hennes
a21b99fed2 Addon Manager: Add GUI for enabling/disabling addons 2022-02-20 22:09:57 -06:00
luz paz
261626960f AddonManager: move superfluous whitespace out of translation [skip ci] 2022-02-20 16:40:40 -06:00
Chris Hennes
781f0bd626 Addon Manager: Improve macro metadata extraction 2022-02-18 17:10:52 -06:00
Chris Hennes
03fa2f398f Addon Manager: Fix bug in error messaging 2022-02-18 08:47:39 -06:00
Chris Hennes
d357d59c02 Addon Manager: Black reformat 2022-02-18 08:38:57 -06:00
Chris Hennes
f28278dca5 Addon Manager: Add error checking for proxy setup
Also make a minor tweak to the enabled status of the check all for updates button.
2022-02-18 08:37:20 -06:00
Chris Hennes
38327fa71c Addon Manager: Force recache on custom repo change 2022-02-17 19:17:09 -06:00
Chris Hennes
a3e310ab55 Addon Manager: Improve manual update display 2022-02-17 19:00:57 -06:00
Chris Hennes
cbb93da3ff Addon Manager: Correct displayed modification time 2022-02-17 18:31:36 -06:00
Chris Hennes
3a5f824755 Addon Manager: Add -ff-only option to pull 2022-02-17 18:26:47 -06:00
Chris Hennes
ef8be833fd Addon Manager: Fix missing update button connection 2022-02-17 18:26:24 -06:00
Chris Hennes
494396c768 Addon Manager: Fix custom repos ending in .git 2022-02-17 18:03:14 -06:00
Chris Hennes
524992b8db Addon Manager: Correct macro display
If the "download macros" preference is off, the macro will not yet have
a URL to load the data from. Make sure to load the macro before
attempting to display it. Also resolves the issue with macros being
unable to be installed under similar circumstances.
2022-02-17 17:28:52 -06:00
Chris Hennes
ce6d9e7573 Addon Manager: Better failure diagnostics 2022-02-15 22:55:59 -06:00
Chris Hennes
48e2ee100c Addon Manager: Fix race condition 2022-02-15 13:04:49 -06:00
Chris Hennes
0ce24d985f Addon Manager: Fix bug in macro git state 2022-02-14 21:56:13 -06:00
Yorik van Havre
19b89b1085 Merged crowdin translations 2022-02-14 12:31:57 +01:00
Yorik van Havre
67dcb21efd Updated ts files 2022-02-14 12:31:47 +01:00
Chris Hennes
8edc1ebe73 Addon Manager: Make branch switching scarier 2022-02-13 20:19:32 -06:00
Chris Hennes
074c4b0a3b Addon Manager: Add branch switching GUI
For users with git and GitPython installed, a new button is added to the
details view allowing them to change the branch they are on. Some other
minor UI changes are made to accomodate this new behavior.
2022-02-13 20:19:32 -06:00
Chris Hennes
ba42231b9c Addon Manager: Check for requires newer FreeCAD 2022-02-10 15:25:40 -06:00
Chris Hennes
fa5cec69f9 Addon Manager: Add timeout to page load 2022-02-05 13:11:10 -06:00
Chris Hennes
57a5143864 Addon Manager: Fallback when QtWebEngine is missing 2022-02-04 10:28:17 -06:00
Chris Hennes
e553a0e3ab Addon Manager: Switch to QWebEngineView for README
Rather than manually parsing the output from the repo's host, the Addon Manager
now uses an embedded QWebEngineView to display the README data. This makes the
display more repo-location agnostic (rather than trying to parse the specific
code from GitHub, Gitlab, etc.). Special handling of known hosts is still
provided to improve the display of the page, but it is not required. Clicking a
link on the page still loads in a new system browser window, with the exception
of links to the FreeCAD wiki, which are loaded in the same browser. This is
expected to be used primarily to access traslated pages for Macros, so no
advanced web-browsing features are displayed (e.g. back buttons, history
access, etc.).
2022-02-02 23:42:29 -06:00
Chris Hennes
95744bab89 Addon Manager: Fix tags on compact view 2022-02-02 13:49:41 -06:00
Yorik van Havre
b0b1c0afbb Merged crowdin translations 2022-02-01 12:59:42 +01:00
Yorik van Havre
dc9e3e5326 Updated ts files 2022-02-01 12:54:40 +01:00
Chris Hennes
efd0f6f8a2 Addon Manager: Correct display of Maintainers 2022-01-31 19:28:06 -06:00
Chris Hennes
a0e4bb37d0 Addon Manager: Add search and display of tags 2022-01-31 15:24:40 -06:00
Chris Hennes
063905adfd Addon Manager: Run uninstall.py when uninstalling AddOn 2022-01-27 23:34:18 -06:00
Chris Hennes
88f6b2f432 Addon Manager: Translation cleanup
pylupdate does not extract translations when f-strings are used for the
translated text, so all f-strings are migrated to calls to format().
Several other minor translation issues are also addressed.

NOTE: This code has been run through the Black reformatter, which adds
trailing commas in many places that the stock Qt 5.x pylupdate does not
recognize. This code must be processed with the corrected pylupdate to
generate the correct translations.
2022-01-27 23:11:31 -06:00
Chris Hennes
97cc2cf16c AddonManager: Correct bug with older Qt data 2022-01-27 10:48:25 -06:00