mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-09 06:24:15 +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/).
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||||
|
|
||||||
## [0.9.15] 2021
|
## [0.9.15] 2021
|
||||||
|
### Improvements
|
||||||
|
- UI
|
||||||
|
- checking if internet connection is available before trying to upgrade the selected packages
|
||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
- AppImage
|
- AppImage
|
||||||
- crashing when trying to upgrade and the internet connection is off
|
- 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.api.exception import NoInternetException
|
||||||
from bauh.commons import user
|
from bauh.commons import user
|
||||||
from bauh.commons.html import bold
|
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.commons.system import get_human_size_str, ProcessHandler, SimpleProcess
|
||||||
from bauh.view.core import timeshift
|
from bauh.view.core import timeshift
|
||||||
from bauh.view.core.config import CoreConfigManager
|
from bauh.view.core.config import CoreConfigManager
|
||||||
@@ -202,11 +203,12 @@ class UpgradeSelected(AsyncAction):
|
|||||||
LOGS_DIR = '{}/upgrade'.format(LOGS_PATH)
|
LOGS_DIR = '{}/upgrade'.format(LOGS_PATH)
|
||||||
SUMMARY_FILE = LOGS_DIR + '/{}_summary.txt'
|
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__()
|
super(UpgradeSelected, self).__init__()
|
||||||
self.pkgs = pkgs
|
self.pkgs = pkgs
|
||||||
self.manager = manager
|
self.manager = manager
|
||||||
self.i18n = i18n
|
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:
|
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:
|
if req.pkg.installed:
|
||||||
@@ -387,6 +389,12 @@ class UpgradeSelected(AsyncAction):
|
|||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
|
||||||
def run(self):
|
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()
|
root_user = user.is_root()
|
||||||
to_update, upgrade_requires_root, bkp_supported = [], False, False
|
to_update, upgrade_requires_root, bkp_supported = [], False, False
|
||||||
|
|
||||||
|
|||||||
@@ -316,7 +316,7 @@ class ManageWindow(QWidget):
|
|||||||
self.layout.addWidget(self.toolbar_substatus)
|
self.layout.addWidget(self.toolbar_substatus)
|
||||||
self._change_label_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_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_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)
|
self.thread_show_info = self._bind_async_action(ShowPackageInfo(self.manager), finished_call=self._finish_show_info)
|
||||||
|
|||||||
Reference in New Issue
Block a user