1
0

Merge pull request #9770 from f321x/plugin_update

plugins: handle updating plugins from plugin manager
This commit is contained in:
ThomasV
2025-04-30 14:17:01 +02:00
committed by GitHub
2 changed files with 6 additions and 0 deletions

View File

@@ -68,6 +68,10 @@ class PluginDialog(WindowModalDialog):
install_button = QPushButton(_('Install...'))
install_button.clicked.connect(self.accept)
buttons.insert(0, install_button)
elif self.plugins.get_metadata(name).get('zip_hash_sha256') != zip_hash:
update_button = QPushButton(_('Update...'))
update_button.clicked.connect(self.accept)
buttons.insert(0, update_button)
else:
remove_button = QPushButton(_('Uninstall'))
remove_button.clicked.connect(self.do_remove)

View File

@@ -403,6 +403,8 @@ class Plugins(DaemonThread):
self.config.set_key(f'plugins.{name}.enabled', [])
def install_external_plugin(self, name, path, privkey, manifest):
# uninstall old version first to get rid of old zip files when updating plugin
self.uninstall(name)
self.external_plugin_metadata[name] = manifest
self.authorize_plugin(name, path, privkey)