#535 do the forced update check via a (non-blocking) QThread

This commit is contained in:
Miguel Jacq 2018-01-23 16:32:14 +11:00
parent 95c8c0fb81
commit 70a624c331
No known key found for this signature in database
GPG key ID: 5418373DFF79BA19
2 changed files with 25 additions and 21 deletions

View file

@ -557,31 +557,34 @@ class SettingsDialog(QtWidgets.QDialog):
self._disable_buttons()
self.qtapp.processEvents()
def update_timestamp():
# Update the last checked label
settings = Settings(self.config)
settings.load()
autoupdate_timestamp = settings.get('autoupdate_timestamp')
self._update_autoupdate_timestamp(autoupdate_timestamp)
# Check for updates
def update_available(update_url, installed_version, latest_version):
Alert(strings._("update_available", True).format(update_url, installed_version, latest_version))
forced_update_thread.quit()
# Enable buttons
self._enable_buttons()
# Update timestamp
update_timestamp()
def update_not_available():
Alert(strings._('update_not_available', True))
forced_update_thread.quit()
# Enable buttons
self._enable_buttons()
# Update timestamp
update_timestamp()
u = UpdateChecker(self.onion)
u.update_available.connect(update_available)
u.update_not_available.connect(update_not_available)
try:
u.check(force=True)
except UpdateCheckerCheckError:
Alert(strings._('update_error_check_error', True), QtWidgets.QMessageBox.Warning)
except UpdateCheckerInvalidLatestVersion as e:
Alert(strings._('update_error_invalid_latest_version', True).format(e.latest_version), QtWidgets.QMessageBox.Warning)
# Enable buttons
self._enable_buttons()
# Update the last checked label
settings = Settings(self.config)
settings.load()
autoupdate_timestamp = settings.get('autoupdate_timestamp')
self._update_autoupdate_timestamp(autoupdate_timestamp)
forced_update_thread = UpdateThread(self.onion, self.config, force=True)
forced_update_thread.update_available.connect(update_available)
forced_update_thread.update_not_available.connect(update_not_available)
forced_update_thread.start()
def save_clicked(self):
"""