[ui][settings] types tab sketch

This commit is contained in:
Vinícius Moreira
2020-01-27 19:40:19 -03:00
parent c31769705c
commit e3bfa097fe

View File

@@ -12,7 +12,7 @@ from bauh.api.abstract.disk import DiskCacheLoader
from bauh.api.abstract.handler import ProcessWatcher from bauh.api.abstract.handler import ProcessWatcher
from bauh.api.abstract.model import SoftwarePackage, PackageUpdate, PackageHistory, PackageSuggestion, PackageAction from bauh.api.abstract.model import SoftwarePackage, PackageUpdate, PackageHistory, PackageSuggestion, PackageAction
from bauh.api.abstract.view import FormComponent, ViewComponent, TabGroupComponent, TabComponent, SingleSelectComponent, \ from bauh.api.abstract.view import FormComponent, ViewComponent, TabGroupComponent, TabComponent, SingleSelectComponent, \
InputOption, PanelComponent, SelectViewType, TextInputComponent, FileChooserComponent InputOption, PanelComponent, SelectViewType, TextInputComponent, FileChooserComponent, MultipleSelectComponent
from bauh.api.exception import NoInternetException from bauh.api.exception import NoInternetException
from bauh.commons import internet from bauh.commons import internet
from bauh.view.core import config from bauh.view.core import config
@@ -602,15 +602,32 @@ class GenericSoftwareManager(SoftwareManager):
tabs.append(self._gen_tray_settings(core_config)) tabs.append(self._gen_tray_settings(core_config))
tabs.append(self._gen_adv_settings(core_config)) tabs.append(self._gen_adv_settings(core_config))
gem_opts, def_gem_opts, gem_tabs = [], set(), []
for man in self.managers: for man in self.managers:
if self._can_work(man): if self._can_work(man):
man_comp = man.get_settings() man_comp = man.get_settings()
modname = man.__module__.split('.')[-2]
icon_path = "{r}/gems/{n}/resources/img/{n}.svg".format(r=ROOT_DIR, n=modname)
if man_comp: if man_comp:
modname = man.__module__.split('.')[-2] gem_tabs.append(TabComponent(label=None, content=man_comp, icon_path=icon_path, tooltip=modname.capitalize(), id_=modname))
icon_path = "{r}/gems/{n}/resources/img/{n}.svg".format(r=ROOT_DIR, n=modname)
tabs.append(TabComponent(label=None, content=man_comp, icon_path=icon_path, opt = InputOption(label=self.i18n.get('gem.{}.label'.format(modname), modname.capitalize()),
tooltip=modname.capitalize(), id_=modname)) tooltip=self.i18n.get('gem.{}.info'.format(modname)),
value=modname,
icon_path='{r}/gems/{n}/resources/img/{n}.svg'.format(r=ROOT_DIR, n=modname))
gem_opts.append(opt)
if man.is_enabled() and man in self.working_managers:
def_gem_opts.add(opt)
if gem_opts:
form_types = FormComponent(components=[MultipleSelectComponent(label=None, options=gem_opts, default_options=def_gem_opts)])
tabs.append(TabComponent(label='Types', content=PanelComponent([form_types])))
for tab in gem_tabs:
tabs.append(tab)
return TabGroupComponent(tabs) return TabGroupComponent(tabs)