From ab8b7d5f0b94a3ff72b62d25c936e484b454060e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Moreira?= Date: Mon, 27 Jan 2020 19:05:46 -0300 Subject: [PATCH] [ui][settings] more improvements and settings --- bauh/api/abstract/view.py | 5 +- bauh/view/core/controller.py | 190 ++++++++++++++++++++++++---------- bauh/view/qt/components.py | 15 ++- bauh/view/qt/settings.py | 13 ++- bauh/view/qt/window.py | 2 +- bauh/view/resources/locale/ca | 25 +++-- bauh/view/resources/locale/de | 25 +++-- bauh/view/resources/locale/en | 30 ++++-- bauh/view/resources/locale/es | 30 ++++-- bauh/view/resources/locale/it | 25 +++-- bauh/view/resources/locale/pt | 30 ++++-- 11 files changed, 289 insertions(+), 101 deletions(-) diff --git a/bauh/api/abstract/view.py b/bauh/api/abstract/view.py index 0e0f49d6..d2b1d8e8 100644 --- a/bauh/api/abstract/view.py +++ b/bauh/api/abstract/view.py @@ -157,11 +157,12 @@ class FormComponent(ViewComponent): class FileChooserComponent(ViewComponent): - def __init__(self, allowed_extensions: Set[str] = None, label: str = None, id_: str = None): + def __init__(self, allowed_extensions: Set[str] = None, label: str = None, tooltip: str = None, file_path: str = None, id_: str = None): super(FileChooserComponent, self).__init__(id_=id_) self.label = label self.allowed_extensions = allowed_extensions - self.file_path = None + self.file_path = file_path + self.tooltip = tooltip class TabComponent(ViewComponent): diff --git a/bauh/view/core/controller.py b/bauh/view/core/controller.py index d78cdafc..6e6acfb3 100755 --- a/bauh/view/core/controller.py +++ b/bauh/view/core/controller.py @@ -4,16 +4,17 @@ import traceback from threading import Thread from typing import List, Set, Type, Tuple +from PyQt5.QtWidgets import QStyleFactory, QApplication + from bauh import ROOT_DIR from bauh.api.abstract.controller import SoftwareManager, SearchResult, ApplicationContext from bauh.api.abstract.disk import DiskCacheLoader from bauh.api.abstract.handler import ProcessWatcher from bauh.api.abstract.model import SoftwarePackage, PackageUpdate, PackageHistory, PackageSuggestion, PackageAction from bauh.api.abstract.view import FormComponent, ViewComponent, TabGroupComponent, TabComponent, SingleSelectComponent, \ - InputOption, PanelComponent, SelectViewType, TextInputComponent, TwoStateButtonComponent + InputOption, PanelComponent, SelectViewType, TextInputComponent, FileChooserComponent from bauh.api.exception import NoInternetException from bauh.commons import internet -from bauh.commons.config import save_config from bauh.view.core import config from bauh.view.core.config import read_config from bauh.view.util import translation @@ -418,8 +419,7 @@ class GenericSoftwareManager(SoftwareManager): max_per_line=len(opts), id_=id_) - def _gen_settings_panel(self) -> TabComponent: - core_config = read_config() + def _gen_general_settings(self, core_config: dict) -> TabComponent: locale_opts = [InputOption(label=self.i18n['locale.{}'.format(k)].capitalize(), value=k) for k in translation.get_available_keys()] select_locale = SingleSelectComponent(label=self.i18n['core.config.locale.label'], options=locale_opts, @@ -427,40 +427,32 @@ class GenericSoftwareManager(SoftwareManager): type_=SelectViewType.COMBO, id_='locale') - select_dcache = self._gen_bool_component(label=self.i18n['core.config.disk_cache'], - tooltip=self.i18n['core.config.disk_cache.tip'].format(app=self.context.app_name), - value=core_config['disk_cache']['enabled'], - id_='dcache') - - input_update_interval = TextInputComponent(label=self.i18n['core.config.updates.interval'].capitalize(), - tooltip=self.i18n['core.config.updates.interval.tip'], - only_int=True, - value=str(core_config['updates']['check_interval']), - id_="updates_interval") - - form_general = FormComponent(label=self.i18n['core.config.tab_label'].capitalize(), - components=[select_locale, input_update_interval, select_dcache], - id_="form_general") - - select_dicons = self._gen_bool_component(label=self.i18n['core.config.download.icons'], - tooltip=self.i18n['core.config.download.icons.tip'], - id_="down_icons", - value=core_config['download']['icons']) - - select_dmthread = self._gen_bool_component(label=self.i18n['core.config.download.multithreaded'], - tooltip=self.i18n['core.config.download.multithreaded.tip'], - id_="down_mthread", - value=core_config['download']['multithreaded']) - - form_download = FormComponent(label=self.i18n['download'].capitalize(), components=[select_dicons, select_dmthread], id_='form_download') + select_sysnotify = self._gen_bool_component(label=self.i18n['core.config.system.notifications'].capitalize(), + tooltip=self.i18n['core.config.system.notifications.tip'].capitalize(), + value=bool(core_config['system']['notifications']), + id_="sys_notify") select_sugs = self._gen_bool_component(label=self.i18n['core.config.suggestions.activated'].capitalize(), - tooltip=self.i18n['core.config.suggestions.activated.tip'].format(app=self.context.app_name), + tooltip=self.i18n['core.config.suggestions.activated.tip'].capitalize(), id_="sugs_enabled", value=bool(core_config['suggestions']['enabled'])) - form_sugs = FormComponent(label=self.i18n['core.config.suggestions'].capitalize(), - components=[select_sugs], id_='form_sugs') + inp_sugs = TextInputComponent(label=self.i18n['core.config.suggestions.by_type'], + tooltip=self.i18n['core.config.suggestions.by_type.tip'], + value=str(core_config['suggestions']['by_type']), + only_int=True, + id_="sugs_by_type") + + sub_comps = [FormComponent([select_locale, select_sysnotify, select_sugs, inp_sugs])] + return TabComponent(self.i18n['core.config.tab.general'].capitalize(), PanelComponent(sub_comps), None, 'core.gen') + + def _gen_adv_settings(self, core_config: dict) -> TabComponent: + + select_dcache = self._gen_bool_component(label=self.i18n['core.config.disk_cache'], + tooltip=self.i18n['core.config.disk_cache.tip'].format( + app=self.context.app_name), + value=core_config['disk_cache']['enabled'], + id_='dcache') input_data_exp = TextInputComponent(label=self.i18n['core.config.mem_cache.data_exp'], tooltip=self.i18n['core.config.mem_cache.data_exp.tip'], @@ -474,39 +466,126 @@ class GenericSoftwareManager(SoftwareManager): only_int=True, id_="icon_exp") - form_cache = FormComponent(label=self.i18n['core.config.mem_cache'].capitalize(), - components=[input_data_exp, input_icon_exp], - id_='form_memcache') + select_dep_check = self._gen_bool_component(label=self.i18n['core.config.system.dep_checking'], + tooltip=self.i18n['core.config.system.dep_checking.tip'], + value=core_config['system']['single_dependency_checking'], + id_='dep_check') - sub_comps = [form_general, form_download, form_sugs, form_cache] - return TabComponent(self.i18n['core.config.tab_label'].capitalize(), PanelComponent([FormComponent(sub_comps)]), None, 'core') + select_dmthread = self._gen_bool_component(label=self.i18n['core.config.download.multithreaded'], + tooltip=self.i18n['core.config.download.multithreaded.tip'], + id_="down_mthread", + value=core_config['download']['multithreaded']) - def _save_settings(self, panel: PanelComponent) -> Tuple[bool, List[str]]: + sub_comps = [FormComponent([select_dcache, select_dmthread, select_dep_check, input_data_exp, input_icon_exp])] + return TabComponent(self.i18n['core.config.tab.advanced'].capitalize(), PanelComponent(sub_comps), None, 'core.adv') + + def _gen_tray_settings(self, core_config: dict) -> TabComponent: + input_update_interval = TextInputComponent(label=self.i18n['core.config.updates.interval'].capitalize(), + tooltip=self.i18n['core.config.updates.interval.tip'], + only_int=True, + value=str(core_config['updates']['check_interval']), + id_="updates_interval") + + allowed_exts = {'png', 'svg', 'jpg', 'jpeg', 'ico', 'xpm'} + select_def_icon = FileChooserComponent(id_='def_icon', + label=self.i18n["core.config.ui.tray.default_icon"].capitalize(), + tooltip=self.i18n["core.config.ui.tray.default_icon.tip"].capitalize(), + file_path=str(core_config['ui']['tray']['default_icon']) if core_config['ui']['tray']['default_icon'] else None, + allowed_extensions=allowed_exts) + + select_up_icon = FileChooserComponent(id_='up_icon', + label=self.i18n["core.config.ui.tray.updates_icon"].capitalize(), + tooltip=self.i18n["core.config.ui.tray.updates_icon.tip"].capitalize(), + file_path=str(core_config['ui']['tray']['updates_icon']) if core_config['ui']['tray']['updates_icon'] else None, + allowed_extensions=allowed_exts) + + sub_comps = [FormComponent([input_update_interval, select_def_icon, select_up_icon])] + return TabComponent(self.i18n['core.config.tab.tray'].capitalize(), PanelComponent(sub_comps), None, 'core.tray') + + def _gen_ui_settings(self, core_config: dict) -> TabComponent: + select_hdpi = self._gen_bool_component(label=self.i18n['core.config.ui.hdpi'], + tooltip=self.i18n['core.config.ui.hdpi.tip'].format( + app=self.context.app_name), + value=bool(core_config['ui']['hdpi']), + id_='hdpi') + + cur_style = QApplication.instance().style().objectName().lower() if not core_config['ui']['style'] else core_config['ui']['style'] + style_opts = [InputOption(label=s.capitalize(), value=s.lower()) for s in QStyleFactory.keys()] + select_style = SingleSelectComponent(label=self.i18n['style'].capitalize(), + options=style_opts, + default_option=[o for o in style_opts if o.value == cur_style][0], + type_=SelectViewType.COMBO, + id_="style") + + input_maxd = TextInputComponent(label=self.i18n['core.config.ui.max_displayed'].capitalize(), + tooltip=self.i18n['core.config.ui.max_displayed.tip'].capitalize(), + only_int=True, + id_="table_max", + value=str(core_config['ui']['table']['max_displayed'])) + + select_dicons = self._gen_bool_component(label=self.i18n['core.config.download.icons'], + tooltip=self.i18n['core.config.download.icons.tip'], + id_="down_icons", + value=core_config['download']['icons']) + + sub_comps = [FormComponent([select_hdpi, select_dicons, select_style, input_maxd])] + return TabComponent(self.i18n['core.config.tab.ui'].capitalize(), PanelComponent(sub_comps), None, 'core.ui') + + def _save_settings(self, general: PanelComponent, advanced: PanelComponent, ui: PanelComponent, tray: PanelComponent) -> Tuple[bool, List[str]]: core_config = config.read_config() - main_form = panel.components[0] - locale = main_form.get_component('form_general').get_component('locale').get_selected() + # general + general_form = general.components[0] + + locale = general_form.get_component('locale').get_selected() if locale != self.i18n.current_key: core_config['locale'] = locale - core_config['disk_cache']['enabled'] = main_form.get_component('form_general').get_component('dcache').get_selected() - core_config['updates']['check_interval'] = main_form.get_component('form_general').get_component('updates_interval').get_int_value() + core_config['system']['notifications'] = general_form.get_component('sys_notify').get_selected() + core_config['suggestions']['enabled'] = general_form.get_component('sugs_enabled').get_selected() - download_icons = main_form.get_component('form_download').get_component('down_icons').get_selected() - core_config['download']['icons'] = download_icons + sugs_by_type = general_form.get_component('sugs_by_type').get_int_value() + core_config['suggestions']['by_type'] = sugs_by_type - download_mthreaded = main_form.get_component('form_download').get_component('down_mthread').get_selected() + # advanced + adv_form = advanced.components[0] + core_config['disk_cache']['enabled'] = adv_form.get_component('dcache').get_selected() + + download_mthreaded = adv_form.get_component('down_mthread').get_selected() core_config['download']['multithreaded'] = download_mthreaded - data_exp = main_form.get_component('form_memcache').get_component('data_exp').get_int_value() + single_dep_check = adv_form.get_component('dep_check').get_selected() + core_config['system']['single_dependency_checking'] = single_dep_check + + data_exp = adv_form.get_component('data_exp').get_int_value() core_config['memory_cache']['data_expiration'] = data_exp - icon_exp = main_form.get_component('form_memcache').get_component('icon_exp').get_int_value() + icon_exp = adv_form.get_component('icon_exp').get_int_value() core_config['memory_cache']['icon_expiration'] = icon_exp - sugs_enabled = main_form.get_component('form_sugs').get_component('sugs_enabled').get_value() - core_config['suggestions']['enabled'] = sugs_enabled + # tray + tray_form = tray.components[0] + core_config['updates']['check_interval'] = tray_form.get_component('updates_interval').get_int_value() + + def_icon_path = tray_form.get_component('def_icon').file_path + core_config['ui']['tray']['default_icon'] = def_icon_path if def_icon_path else None + + up_icon_path = tray_form.get_component('up_icon').file_path + core_config['ui']['tray']['updates_icon'] = up_icon_path if up_icon_path else None + + # ui + ui_form = ui.components[0] + + core_config['download']['icons'] = ui_form.get_component('down_icons').get_selected() + core_config['ui']['hdpi'] = ui_form.get_component('hdpi').get_selected() + core_config['ui']['table']['max_displayed'] = ui_form.get_component('table_max').get_int_value() + + style = ui_form.get_component('style').get_selected() + + cur_style = core_config['ui']['style'] if core_config['ui']['style'] else QApplication.instance().style().objectName().lower() + if style != cur_style: + core_config['ui']['style'] = style try: config.save(core_config) @@ -517,7 +596,11 @@ class GenericSoftwareManager(SoftwareManager): def get_settings(self) -> ViewComponent: tabs = list() - tabs.append(self._gen_settings_panel()) + core_config = read_config() + tabs.append(self._gen_general_settings(core_config)) + tabs.append(self._gen_ui_settings(core_config)) + tabs.append(self._gen_tray_settings(core_config)) + tabs.append(self._gen_adv_settings(core_config)) for man in self.managers: if self._can_work(man): @@ -534,7 +617,10 @@ class GenericSoftwareManager(SoftwareManager): saved, warnings = True, [] - success, errors = self._save_settings(component.get_tab('core').content) + success, errors = self._save_settings(general=component.get_tab('core.gen').content, + advanced=component.get_tab('core.adv').content, + tray=component.get_tab('core.tray').content, + ui=component.get_tab('core.ui').content) if not success: saved = False diff --git a/bauh/view/qt/components.py b/bauh/view/qt/components.py index 968107b6..3efde7b5 100644 --- a/bauh/view/qt/components.py +++ b/bauh/view/qt/components.py @@ -1,3 +1,4 @@ +import os from pathlib import Path from typing import Tuple @@ -434,6 +435,9 @@ class FormQt(QGroupBox): chooser = QLineEdit() chooser.setReadOnly(True) + if c.file_path: + chooser.setText(c.file_path) + chooser.setPlaceholderText(self.i18n['view.components.file_chooser.placeholder']) def open_chooser(e): @@ -444,7 +448,12 @@ class FormQt(QGroupBox): else: exts = '{}} (*);;'.format(self.i18n['all_files'].capitalize()) - file_path, _ = QFileDialog.getOpenFileName(self, self.i18n['file_chooser.title'], str(Path.home()), exts, options=options) + if c.file_path and os.path.isfile(c.file_path): + cur_path = c.file_path + else: + cur_path = str(Path.home()) + + file_path, _ = QFileDialog.getOpenFileName(self, self.i18n['file_chooser.title'], cur_path, exts, options=options) if file_path: c.file_path = file_path @@ -457,7 +466,8 @@ class FormQt(QGroupBox): chooser.mousePressEvent = open_chooser - return QLabel(c.label if c.label else ''), chooser + label = self._new_label(c) + return label, chooser class TabGroupQt(QTabWidget): @@ -465,6 +475,7 @@ class TabGroupQt(QTabWidget): def __init__(self, model: TabGroupComponent, i18n: I18n, parent: QWidget = None): super(TabGroupQt, self).__init__(parent=parent) self.model = model + self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred) self.setTabPosition(QTabWidget.North) for c in model.tabs: diff --git a/bauh/view/qt/settings.py b/bauh/view/qt/settings.py index f9358a3e..26133413 100644 --- a/bauh/view/qt/settings.py +++ b/bauh/view/qt/settings.py @@ -1,6 +1,7 @@ from io import StringIO -from PyQt5.QtWidgets import QWidget, QVBoxLayout, QToolBar, QSizePolicy, QToolButton, QPushButton +from PyQt5.QtCore import QSize +from PyQt5.QtWidgets import QWidget, QVBoxLayout, QToolBar, QSizePolicy, QPushButton from bauh.api.abstract.controller import SoftwareManager from bauh.api.abstract.view import MessageType @@ -11,20 +12,22 @@ from bauh.view.util.translation import I18n class SettingsWindow(QWidget): - def __init__(self, manager: SoftwareManager, i18n: I18n, parent: QWidget = None): + def __init__(self, manager: SoftwareManager, i18n: I18n, screen_size: QSize, parent: QWidget = None): super(SettingsWindow, self).__init__(parent=parent) self.setWindowTitle(i18n['settings'].capitalize()) self.setLayout(QVBoxLayout()) self.manager = manager self.i18n = i18n - self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) + self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred) self.settings_model = self.manager.get_settings() - self.layout().addWidget(to_widget(self.settings_model, i18n)) + tab_group = to_widget(self.settings_model, i18n) + tab_group.setMinimumWidth(int(screen_size.width() / 3)) + self.layout().addWidget(tab_group) action_bar = QToolBar() - action_bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) + action_bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) bt_close = QPushButton() bt_close.setText(self.i18n['close'].capitalize()) diff --git a/bauh/view/qt/window.py b/bauh/view/qt/window.py index a04749d3..46bfb6a3 100755 --- a/bauh/view/qt/window.py +++ b/bauh/view/qt/window.py @@ -1166,7 +1166,7 @@ class ManageWindow(QWidget): gem_panel.show() def show_settings_window(self): - self.settings_window = SettingsWindow(self.manager, self.i18n) + self.settings_window = SettingsWindow(self.manager, self.i18n, self.screen_size) self.settings_window.setMinimumWidth(int(self.screen_size.width() / 4)) self.settings_window.resize(self.size()) self.settings_window.adjustSize() diff --git a/bauh/view/resources/locale/ca b/bauh/view/resources/locale/ca index bb6bf3fc..91f3e663 100644 --- a/bauh/view/resources/locale/ca +++ b/bauh/view/resources/locale/ca @@ -221,23 +221,36 @@ message.file.not_exist.body=El fitxer {} sembla no existir icon_button.tooltip.disabled=Aquesta acció no està disponible user=usuari example.short=e.g +core.config.tab.advanced=Advanced core.config.tab_label=general +core.config.tab.ui=Interface core.config.locale.label=language core.config.disk_cache=Disk cache core.config.disk_cache.tip={app} will save some data about your installed applications into the disk to load them faster in the next initializations core.config.updates.interval=Updates interval core.config.updates.interval.tip=Defines the time interval in which the update-checking for the installed applications will happen ( in SECONDS ) core.config.downloads=downloads -core.config.download.icons=Icons +core.config.download.icons=Download icons core.config.download.icons.tip=If the application icons should be downloaded and displayed on the table -core.config.download.multithreaded=Parallelism -core.config.download.multithreaded.tip=Whether applications, packages and files should be downloaded with a tool that works with parallelism / multi-thread (faster). At the moment only the aria2 application is supported +core.config.download.multithreaded=Multithreaded download +core.config.download.multithreaded.tip=Whether applications, packages and files should be downloaded with a tool that works with threads ( faster ). At the moment this setting will only work if the aria2 package is installed core.config.mem_cache=Memory storage core.config.mem_cache.data_exp=Data expiration core.config.mem_cache.data_exp.tip=Defines the in-memory data lifetime ( in SECONDS ) -core.config.suggestions=Suggestions -core.config.suggestions.activated=Activated -core.config.suggestions.activated.tip=If {app} can suggest applications to install +core.config.suggestions.activated=Suggestions +core.config.suggestions.activated.tip=If new applications can be suggested for installation +core.config.system.notifications=Notifications +core.config.system.notifications.tip=If notifications should be displayed when an action is finished or there are updates +core.config.ui.hdpi=HDPI +core.config.ui.hdpi.tip=If the improvements related to HDPI resolutions should be activated +core.config.ui.max_displayed=Applications displayed +core.config.ui.max_displayed.tip=Maximum number of applications displayed on the table +core.config.ui.tray.default_icon=Default icon +core.config.ui.tray.updates_icon=Update icon +core.config.system.dep_checking=Single system checking +core.config.system.dep_checking.tip=If the availability checking of your system technologies should happen only once +core.config.suggestions.by_type=Suggestions by type +core.config.suggestions.by_type.tip=Maximum number of suggestions that should be displayed by application type locale.en=anglès locale.es=castellà locale.pt=portuguès diff --git a/bauh/view/resources/locale/de b/bauh/view/resources/locale/de index b4a8384a..2e9d6959 100644 --- a/bauh/view/resources/locale/de +++ b/bauh/view/resources/locale/de @@ -176,23 +176,36 @@ development=Entwicklung icon_button.tooltip.disabled=Diese Aktion ist nicht verfügbar user=Benutzer example.short=e.g +core.config.tab.advanced=Advanced core.config.tab_label=general +core.config.tab.ui=Interface core.config.locale.label=language core.config.disk_cache=Disk cache core.config.disk_cache.tip={app} will save some data about your installed applications into the disk to load them faster in the next initializations core.config.updates.interval=Updates interval core.config.updates.interval.tip=Defines the time interval in which the update-checking for the installed applications will happen ( in SECONDS ) core.config.downloads=downloads -core.config.download.icons=Icons +core.config.download.icons=Download icons core.config.download.icons.tip=If the application icons should be downloaded and displayed on the table -core.config.download.multithreaded=Parallelism -core.config.download.multithreaded.tip=Whether applications, packages and files should be downloaded with a tool that works with parallelism / multi-thread (faster). At the moment only the aria2 application is supported +core.config.download.multithreaded=Multithreaded download +core.config.download.multithreaded.tip=Whether applications, packages and files should be downloaded with a tool that works with threads ( faster ). At the moment this setting will only work if the aria2 package is installed core.config.mem_cache=Memory storage core.config.mem_cache.data_exp=Data expiration core.config.mem_cache.data_exp.tip=Defines the in-memory data lifetime ( in SECONDS ) -core.config.suggestions=Suggestions -core.config.suggestions.activated=Activated -core.config.suggestions.activated.tip=If {app} can suggest applications to install +core.config.suggestions.activated=Suggestions +core.config.suggestions.activated.tip=If new applications can be suggested for installation +core.config.system.notifications=Notifications +core.config.system.notifications.tip=If notifications should be displayed when an action is finished or there are updates +core.config.ui.hdpi=HDPI +core.config.ui.hdpi.tip=If the improvements related to HDPI resolutions should be activated +core.config.ui.max_displayed=Applications displayed +core.config.ui.max_displayed.tip=Maximum number of applications displayed on the table +core.config.ui.tray.default_icon=Default icon +core.config.ui.tray.updates_icon=Update icon +core.config.system.dep_checking=Single system checking +core.config.system.dep_checking.tip=If the availability checking of your system technologies should happen only once +core.config.suggestions.by_type=Suggestions by type +core.config.suggestions.by_type.tip=Maximum number of suggestions that should be displayed by application type locale.en=englisch locale.es=spanisch locale.pt=portugiesisch diff --git a/bauh/view/resources/locale/en b/bauh/view/resources/locale/en index 325a6e7b..55409951 100644 --- a/bauh/view/resources/locale/en +++ b/bauh/view/resources/locale/en @@ -180,24 +180,40 @@ development=development icon_button.tooltip.disabled=This action is unavailable user=user example.short=e.g -core.config.tab_label=general +core.config.tab.advanced=Advanced +core.config.tab.general=General +core.config.tab.ui=Interface +core.config.tab.tray=Tray core.config.locale.label=language core.config.disk_cache=Disk cache core.config.disk_cache.tip={app} will save some data about your installed applications into the disk to load them faster in the next initializations core.config.updates.interval=Updates interval core.config.updates.interval.tip=Defines the time interval in which the update-checking for the installed applications will happen ( in SECONDS ) -core.config.download.icons=Icons +core.config.download.icons=Download icons core.config.download.icons.tip=If the application icons should be downloaded and displayed on the table -core.config.download.multithreaded=Parallelism -core.config.download.multithreaded.tip=Whether applications, packages and files should be downloaded with a tool that works with parallelism / multi-thread ( faster ). At the moment only the aria2 application is supported +core.config.download.multithreaded=Multithreaded download +core.config.download.multithreaded.tip=Whether applications, packages and files should be downloaded with a tool that works with threads ( faster ). At the moment this setting will only work if the aria2 package is installed core.config.mem_cache=Memory storage core.config.mem_cache.data_exp=Data expiration core.config.mem_cache.data_exp.tip=Defines the in-memory data lifetime ( in SECONDS ) core.config.mem_cache.icon_exp=Icons expiration core.config.mem_cache.icon_exp.tip=Defines the in-memory icons lifetime ( in SECONDS ) -core.config.suggestions=Suggestions -core.config.suggestions.activated=Activated -core.config.suggestions.activated.tip=If {app} can suggest applications to install +core.config.suggestions.activated=Suggestions +core.config.suggestions.activated.tip=If new applications can be suggested for installation +core.config.system.notifications=Notifications +core.config.system.notifications.tip=If notifications should be displayed when an action is finished or there are updates +core.config.ui.hdpi=HDPI +core.config.ui.hdpi.tip=If the improvements related to HDPI resolutions should be activated +core.config.ui.max_displayed=Applications displayed +core.config.ui.max_displayed.tip=Maximum number of applications displayed on the table +core.config.ui.tray.default_icon=Default icon +core.config.ui.tray.default_icon.tip=The default icon for {app} displayed on the tray +core.config.ui.tray.updates_icon=Update icon +core.config.ui.tray.updates_icon.tip=The displayed icon when there are updates available +core.config.system.dep_checking=Single system checking +core.config.system.dep_checking.tip=If the availability checking of your system technologies should happen only once +core.config.suggestions.by_type=Suggestions by type +core.config.suggestions.by_type.tip=Maximum number of suggestions that should be displayed by application type locale.en=english locale.es=spanish locale.pt=portuguese diff --git a/bauh/view/resources/locale/es b/bauh/view/resources/locale/es index 2f2e0158..a51f36d5 100644 --- a/bauh/view/resources/locale/es +++ b/bauh/view/resources/locale/es @@ -220,25 +220,41 @@ message.file.not_exist.body=El archivo {} parece no existir icon_button.tooltip.disabled=This action is unavailable user=usuario example.short=p.ej -core.config.tab_label=general +core.config.tab.advanced=Avanzadas +core.config.tab.general=Generales +core.config.tab.ui=Interfaz +core.config.tab.tray=Bandeja core.config.locale.label=idioma core.config.disk_cache=Cache em disco core.config.disk_cache.tip={app} guardará algunos datos sobre sus aplicaciones instaladas en el disco para cargarlas más rápido en las próximas inicializaciones core.config.updates.interval=Intervalo de actualizaciones core.config.updates.interval.tip=Define el intervalo de tiempo en el que se realizará la verificación de actualizaciones para las aplicaciones instaladas ( en SEGUNDOS ) core.config.downloads=downloads -core.config.download.icons=Iconos +core.config.download.icons=Descargar iconos core.config.download.icons.tip=Si los íconos de las aplicaciones se deben descargar y mostrar en la tabla -core.config.download.multithreaded=Paralelismo -core.config.download.multithreaded.tip=Si las aplicaciones, paquetes y archivos deben descargarse con una herramienta que funcione con paralelismo / multi-thread ( más rápido ). Por el momento solo se admite la aplicación aria2 +core.config.download.multithreaded=Descarga segmentada +core.config.download.multithreaded.tip=Si las aplicaciones, paquetes y archivos deben descargarse con una herramienta que usa segmentación / threads ( más rápido ). Por el momento, esta configuración solo funcionará si el paquete aria2 esté instalado core.config.mem_cache=Almacenamiento de memoria core.config.mem_cache.data_exp=Expiración de datos core.config.mem_cache.data_exp.tip=Define la vida útil de los datos en memoria ( en SEGUNDOS ) core.config.mem_cache.icon_exp=Expiración de íconos core.config.mem_cache.icon_exp.tip=Define la vida útil de los íconos en memoria ( en SEGUNDOS ) -core.config.suggestions=Sugerencias -core.config.suggestions.activated=Activadas -core.config.suggestions.activated.tip=Si {app} puede sugerir aplicaciones para instalar +core.config.suggestions.activated=Suggestions +core.config.suggestions.activated.tip=Si se pueden sugerir nuevas aplicaciones para instalación +core.config.system.notifications=Notificaciones +core.config.system.notifications.tip=Si notificaciones deben mostrarse cuando finaliza una acción o hay actualizaciones +core.config.ui.hdpi=HDPI +core.config.ui.hdpi.tip=Si se deben activar las mejoras relacionadas con las resoluciones HDPI +core.config.ui.max_displayed=Aplicaciones mostradas +core.config.ui.max_displayed.tip=Número máximo de aplicaciones que se muestran en la tabla +core.config.ui.tray.default_icon=Ícono predeterminado +core.config.ui.tray.default_icon.tip=El icono predeterminado para {app} que se muestra en la bandeja +core.config.ui.tray.updates_icon=Icono de actualización +core.config.ui.tray.updates_icon.tip=El icono que se muestra cuando hay actualizaciones disponibles +core.config.system.dep_checking=Verificación única de sistema +core.config.system.dep_checking.tip=Si la verificación de disponibilidad de las tecnologías de su sistema debe ocurrir solo una vez +core.config.suggestions.by_type=Sugerencias por tipo +core.config.suggestions.by_type.tip=Número máximo de sugerencias que deberían mostrarse por tipo de aplicación locale.es=inglés locale.es=español locale.pt=portugués diff --git a/bauh/view/resources/locale/it b/bauh/view/resources/locale/it index cf295694..0e10ce58 100644 --- a/bauh/view/resources/locale/it +++ b/bauh/view/resources/locale/it @@ -177,23 +177,36 @@ development=sviluppo icon_button.tooltip.disabled=Questa azione non è disponibile user=utente example.short=e.g +core.config.tab.advanced=Advanced core.config.tab_label=general +core.config.tab.ui=Interface core.config.locale.label=language core.config.disk_cache=Disk cache core.config.disk_cache.tip={app} will save some data about your installed applications into the disk to load them faster in the next initializations core.config.updates.interval=Updates interval core.config.updates.interval.tip=Defines the time interval in which the update-checking for the installed applications will happen ( in SECONDS ) core.config.downloads=downloads -core.config.download.icons=Icons +core.config.download.icons=Download icons core.config.download.icons.tip=If the application icons should be downloaded and displayed on the table -core.config.download.multithreaded=Parallelism -core.config.download.multithreaded.tip=Whether applications, packages and files should be downloaded with a tool that works with parallelism / multi-thread (faster). At the moment only the aria2 application is supported +core.config.download.multithreaded=Multithreaded download +core.config.download.multithreaded.tip=Whether applications, packages and files should be downloaded with a tool that works with threads ( faster ). At the moment this setting will only work if the aria2 package is installed core.config.mem_cache=Memory storage core.config.mem_cache.data_exp=Data expiration core.config.mem_cache.data_exp.tip=Defines the in-memory data lifetime ( in SECONDS ) -core.config.suggestions=Suggestions -core.config.suggestions.activated=Activated -core.config.suggestions.activated.tip=If {app} can suggest applications to install +core.config.suggestions.activated=Suggestions +core.config.suggestions.activated.tip=If new applications can be suggested for installation +core.config.system.notifications=Notifications +core.config.system.notifications.tip=If notifications should be displayed when an action is finished or there are updates +core.config.ui.hdpi=HDPI +core.config.ui.hdpi.tip=If the improvements related to HDPI resolutions should be activated +core.config.ui.max_displayed=Applications displayed +core.config.ui.max_displayed.tip=Maximum number of applications displayed on the table +core.config.ui.tray.default_icon=Default icon +core.config.ui.tray.updates_icon=Update icon +core.config.system.dep_checking=Single system checking +core.config.system.dep_checking.tip=If the availability checking of your system technologies should happen only once +core.config.suggestions.by_type=Suggestions by type +core.config.suggestions.by_type.tip=Maximum number of suggestions that should be displayed by application type locale.en=inglese locale.es=spagnolo locale.pt=portoghese diff --git a/bauh/view/resources/locale/pt b/bauh/view/resources/locale/pt index ba144f5a..95211183 100644 --- a/bauh/view/resources/locale/pt +++ b/bauh/view/resources/locale/pt @@ -223,25 +223,41 @@ message.file.not_exist.body=O arquivo {} parece não existir icon_button.tooltip.disabled=Esta ação está indisponível user=usuário example.short=ex -core.config.tab_label=geral +core.config.tab.advanced=Avançadas +core.config.tab.general=Gerais +core.config.tab.ui=Interface +core.config.tab.tray=Bandeja core.config.locale.label=idioma core.config.disk_cache=Cache em disco core.config.disk_cache.tip={app} gravará alguns dados sobre seus aplicativos instalados no disco para que eles sejam carregados rapidamente nas próximas inicializações core.config.updates.interval=Intervalo de atualizações core.config.updates.interval.tip=Define o intervalo de tempo em que ocorrerá a verificação de atualizações para os aplicativos instalados ( em SEGUNDOS ) core.config.downloads=downloads -core.config.download.icons=Ícones +core.config.download.icons=Baixar ícones core.config.download.icons.tip=Se os ícones dos aplicativos devem ser baixados e exibidos na tabela -core.config.download.multithreaded=Paralelismo -core.config.download.multithreaded.tip=Se os aplicativos, pacotes e arquivos devem ser baixados através de uma ferramenta que trabalha com paralelismo / multi-thread ( mais rápido ). No momento somente o aplicativo aria2 é suportado. +core.config.download.multithreaded=Download segmentado +core.config.download.multithreaded.tip=Se os aplicativos, pacotes e arquivos devem ser baixados através de uma ferramenta que trabalha com segmentação / threads ( mais rápido ). No momento esta propriedade somente funcionará se o pacote aria2 estiver instalado. core.config.mem_cache=Armazenamento em memória core.config.mem_cache.data_exp=Expiração dos dados core.config.mem_cache.data_exp.tip=Define o tempo de vida dos dados em memória ( em SEGUNDOS ) core.config.mem_cache.icon_exp=Expiração de ícones core.config.mem_cache.icon_exp.tip=Define o tempo de vida dos ícones em memória ( em SEGUNDOS ) -core.config.suggestions=Sugestões -core.config.suggestions.activated=Ativadas -core.config.suggestions.activated.tip=Se o {app} pode sugerir aplicativos para a instalação +core.config.suggestions.activated=Sugestões +core.config.suggestions.activated.tip=Se novos aplicativos podem ser sugeridos para instalação +core.config.system.notifications=Notificações +core.config.system.notifications.tip=Se notificações devem ser exibidas quando uma ação é finalizada ou existem atualizações +core.config.ui.hdpi=HDPI +core.config.ui.hdpi.tip=Se as melhorias para resoluções HDPI devem ser ativadas +core.config.ui.max_displayed=Aplicativos exibidos +core.config.ui.max_displayed.tip=Número máximo de aplicativos exibidos na tabela +core.config.ui.tray.default_icon=Ícone padrão +core.config.ui.tray.default_icon.tip=O ícone padrão exibido na bandeja +core.config.ui.tray.updates_icon=Ícone de atualização +core.config.ui.tray.updates_icon.tip=O ícone exibido quando há atualizações disponíveis +core.config.system.dep_checking=Verificação única de sistema +core.config.system.dep_checking.tip=Se a verificação da disponibilidade das tecnologias do seu sistema devem ocorrer somente uma vez +core.config.suggestions.by_type=Sugestões por tipo +core.config.suggestions.by_type.tip=Número máximo de sugestões que devem ser exibidas por tipo de aplicativo locale.en=inglês locale.es=espanhol locale.pt=português