mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-06 22:54:16 +02:00
[ui] improvement -> checking if internet connection is available before trying to upgrade the selected packages
This commit is contained in:
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
|
||||
## [0.9.15] 2021
|
||||
### Improvements
|
||||
- UI
|
||||
- checking if internet connection is available before trying to upgrade the selected packages
|
||||
|
||||
### Fixes
|
||||
- AppImage
|
||||
- crashing when trying to upgrade and the internet connection is off
|
||||
|
||||
@@ -22,6 +22,7 @@ from bauh.api.abstract.view import MessageType, MultipleSelectComponent, InputOp
|
||||
from bauh.api.exception import NoInternetException
|
||||
from bauh.commons import user
|
||||
from bauh.commons.html import bold
|
||||
from bauh.commons.internet import InternetChecker
|
||||
from bauh.commons.system import get_human_size_str, ProcessHandler, SimpleProcess
|
||||
from bauh.view.core import timeshift
|
||||
from bauh.view.core.config import CoreConfigManager
|
||||
@@ -202,11 +203,12 @@ class UpgradeSelected(AsyncAction):
|
||||
LOGS_DIR = '{}/upgrade'.format(LOGS_PATH)
|
||||
SUMMARY_FILE = LOGS_DIR + '/{}_summary.txt'
|
||||
|
||||
def __init__(self, manager: SoftwareManager, i18n: I18n, pkgs: List[PackageView] = None):
|
||||
def __init__(self, manager: SoftwareManager, internet_checker: InternetChecker, i18n: I18n, pkgs: List[PackageView] = None):
|
||||
super(UpgradeSelected, self).__init__()
|
||||
self.pkgs = pkgs
|
||||
self.manager = manager
|
||||
self.i18n = i18n
|
||||
self.internet_checker = internet_checker
|
||||
|
||||
def _req_as_option(self, req: UpgradeRequirement, tooltip: bool = True, custom_tooltip: str = None, required_size: bool = True, display_sizes: bool = True) -> InputOption:
|
||||
if req.pkg.installed:
|
||||
@@ -387,6 +389,12 @@ class UpgradeSelected(AsyncAction):
|
||||
traceback.print_exc()
|
||||
|
||||
def run(self):
|
||||
if not self.internet_checker.is_available():
|
||||
self.pkgs = None
|
||||
self.print(self.i18n['internet.required'])
|
||||
self.notify_finished({'success': False, 'updated': 0, 'types': set(), 'id': None})
|
||||
return
|
||||
|
||||
root_user = user.is_root()
|
||||
to_update, upgrade_requires_root, bkp_supported = [], False, False
|
||||
|
||||
|
||||
@@ -316,7 +316,7 @@ class ManageWindow(QWidget):
|
||||
self.layout.addWidget(self.toolbar_substatus)
|
||||
self._change_label_substatus('')
|
||||
|
||||
self.thread_update = self._bind_async_action(UpgradeSelected(self.manager, self.i18n), finished_call=self._finish_upgrade_selected)
|
||||
self.thread_update = self._bind_async_action(UpgradeSelected(self.manager, context.internet_checker, self.i18n), finished_call=self._finish_upgrade_selected)
|
||||
self.thread_refresh = self._bind_async_action(RefreshApps(self.manager), finished_call=self._finish_refresh_packages, only_finished=True)
|
||||
self.thread_uninstall = self._bind_async_action(UninstallPackage(self.manager, self.icon_cache, self.i18n), finished_call=self._finish_uninstall)
|
||||
self.thread_show_info = self._bind_async_action(ShowPackageInfo(self.manager), finished_call=self._finish_show_info)
|
||||
|
||||
Reference in New Issue
Block a user