mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-07 00:04:15 +02:00
gem selector sketch
This commit is contained in:
68
bauh/app.py
68
bauh/app.py
@@ -2,15 +2,16 @@ import sys
|
||||
|
||||
from PyQt5.QtGui import QIcon
|
||||
from PyQt5.QtWidgets import QApplication
|
||||
from bauh_api.abstract.controller import ApplicationContext
|
||||
from bauh_api.http import HttpClient
|
||||
|
||||
from bauh import __version__, __app_name__, app_args, ROOT_DIR
|
||||
from bauh.core import extensions
|
||||
from bauh.api.abstract.controller import ApplicationContext
|
||||
from bauh.api.http import HttpClient
|
||||
from bauh.core import gems, config
|
||||
from bauh.core.controller import GenericSoftwareManager
|
||||
from bauh.util import util, logs, resource
|
||||
from bauh.util.cache import DefaultMemoryCacheFactory, CacheCleaner
|
||||
from bauh.util.disk import DefaultDiskCacheLoaderFactory
|
||||
from bauh.view.qt.gem_selector import GemSelectorPanel
|
||||
from bauh.view.qt.systray import TrayIcon
|
||||
from bauh.view.qt.window import ManageWindow
|
||||
|
||||
@@ -33,37 +34,48 @@ context = ApplicationContext(i18n=i18n,
|
||||
disk_loader_factory=DefaultDiskCacheLoaderFactory(disk_cache_enabled=args.disk_cache),
|
||||
logger=logger)
|
||||
|
||||
managers = extensions.load_managers(context=context, locale=args.locale)
|
||||
|
||||
|
||||
manager = GenericSoftwareManager(managers, context=context, app_args=args)
|
||||
manager.prepare()
|
||||
|
||||
app = QApplication(sys.argv)
|
||||
app.setApplicationName(__app_name__)
|
||||
app.setApplicationVersion(__version__)
|
||||
app.setWindowIcon(QIcon(resource.get_path('img/logo.svg')))
|
||||
|
||||
manage_window = ManageWindow(i18n=i18n,
|
||||
manager=manager,
|
||||
icon_cache=icon_cache,
|
||||
disk_cache=args.disk_cache,
|
||||
download_icons=bool(args.download_icons),
|
||||
screen_size=app.primaryScreen().size(),
|
||||
suggestions=args.sugs,
|
||||
display_limit=args.max_displayed)
|
||||
user_config = config.read()
|
||||
|
||||
if args.tray:
|
||||
trayIcon = TrayIcon(locale_keys=i18n,
|
||||
manager=manager,
|
||||
manage_window=manage_window,
|
||||
check_interval=args.check_interval,
|
||||
update_notification=bool(args.update_notification))
|
||||
manage_window.tray_icon = trayIcon
|
||||
trayIcon.show()
|
||||
if not user_config.gems:
|
||||
managers = gems.load_managers(context=context, locale=args.locale)
|
||||
else:
|
||||
manage_window.refresh_apps()
|
||||
manage_window.show()
|
||||
managers = gems.load_managers(context=context, locale=args.locale, names=user_config.gems)
|
||||
|
||||
enabled_managers = [m for m in managers if m.is_enabled()]
|
||||
|
||||
if not user_config.gems and enabled_managers:
|
||||
gem_panel = GemSelectorPanel(enabled_managers, i18n, boot=True)
|
||||
gem_panel.show()
|
||||
else:
|
||||
manager = GenericSoftwareManager(enabled_managers, context=context, app_args=args)
|
||||
manager.prepare()
|
||||
|
||||
manage_window = ManageWindow(i18n=i18n,
|
||||
manager=manager,
|
||||
icon_cache=icon_cache,
|
||||
disk_cache=args.disk_cache,
|
||||
download_icons=bool(args.download_icons),
|
||||
screen_size=app.primaryScreen().size(),
|
||||
suggestions=args.sugs,
|
||||
display_limit=args.max_displayed)
|
||||
|
||||
if args.tray:
|
||||
trayIcon = TrayIcon(locale_keys=i18n,
|
||||
manager=manager,
|
||||
manage_window=manage_window,
|
||||
check_interval=args.check_interval,
|
||||
update_notification=bool(args.update_notification))
|
||||
manage_window.tray_icon = trayIcon
|
||||
trayIcon.show()
|
||||
else:
|
||||
manage_window.refresh_apps()
|
||||
manage_window.show()
|
||||
|
||||
cache_cleaner.start()
|
||||
|
||||
cache_cleaner.start()
|
||||
sys.exit(app.exec_())
|
||||
|
||||
Reference in New Issue
Block a user