gem selector sketch

This commit is contained in:
Vinicius Moreira
2019-09-11 16:00:02 -03:00
parent 696b6169ac
commit ba5e1da11b
79 changed files with 4117 additions and 112 deletions

View File

@@ -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_())