Commit Graph

430 Commits

Author SHA1 Message Date
Chris Hennes
6ef54d046b Addon Manager: Add -ff-only option to pull 2022-02-17 18:26:47 -06:00
Chris Hennes
212e19eaad Addon Manager: Fix missing update button connection 2022-02-17 18:26:24 -06:00
Chris Hennes
2760b13701 Addon Manager: Fix custom repos ending in .git 2022-02-17 18:03:14 -06:00
Chris Hennes
14db94ee2d 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
a0ce80ce2d Addon Manager: Better failure diagnostics 2022-02-15 22:55:59 -06:00
Chris Hennes
97d1c114d0 Addon Manager: Fix race condition 2022-02-15 13:04:49 -06:00
Chris Hennes
db80d65865 Addon Manager: Fix bug in macro git state 2022-02-14 21:56:13 -06:00
Yorik van Havre
e1028eb65e Merged crowdin translations 2022-02-14 12:31:57 +01:00
Yorik van Havre
93fc8c5357 Updated ts files 2022-02-14 12:31:47 +01:00
Chris Hennes
5ca1477d93 Addon Manager: Make branch switching scarier 2022-02-13 20:19:32 -06:00
Chris Hennes
f19f4e65b2 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
ec91c97739 Addon Manager: Check for requires newer FreeCAD 2022-02-10 15:25:40 -06:00
Chris Hennes
d34d4e9d44 Addon Manager: Add timeout to page load 2022-02-05 13:11:10 -06:00
Chris Hennes
da4d04f59c Addon Manager: Fallback when QtWebEngine is missing 2022-02-04 10:28:17 -06:00
Chris Hennes
994071c43b 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
e6126eb2dc Addon Manager: Fix tags on compact view 2022-02-02 13:49:41 -06:00
Yorik van Havre
d7c5800da2 Merged crowdin translations 2022-02-01 12:59:42 +01:00
Yorik van Havre
5bdd1699f4 Updated ts files 2022-02-01 12:54:40 +01:00
Chris Hennes
7959ebced5 Addon Manager: Correct display of Maintainers 2022-01-31 19:28:06 -06:00
Chris Hennes
2ac7052236 Addon Manager: Add search and display of tags 2022-01-31 15:24:40 -06:00
Chris Hennes
e702d0aef2 Addon Manager: Run uninstall.py when uninstalling AddOn 2022-01-27 23:34:18 -06:00
Chris Hennes
c62dc32739 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
e71c9a91af AddonManager: Correct bug with older Qt data 2022-01-27 10:48:25 -06:00
Chris Hennes
77be240b68 Addon Manager: Eliminate use of QDeadlineTimer
This class is apparently missing in some installs of Qt 5.11.3, so
remove the use of it.
2022-01-26 23:14:00 -06:00
Chris Hennes
bfcf054284 Addon Manager: Refactor to eliminate extra event loop 2022-01-26 22:02:08 -06:00
Chris Hennes
8809ed4253 Addon Manager: Improve startup speed 2022-01-26 18:41:14 -06:00
Yorik van Havre
233182dcd6 Merged crowdin translations 2022-01-26 14:15:14 +01:00
Yorik van Havre
094036c3c7 Regenerated ts files 2022-01-26 13:59:39 +01:00
Chris Hennes
f9d69a1464 Addon Manager: Confirm delete 2022-01-25 13:32:02 -06:00
Chris Hennes
e9d6a2c4a4 Addon Manager: Create NetworkManager class
To enable single-login authenticated proxy use, and simplified multi-threaded
network accesses, this commit adds a new wrapper around a QNetworkAccessManager
and includes a global instantiation of the class intended to exist for the
lifetime of the program. This instance can be used to enqueue any number of
network requests, which the manager will send out to the networking subsystem
in an appropriate manner.
2022-01-25 13:30:58 -06:00
Chris Hennes
8d96cadb69 Addon manager: install dependencies (#5376)
Addon Manager: Dependency Installation

The Addon Manager can now attempt to use pip directly to install
required packages as specified in either metadata.txt or
requirements.txt files provided by AddOns. The packages are installed
into FreeCAD.getUserAppDataDir()/AdditionalPythonPackages directory.
Only simplified requirements.txt data is supported: any version
information is stripped out, and only packages are supported (that is,
no pip arguments, included files, etc.). Further, packages are checked
against a list of allowed packages prior to being suggested for
installation. Addon authors should submit a PR to the FreeCAD repo
adding their requirements to the allowed list, for packages that are not
already on the list (this is a malware-prevention mechanism).
2022-01-21 10:19:21 -06:00
luz paz
6394fed4e6 Fix various typos
Found via `codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,apoints,ba,beginn,behaviour,bloaded,bottome,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childrens,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,inout,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oce,oder,ontop,orgin,orginx,orginy,ot,pard,parm,parms,pres,programm,que,rady,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./build/doc/SourceDocu`
2022-01-12 14:50:39 -06:00
Chris Hennes
37ac9f4d24 AddonManager:Correct funcion name 2022-01-11 07:38:40 -06:00
Chris Hennes
21193eed11 Addon Manager: Fix for Py3.6 w/ no fromisodate 2022-01-10 21:14:32 -06:00
Chris Hennes
910baff0d0 Addon Manager: Remove progress object from git pull 2022-01-10 10:45:23 -06:00
Yorik van Havre
c24ca51a44 Merged crowdin translations 2022-01-10 11:23:59 +01:00
Yorik van Havre
e7e3a7517b Updated ts files (after @chennes ludate fix) 2022-01-10 11:15:28 +01:00
Chris Hennes
ce03fe0d31 Addon Manager: Add version-based Addon deprecation 2022-01-09 21:02:57 -06:00
luz paz
28ab1bb68f Fix various superfluous whitespace in *.dox files 2022-01-09 21:01:42 -06:00
Chris Hennes
06144dd944 Addon Manager: Display download progress 2022-01-09 00:46:07 -06:00
Chris Hennes
131ca065d9 Addon Manager: Correct typo 2022-01-08 22:39:42 -06:00
Chris Hennes
47ca151c81 Addon Manager: Clean up thread termination 2022-01-08 22:30:05 -06:00
Chris Hennes
a34aa34b0b Addon Manager: Correct bad metadata update 2022-01-08 21:07:32 -06:00
Chris Hennes
13a626d228 Addon Manager: Improve stability when cache update interrupted 2022-01-08 19:47:57 -06:00
Chris Hennes
5342169b03 Addon Manager: Silence error on missing cache 2022-01-08 11:32:33 -06:00
Chris Hennes
aaaf5518bc Addon Manager: Fix error on fast failed connection 2022-01-08 11:29:43 -06:00
Chris Hennes
ad2169e5ae Addon manager dependency resolver (#5339)
Squashed:
* Addon Manager: Refactor metadata.txt download
* Addon Manager: Basic dependency walker
* Addon Manager: Add basic support for dependencies
* Addon Manager: Improve network detection messaging
* Addon Manager: Black reformat
* Addon Manager: Display dependency info in dialog
* Addon Manager: Dependency dialog added
* Addon Manager: Improve display of update all results
* Addon Manager: Improve display of package list
* Addon Manager: Fix codespell
* Addon Manager: Clean up unused signal
2022-01-07 10:16:44 -06:00
Chris Hennes
def357536a Addon Manager: Clean up copied macros on uninstall 2022-01-06 20:34:48 -06:00
Chris Hennes
dfdc6e4f65 Addon Manager: Handle symlinking failure 2022-01-06 19:22:00 -06:00
Chris Hennes
172243138a Addon Manager: Improve display of installation details 2022-01-01 11:41:23 -06:00