[ui][settings] more improvements and settings

This commit is contained in:
Vinícius Moreira
2020-01-27 19:05:46 -03:00
parent ce673dda5d
commit ab8b7d5f0b
11 changed files with 289 additions and 101 deletions

View File

@@ -157,11 +157,12 @@ class FormComponent(ViewComponent):
class FileChooserComponent(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_) super(FileChooserComponent, self).__init__(id_=id_)
self.label = label self.label = label
self.allowed_extensions = allowed_extensions self.allowed_extensions = allowed_extensions
self.file_path = None self.file_path = file_path
self.tooltip = tooltip
class TabComponent(ViewComponent): class TabComponent(ViewComponent):

View File

@@ -4,16 +4,17 @@ import traceback
from threading import Thread from threading import Thread
from typing import List, Set, Type, Tuple from typing import List, Set, Type, Tuple
from PyQt5.QtWidgets import QStyleFactory, QApplication
from bauh import ROOT_DIR from bauh import ROOT_DIR
from bauh.api.abstract.controller import SoftwareManager, SearchResult, ApplicationContext from bauh.api.abstract.controller import SoftwareManager, SearchResult, ApplicationContext
from bauh.api.abstract.disk import DiskCacheLoader 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, TwoStateButtonComponent InputOption, PanelComponent, SelectViewType, TextInputComponent, FileChooserComponent
from bauh.api.exception import NoInternetException from bauh.api.exception import NoInternetException
from bauh.commons import internet from bauh.commons import internet
from bauh.commons.config import save_config
from bauh.view.core import config from bauh.view.core import config
from bauh.view.core.config import read_config from bauh.view.core.config import read_config
from bauh.view.util import translation from bauh.view.util import translation
@@ -418,8 +419,7 @@ class GenericSoftwareManager(SoftwareManager):
max_per_line=len(opts), max_per_line=len(opts),
id_=id_) id_=id_)
def _gen_settings_panel(self) -> TabComponent: def _gen_general_settings(self, core_config: dict) -> TabComponent:
core_config = read_config()
locale_opts = [InputOption(label=self.i18n['locale.{}'.format(k)].capitalize(), value=k) for k in translation.get_available_keys()] 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'], select_locale = SingleSelectComponent(label=self.i18n['core.config.locale.label'],
options=locale_opts, options=locale_opts,
@@ -427,40 +427,32 @@ class GenericSoftwareManager(SoftwareManager):
type_=SelectViewType.COMBO, type_=SelectViewType.COMBO,
id_='locale') id_='locale')
select_dcache = self._gen_bool_component(label=self.i18n['core.config.disk_cache'], select_sysnotify = self._gen_bool_component(label=self.i18n['core.config.system.notifications'].capitalize(),
tooltip=self.i18n['core.config.disk_cache.tip'].format(app=self.context.app_name), tooltip=self.i18n['core.config.system.notifications.tip'].capitalize(),
value=core_config['disk_cache']['enabled'], value=bool(core_config['system']['notifications']),
id_='dcache') id_="sys_notify")
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_sugs = self._gen_bool_component(label=self.i18n['core.config.suggestions.activated'].capitalize(), 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", id_="sugs_enabled",
value=bool(core_config['suggestions']['enabled'])) value=bool(core_config['suggestions']['enabled']))
form_sugs = FormComponent(label=self.i18n['core.config.suggestions'].capitalize(), inp_sugs = TextInputComponent(label=self.i18n['core.config.suggestions.by_type'],
components=[select_sugs], id_='form_sugs') 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'], input_data_exp = TextInputComponent(label=self.i18n['core.config.mem_cache.data_exp'],
tooltip=self.i18n['core.config.mem_cache.data_exp.tip'], tooltip=self.i18n['core.config.mem_cache.data_exp.tip'],
@@ -474,39 +466,126 @@ class GenericSoftwareManager(SoftwareManager):
only_int=True, only_int=True,
id_="icon_exp") id_="icon_exp")
form_cache = FormComponent(label=self.i18n['core.config.mem_cache'].capitalize(), select_dep_check = self._gen_bool_component(label=self.i18n['core.config.system.dep_checking'],
components=[input_data_exp, input_icon_exp], tooltip=self.i18n['core.config.system.dep_checking.tip'],
id_='form_memcache') value=core_config['system']['single_dependency_checking'],
id_='dep_check')
sub_comps = [form_general, form_download, form_sugs, form_cache] select_dmthread = self._gen_bool_component(label=self.i18n['core.config.download.multithreaded'],
return TabComponent(self.i18n['core.config.tab_label'].capitalize(), PanelComponent([FormComponent(sub_comps)]), None, 'core') 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() core_config = config.read_config()
main_form = panel.components[0] # general
locale = main_form.get_component('form_general').get_component('locale').get_selected() general_form = general.components[0]
locale = general_form.get_component('locale').get_selected()
if locale != self.i18n.current_key: if locale != self.i18n.current_key:
core_config['locale'] = locale core_config['locale'] = locale
core_config['disk_cache']['enabled'] = main_form.get_component('form_general').get_component('dcache').get_selected() core_config['system']['notifications'] = general_form.get_component('sys_notify').get_selected()
core_config['updates']['check_interval'] = main_form.get_component('form_general').get_component('updates_interval').get_int_value() 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() sugs_by_type = general_form.get_component('sugs_by_type').get_int_value()
core_config['download']['icons'] = download_icons 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 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 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 core_config['memory_cache']['icon_expiration'] = icon_exp
sugs_enabled = main_form.get_component('form_sugs').get_component('sugs_enabled').get_value() # tray
core_config['suggestions']['enabled'] = sugs_enabled 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: try:
config.save(core_config) config.save(core_config)
@@ -517,7 +596,11 @@ class GenericSoftwareManager(SoftwareManager):
def get_settings(self) -> ViewComponent: def get_settings(self) -> ViewComponent:
tabs = list() 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: for man in self.managers:
if self._can_work(man): if self._can_work(man):
@@ -534,7 +617,10 @@ class GenericSoftwareManager(SoftwareManager):
saved, warnings = True, [] 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: if not success:
saved = False saved = False

View File

@@ -1,3 +1,4 @@
import os
from pathlib import Path from pathlib import Path
from typing import Tuple from typing import Tuple
@@ -434,6 +435,9 @@ class FormQt(QGroupBox):
chooser = QLineEdit() chooser = QLineEdit()
chooser.setReadOnly(True) chooser.setReadOnly(True)
if c.file_path:
chooser.setText(c.file_path)
chooser.setPlaceholderText(self.i18n['view.components.file_chooser.placeholder']) chooser.setPlaceholderText(self.i18n['view.components.file_chooser.placeholder'])
def open_chooser(e): def open_chooser(e):
@@ -444,7 +448,12 @@ class FormQt(QGroupBox):
else: else:
exts = '{}} (*);;'.format(self.i18n['all_files'].capitalize()) 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: if file_path:
c.file_path = file_path c.file_path = file_path
@@ -457,7 +466,8 @@ class FormQt(QGroupBox):
chooser.mousePressEvent = open_chooser chooser.mousePressEvent = open_chooser
return QLabel(c.label if c.label else ''), chooser label = self._new_label(c)
return label, chooser
class TabGroupQt(QTabWidget): class TabGroupQt(QTabWidget):
@@ -465,6 +475,7 @@ class TabGroupQt(QTabWidget):
def __init__(self, model: TabGroupComponent, i18n: I18n, parent: QWidget = None): def __init__(self, model: TabGroupComponent, i18n: I18n, parent: QWidget = None):
super(TabGroupQt, self).__init__(parent=parent) super(TabGroupQt, self).__init__(parent=parent)
self.model = model self.model = model
self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
self.setTabPosition(QTabWidget.North) self.setTabPosition(QTabWidget.North)
for c in model.tabs: for c in model.tabs:

View File

@@ -1,6 +1,7 @@
from io import StringIO 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.controller import SoftwareManager
from bauh.api.abstract.view import MessageType from bauh.api.abstract.view import MessageType
@@ -11,20 +12,22 @@ from bauh.view.util.translation import I18n
class SettingsWindow(QWidget): 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) super(SettingsWindow, self).__init__(parent=parent)
self.setWindowTitle(i18n['settings'].capitalize()) self.setWindowTitle(i18n['settings'].capitalize())
self.setLayout(QVBoxLayout()) self.setLayout(QVBoxLayout())
self.manager = manager self.manager = manager
self.i18n = i18n self.i18n = i18n
self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
self.settings_model = self.manager.get_settings() 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 = QToolBar()
action_bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) action_bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
bt_close = QPushButton() bt_close = QPushButton()
bt_close.setText(self.i18n['close'].capitalize()) bt_close.setText(self.i18n['close'].capitalize())

View File

@@ -1166,7 +1166,7 @@ class ManageWindow(QWidget):
gem_panel.show() gem_panel.show()
def show_settings_window(self): 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.setMinimumWidth(int(self.screen_size.width() / 4))
self.settings_window.resize(self.size()) self.settings_window.resize(self.size())
self.settings_window.adjustSize() self.settings_window.adjustSize()

View File

@@ -221,23 +221,36 @@ message.file.not_exist.body=El fitxer {} sembla no existir
icon_button.tooltip.disabled=Aquesta acció no està disponible icon_button.tooltip.disabled=Aquesta acció no està disponible
user=usuari user=usuari
example.short=e.g example.short=e.g
core.config.tab.advanced=Advanced
core.config.tab_label=general core.config.tab_label=general
core.config.tab.ui=Interface
core.config.locale.label=language core.config.locale.label=language
core.config.disk_cache=Disk cache 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.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=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.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.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.icons.tip=If the application icons should be downloaded and displayed on the table
core.config.download.multithreaded=Parallelism 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 parallelism / multi-thread (faster). At the moment only the aria2 application is supported 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=Memory storage
core.config.mem_cache.data_exp=Data expiration 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.data_exp.tip=Defines the in-memory data lifetime ( in SECONDS )
core.config.suggestions=Suggestions core.config.suggestions.activated=Suggestions
core.config.suggestions.activated=Activated core.config.suggestions.activated.tip=If new applications can be suggested for installation
core.config.suggestions.activated.tip=If {app} can suggest applications to install 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.en=anglès
locale.es=castellà locale.es=castellà
locale.pt=portuguès locale.pt=portuguès

View File

@@ -176,23 +176,36 @@ development=Entwicklung
icon_button.tooltip.disabled=Diese Aktion ist nicht verfügbar icon_button.tooltip.disabled=Diese Aktion ist nicht verfügbar
user=Benutzer user=Benutzer
example.short=e.g example.short=e.g
core.config.tab.advanced=Advanced
core.config.tab_label=general core.config.tab_label=general
core.config.tab.ui=Interface
core.config.locale.label=language core.config.locale.label=language
core.config.disk_cache=Disk cache 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.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=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.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.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.icons.tip=If the application icons should be downloaded and displayed on the table
core.config.download.multithreaded=Parallelism 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 parallelism / multi-thread (faster). At the moment only the aria2 application is supported 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=Memory storage
core.config.mem_cache.data_exp=Data expiration 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.data_exp.tip=Defines the in-memory data lifetime ( in SECONDS )
core.config.suggestions=Suggestions core.config.suggestions.activated=Suggestions
core.config.suggestions.activated=Activated core.config.suggestions.activated.tip=If new applications can be suggested for installation
core.config.suggestions.activated.tip=If {app} can suggest applications to install 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.en=englisch
locale.es=spanisch locale.es=spanisch
locale.pt=portugiesisch locale.pt=portugiesisch

View File

@@ -180,24 +180,40 @@ development=development
icon_button.tooltip.disabled=This action is unavailable icon_button.tooltip.disabled=This action is unavailable
user=user user=user
example.short=e.g 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.locale.label=language
core.config.disk_cache=Disk cache 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.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=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.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.icons.tip=If the application icons should be downloaded and displayed on the table
core.config.download.multithreaded=Parallelism 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 parallelism / multi-thread ( faster ). At the moment only the aria2 application is supported 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=Memory storage
core.config.mem_cache.data_exp=Data expiration 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.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=Icons expiration
core.config.mem_cache.icon_exp.tip=Defines the in-memory icons lifetime ( in SECONDS ) core.config.mem_cache.icon_exp.tip=Defines the in-memory icons lifetime ( in SECONDS )
core.config.suggestions=Suggestions core.config.suggestions.activated=Suggestions
core.config.suggestions.activated=Activated core.config.suggestions.activated.tip=If new applications can be suggested for installation
core.config.suggestions.activated.tip=If {app} can suggest applications to install 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.en=english
locale.es=spanish locale.es=spanish
locale.pt=portuguese locale.pt=portuguese

View File

@@ -220,25 +220,41 @@ message.file.not_exist.body=El archivo {} parece no existir
icon_button.tooltip.disabled=This action is unavailable icon_button.tooltip.disabled=This action is unavailable
user=usuario user=usuario
example.short=p.ej 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.locale.label=idioma
core.config.disk_cache=Cache em disco 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.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=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.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.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.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=Descarga segmentada
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.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=Almacenamiento de memoria
core.config.mem_cache.data_exp=Expiración de datos 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.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=Expiración de íconos
core.config.mem_cache.icon_exp.tip=Define la vida útil de los íconos en memoria ( en SEGUNDOS ) 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=Suggestions
core.config.suggestions.activated=Activadas core.config.suggestions.activated.tip=Si se pueden sugerir nuevas aplicaciones para instalación
core.config.suggestions.activated.tip=Si {app} puede sugerir aplicaciones para instalar 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=inglés
locale.es=español locale.es=español
locale.pt=portugués locale.pt=portugués

View File

@@ -177,23 +177,36 @@ development=sviluppo
icon_button.tooltip.disabled=Questa azione non è disponibile icon_button.tooltip.disabled=Questa azione non è disponibile
user=utente user=utente
example.short=e.g example.short=e.g
core.config.tab.advanced=Advanced
core.config.tab_label=general core.config.tab_label=general
core.config.tab.ui=Interface
core.config.locale.label=language core.config.locale.label=language
core.config.disk_cache=Disk cache 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.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=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.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.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.icons.tip=If the application icons should be downloaded and displayed on the table
core.config.download.multithreaded=Parallelism 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 parallelism / multi-thread (faster). At the moment only the aria2 application is supported 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=Memory storage
core.config.mem_cache.data_exp=Data expiration 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.data_exp.tip=Defines the in-memory data lifetime ( in SECONDS )
core.config.suggestions=Suggestions core.config.suggestions.activated=Suggestions
core.config.suggestions.activated=Activated core.config.suggestions.activated.tip=If new applications can be suggested for installation
core.config.suggestions.activated.tip=If {app} can suggest applications to install 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.en=inglese
locale.es=spagnolo locale.es=spagnolo
locale.pt=portoghese locale.pt=portoghese

View File

@@ -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 icon_button.tooltip.disabled=Esta ação está indisponível
user=usuário user=usuário
example.short=ex 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.locale.label=idioma
core.config.disk_cache=Cache em disco 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.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=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.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.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.icons.tip=Se os ícones dos aplicativos devem ser baixados e exibidos na tabela
core.config.download.multithreaded=Paralelismo 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 paralelismo / multi-thread ( mais rápido ). No momento somente o aplicativo aria2 é suportado. 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=Armazenamento em memória
core.config.mem_cache.data_exp=Expiração dos dados 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.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=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.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=Sugestões
core.config.suggestions.activated=Ativadas core.config.suggestions.activated.tip=Se novos aplicativos podem ser sugeridos para instalação
core.config.suggestions.activated.tip=Se o {app} pode sugerir aplicativos para a 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.en=inglês
locale.es=espanhol locale.es=espanhol
locale.pt=português locale.pt=português