mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-07 04:44:15 +02:00
[ui][settings] rebooting after changed
This commit is contained in:
@@ -5,14 +5,16 @@ from PyQt5.QtWidgets import QWidget, QVBoxLayout, QToolBar, QSizePolicy, QPushBu
|
||||
|
||||
from bauh.api.abstract.controller import SoftwareManager
|
||||
from bauh.api.abstract.view import MessageType
|
||||
from bauh.view.core.controller import GenericSoftwareManager
|
||||
from bauh.view.qt import dialog, css
|
||||
from bauh.view.qt.components import to_widget, new_spacer
|
||||
from bauh.view.util import util
|
||||
from bauh.view.util.translation import I18n
|
||||
|
||||
|
||||
class SettingsWindow(QWidget):
|
||||
|
||||
def __init__(self, manager: SoftwareManager, i18n: I18n, screen_size: QSize, tray: bool, parent: QWidget = None):
|
||||
def __init__(self, manager: SoftwareManager, i18n: I18n, screen_size: QSize, tray: bool, window: QWidget, parent: QWidget = None):
|
||||
super(SettingsWindow, self).__init__(parent=parent)
|
||||
self.setWindowTitle(i18n['settings'].capitalize())
|
||||
self.setLayout(QVBoxLayout())
|
||||
@@ -20,6 +22,7 @@ class SettingsWindow(QWidget):
|
||||
self.i18n = i18n
|
||||
self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred)
|
||||
self.tray = tray
|
||||
self.window = window
|
||||
|
||||
self.settings_model = self.manager.get_settings()
|
||||
|
||||
@@ -48,8 +51,23 @@ class SettingsWindow(QWidget):
|
||||
def _save_settings(self):
|
||||
success, warnings = self.manager.save_settings(self.settings_model)
|
||||
|
||||
# Configurações alteradas com sucesso, porém algumas delas só surtirão após a reinicialização
|
||||
|
||||
if success:
|
||||
self.close()
|
||||
if dialog.ask_confirmation(title=self.i18n['warning'].capitalize(),
|
||||
body="<p>{}</p><p>{}</p>".format(self.i18n['settings.changed.success.warning'],
|
||||
self.i18n['settings.changed.success.reboot']),
|
||||
i18n=self.i18n):
|
||||
util.restart_app(self.tray)
|
||||
else:
|
||||
if isinstance(self.manager, GenericSoftwareManager):
|
||||
self.manager.reset_cache()
|
||||
|
||||
self.manager.prepare()
|
||||
self.window.verify_warnings()
|
||||
self.window.types_changed = True
|
||||
self.window.refresh_apps()
|
||||
self.close()
|
||||
else:
|
||||
msg = StringIO()
|
||||
msg.write("<p>It was not possible to properly save the settings</p>")
|
||||
|
||||
@@ -1150,7 +1150,7 @@ class ManageWindow(QWidget):
|
||||
self.checkbox_console.setChecked(True)
|
||||
|
||||
def show_settings_window(self):
|
||||
self.settings_window = SettingsWindow(self.manager, self.i18n, self.screen_size, bool(self.tray_icon))
|
||||
self.settings_window = SettingsWindow(self.manager, self.i18n, self.screen_size, bool(self.tray_icon), self)
|
||||
self.settings_window.setMinimumWidth(int(self.screen_size.width() / 4))
|
||||
self.settings_window.resize(self.size())
|
||||
self.settings_window.adjustSize()
|
||||
|
||||
@@ -252,6 +252,8 @@ core.config.system.dep_checking.tip=If the availability checking of your system
|
||||
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
|
||||
core.config.types.tip=Check the application types you want to manage
|
||||
settings.changed.success.warning=Settings successfully changed. Some of them will only take effect after the restart.
|
||||
settings.changed.success.reboot=Restart now ?
|
||||
locale.en=anglès
|
||||
locale.es=castellà
|
||||
locale.pt=portuguès
|
||||
|
||||
@@ -207,6 +207,8 @@ core.config.system.dep_checking.tip=If the availability checking of your system
|
||||
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
|
||||
core.config.types.tip=Check the application types you want to manage
|
||||
settings.changed.success.warning=Settings successfully changed. Some of them will only take effect after the restart.
|
||||
settings.changed.success.reboot=Restart now ?
|
||||
locale.en=englisch
|
||||
locale.es=spanisch
|
||||
locale.pt=portugiesisch
|
||||
|
||||
@@ -214,6 +214,8 @@ core.config.system.dep_checking.tip=If the availability checking of your system
|
||||
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
|
||||
core.config.types.tip=Check the application types you want to manage
|
||||
settings.changed.success.warning=Settings successfully changed. Some of them will only take effect after the restart.
|
||||
settings.changed.success.reboot=Restart now ?
|
||||
locale.en=english
|
||||
locale.es=spanish
|
||||
locale.pt=portuguese
|
||||
|
||||
@@ -255,6 +255,8 @@ core.config.system.dep_checking.tip=Si la verificación de disponibilidad de las
|
||||
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
|
||||
core.config.types.tip=Marque los tipos de aplicaciones que desea administrar
|
||||
settings.changed.success.warning=Las configuraciones se cambiaron con éxito. Algunas solo tendrán efecto después del reinicio.
|
||||
settings.changed.success.reboot=¿Reiniciar ahora?
|
||||
locale.es=inglés
|
||||
locale.es=español
|
||||
locale.pt=portugués
|
||||
|
||||
@@ -207,6 +207,8 @@ core.config.system.dep_checking.tip=If the availability checking of your system
|
||||
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
|
||||
core.config.types.tip=Check the application types you want to manage
|
||||
settings.changed.success.warning=Settings successfully changed. Some of them will only take effect after the restart.
|
||||
settings.changed.success.reboot=Restart now ?
|
||||
locale.en=inglese
|
||||
locale.es=spagnolo
|
||||
locale.pt=portoghese
|
||||
|
||||
@@ -258,6 +258,8 @@ core.config.system.dep_checking.tip=Se a verificação da disponibilidade das te
|
||||
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
|
||||
core.config.types.tip=Marque os tipos de aplicativo que você quer gerenciar
|
||||
settings.changed.success.warning=Configurações alteradas com sucesso ! Algumas delas só surtirão após a reinicialização.
|
||||
settings.changed.success.reboot=Reiniciar agora ?
|
||||
locale.en=inglês
|
||||
locale.es=espanhol
|
||||
locale.pt=português
|
||||
|
||||
Reference in New Issue
Block a user