100 Commits

Author SHA1 Message Date
notguiltyspark
0cd5ccd42a Simplified authentication configuration step during adding plugin repository process via inserting authentication selector widget directly into repository-adding dialog 2025-02-13 11:11:12 +10:00
Denis Rouzaud
0f032e5f2d run pre-commit on all files 2024-11-29 15:38:02 +01:00
Borys Jurgiel
00eccb460f Follow up #fa292ca7d49a50a 2024-11-12 08:36:17 +10:00
Borys Jurgiel
e1de76d763 Make plugin watchdog considering timestamp of last run. Fixes #59370 2024-11-12 08:36:17 +10:00
pathmapper
ba1d45e5df Fix running plugins are not restarted after updating from zip
Follow-up https://github.com/qgis/QGIS/pull/56443, fix https://github.com/qgis/QGIS/issues/56277#issuecomment-1982930532
2024-06-18 16:17:24 +10:00
Nyall Dawson
4afabb0225 Fix misleading warning after upgrading unloaded plugin 2024-02-22 16:09:10 +10:00
Nyall Dawson
4ad7924119 Fix running plugins are not restarted after upgrading
Fixes #56277
2024-02-22 16:09:10 +10:00
Nyall Dawson
e42abf7dc5 Update python files 2024-01-22 05:46:15 +10:00
Nyall Dawson
c16a1e2b3d Update enums 2024-01-19 19:44:48 +10:00
Nyall Dawson
f8ad0d5f52 Manually fix an enum 2024-01-19 19:44:48 +10:00
Nyall Dawson
98c19b38ac Cleanup qgis.utils.home_plugin_path 2023-11-25 07:40:02 +10:00
Nyall Dawson
7925d7261e Cleanup files 2023-11-25 07:40:02 +10:00
Nyall Dawson
13bc09e706 Remove redundant "import qgis" lines from python files
These were only needed way back in the early days of qgis 3.0
transition, now they have no effect
2023-11-25 07:40:02 +10:00
Alexander Bruy
fc3e3953a9 unload active plugin before updating or reinstalling it (fix #54968) 2023-10-21 10:58:45 +13:00
Etienne Trimaille
54438f76b6 Minor review of the Python code in the QGIS plugin manager 2023-08-04 08:25:48 +10:00
pathmapper
5fee930371 Fix plugin voting from within plugin manager
Update URL, check reply status code and use blockingPost to be able to handle redirects.
2023-07-25 05:05:29 +10:00
Borys Jurgiel
43d152802c [Plugin installer] Don't show wait cursor when fetching repositories 2023-04-22 17:41:32 +02:00
Denis Rouzaud
8dc67afdf3 allow full access from Python 2023-02-19 07:19:17 +01:00
Denis Rouzaud
4759610ddd [settings] use dedicated category for plugin manager 2023-02-19 07:19:17 +01:00
Denis Rouzaud
91effce867 fix import 2023-02-03 09:05:37 +01:00
Denis Rouzaud
34eb0826c3 change QgsSettings to QgsSettingsTree in code base 2023-02-03 09:05:37 +01:00
Denis Rouzaud
7d628998d5 follow-up rename QgsSettingsTreeElement to QgsSettingsTreeNode 2023-01-30 10:03:39 +10:00
Denis Rouzaud
5be8887187 fix tests 2023-01-16 09:00:52 +01:00
Denis Rouzaud
80e3f35e88 migrate plugin manager settings and replace settings in app 2023-01-16 09:00:52 +01:00
Etienne Trimaille
bf4496437e UX - Switch from level info to level success when appropriate 2022-10-29 09:57:24 +10:00
Nyall Dawson
f2534f01ed Use message bar to show notifications when plugin updates are available
This is a more standard, more visible place to advise users of
these updates
2022-09-09 11:56:26 +10:00
Nyall Dawson
c64ce53425 Don't show any status bar messages for new plugins
We have so many plugins, and the vast majority aren't relevant
to the majority of users... it's just noise to advise when
a new plugin is released.
2022-09-09 11:56:26 +10:00
Mathieu Pellerin
637e99687c [ui] Fix broken img within HTML labels when referring to qrc images 2022-04-19 09:04:48 +10:00
Ismail Sunni
42df6455eb Fix #46538, fix misleading warning when uninstalling experimental plugin. 2022-02-02 08:36:52 +10:00
Germán Carrillo
f9c203cafa [plugins] Add support for experimental dependencies 2021-11-05 07:26:42 +11:00
Germap
a0b7f14d58
Use 'with OverrideCursor(Qt.WaitCursor)' block in installer.py 2021-09-10 19:17:17 -05:00
Germap
d8f02f98c6
Set wait cursor while installing plugin from ZIP 2021-09-10 16:52:29 -05:00
Germán Carrillo
a31af8b77a In installFromZipFile(), if plugin was active, no need to call startPlugin() before reloading it. This commit makes installFromZipFile() act like installPlugin(). 2021-08-24 12:37:42 +10:00
Germán Carrillo
926a1b6100 In uninstallPlugin(), remove plugin's QSetting (inside group 'PythonPlugins'), which says if a plugin is available 2021-08-24 12:37:42 +10:00
Nyall Dawson
154c7f0196 Some minor cleanups to pyplugin_installer.py
- add some type hints
- remove unnecessary comment lines
- replace raw ints with descriptive enum values
2021-06-02 07:12:51 +10:00
Benjamin Jakimow benjamin.jakimow@geo.hu-berlin.de
048af492b1 QgsPluginInstaller can now read zipfiles where 1st internal file is located in plugin subfolder 2021-02-25 14:57:03 +01:00
Etienne Trimaille
6180938400 Plugin installer - rephrase error message when plugin is not found 2020-08-06 15:30:14 +10:00
Nyall Dawson
98603b7866 [plugins] When a user clicks the "Reload all repositories" button
manually in the plugin manager, then force a reload of the repositories
and don't rely on cached copies of the repo manifest

Otherwise it's not possible to force a refresh on certain types of
plugin repositories where it's not possible to modify the Cache-Control
attribute of the repo

Note that to avoid unnecessary server load, we still use cached
copies during startup and by default. It's only when a user explicitly
hits the "Reload all repositories" button that we force a non-cached
fetch.

Fixes #34351
2020-05-29 03:47:39 +10:00
Ivan Ivanov
e090036a11 Adds support to sort the plugins by update date; Show the plugin version update time 2020-03-30 05:02:50 +03:00
olivierdalang
c924cfd1d2 [feature][plugin manager] allow to install stable or experimental 2020-03-04 18:38:42 +01:00
Sergio Ramírez
8b68121ac2 Use QgsHelp Class instead webbrowser lib to point to the documentation in The Install From ZIP tab 2019-09-06 12:16:47 -05:00
Sergio Ramírez
23dd0f0399 Change message wording and add a button for more information pointing to the documentation 2019-09-06 10:28:34 -05:00
Sergio Ramírez
6456b7912c Prevent installation of ZIP plugins if they don't have the root folder Fixes #30063 2019-08-23 11:11:09 -05:00
Alessandro Pasotti
b85d5af0c0 Add test for plugin dependencies
Also made minor changes to the function and
class names, to be more consistent with QGIS
naming conventions.
2019-03-18 09:20:06 +01:00
Alessandro Pasotti
1622d73e25 [feature][needs-docs] Plugin dependencies
Implementation of QEP 132:

Manage python cross-plugins dependencies

A new optional metadata entry will be added to metadata.txt: plugin_dependencies
The metadata will contain a comma separated list of plugin names, with a format similar
of the one used by pip, with optional version.
After a successful plugin installation, if the plugin has any unsatisfied dependency,
a dialog will pop-up with the list of unmet dependencies and the user
will be able to choose if she wants to install or upgrade the
dependencies or ignore them.

Example metadata:

plugin_dependencies = QuickMapServices==0.19.10.1,QuickWKT

Funded by GISCE-TI S.L.
2019-03-15 17:40:42 +01:00
Nyall Dawson
ca06d407a0 Add custom QNetworkRequest::Attributes for initiator network request class name and internal id
And allow these to be retrieved from QgsNetworkRequestParameters.
This allows logging code to identify the area of code where a request
originated from, making debugging much easier!

Tag all requests created with appropriate class name and IDs
2019-01-25 23:47:05 +11:00
Borys Jurgiel
b7673c7616 [Plugin Manager] Fix plugin status checkbox not refreshed after installing from zip 2018-10-16 23:06:13 +02:00
Borys Jurgiel
9bd532faf6 Use QgsPasswordLineEdit for zip file pasword prompt. 2018-09-14 00:09:57 +02:00
Borys Jurgiel
0f7a09947c [FEATURE][Plugin installer] Support for encrypted zips when installing plugins from local files 2018-09-13 17:39:33 +02:00
Denis Rouzaud
3dc3d9d1b2 unite QgsMessageLog::Level and QgsMessageBar::MessageLevel in Qgis::MessageLevel
make enum items lower case
remove unused QgsMessageLog::None and All
2018-02-06 08:56:40 -04:00