mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-08 17:54:15 +02:00
fix: snap launch
This commit is contained in:
@@ -231,14 +231,6 @@ class GenericSoftwareManager(SoftwareManager):
|
||||
if man:
|
||||
return man.requires_root(action, app)
|
||||
|
||||
def refresh(self, app: SoftwarePackage, root_password: str, watcher: ProcessWatcher) -> bool:
|
||||
self._wait_to_be_ready()
|
||||
|
||||
man = self._get_manager_for(app)
|
||||
|
||||
if man:
|
||||
return man.refresh(app, root_password, watcher)
|
||||
|
||||
def _prepare(self):
|
||||
if self.managers:
|
||||
for man in self.managers:
|
||||
@@ -317,3 +309,11 @@ class GenericSoftwareManager(SoftwareManager):
|
||||
|
||||
def is_default_enabled(self) -> bool:
|
||||
return True
|
||||
|
||||
def launch(self, pkg: SoftwarePackage):
|
||||
self._wait_to_be_ready()
|
||||
|
||||
man = self._get_manager_for(pkg)
|
||||
|
||||
if man:
|
||||
man.launch(pkg)
|
||||
|
||||
@@ -373,7 +373,7 @@ class AppsTable(QTableWidget):
|
||||
def _set_col_settings(self, idx: int, col: int, pkg: PackageView):
|
||||
item = QToolBar()
|
||||
|
||||
if pkg.model.can_be_run() and pkg.model.get_command():
|
||||
if pkg.model.can_be_run():
|
||||
|
||||
def run():
|
||||
self.window.run_app(pkg)
|
||||
|
||||
@@ -395,18 +395,19 @@ class ListWarnings(QThread):
|
||||
self.signal_warnings.emit(warnings)
|
||||
|
||||
|
||||
class RunApp(AsyncAction):
|
||||
class LaunchApp(AsyncAction):
|
||||
|
||||
def __init__(self, app: PackageView = None):
|
||||
super(RunApp, self).__init__()
|
||||
def __init__(self, manager: SoftwareManager, app: PackageView = None):
|
||||
super(LaunchApp, self).__init__()
|
||||
self.app = app
|
||||
self.manager = manager
|
||||
|
||||
def run(self):
|
||||
|
||||
if self.app:
|
||||
try:
|
||||
time.sleep(0.25)
|
||||
subprocess.Popen(self.app.model.get_command().split(' '))
|
||||
self.manager.launch(self.app.model)
|
||||
self.notify_finished(True)
|
||||
except:
|
||||
self.notify_finished(False)
|
||||
|
||||
@@ -27,7 +27,7 @@ from bauh.view.qt.root import is_root, ask_root_password
|
||||
from bauh.view.qt.styles import StylesComboBox
|
||||
from bauh.view.qt.thread import UpdateSelectedApps, RefreshApps, UninstallApp, DowngradeApp, GetAppInfo, \
|
||||
GetAppHistory, SearchPackages, InstallApp, AnimateProgress, VerifyModels, FindSuggestions, ListWarnings, \
|
||||
AsyncAction, RunApp, ApplyFilters, CustomAction
|
||||
AsyncAction, LaunchApp, ApplyFilters, CustomAction
|
||||
from bauh.view.qt.view_model import PackageView
|
||||
from bauh.view.qt.view_utils import load_icon
|
||||
|
||||
@@ -207,7 +207,7 @@ class ManageWindow(QWidget):
|
||||
self.thread_search = self._bind_async_action(SearchPackages(self.manager), finished_call=self._finish_search, only_finished=True)
|
||||
self.thread_downgrade = self._bind_async_action(DowngradeApp(self.manager, self.i18n), finished_call=self._finish_downgrade)
|
||||
self.thread_suggestions = self._bind_async_action(FindSuggestions(man=self.manager), finished_call=self._finish_search, only_finished=True)
|
||||
self.thread_run_app = self._bind_async_action(RunApp(), finished_call=self._finish_run_app, only_finished=False)
|
||||
self.thread_run_app = self._bind_async_action(LaunchApp(self.manager), finished_call=self._finish_run_app, only_finished=False)
|
||||
self.thread_custom_action = self._bind_async_action(CustomAction(manager=self.manager), finished_call=self._finish_custom_action)
|
||||
|
||||
self.thread_apply_filters = ApplyFilters()
|
||||
|
||||
Reference in New Issue
Block a user