update design dev_screen
This commit is contained in:
parent
ecfce9dfcd
commit
dfdc791d07
@ -32,9 +32,15 @@ def build_dev_screen(on_exit) -> QWidget:
|
||||
reboot_btn.setMinimumHeight(72)
|
||||
reboot_btn.clicked.connect(_confirm_reboot)
|
||||
|
||||
reset_btn = QPushButton("Сброс до заводских")
|
||||
reset_btn.setObjectName("DevResetBtn")
|
||||
reset_btn.setMinimumHeight(72)
|
||||
reset_btn.clicked.connect(_confirm_factory_reset)
|
||||
|
||||
layout.addLayout(hdr)
|
||||
layout.addWidget(exit_btn)
|
||||
layout.addWidget(reboot_btn)
|
||||
layout.addWidget(reset_btn)
|
||||
layout.addStretch(1)
|
||||
return screen
|
||||
|
||||
@ -177,3 +183,16 @@ def _confirm_reboot():
|
||||
)
|
||||
if dialog.exec() == ConfirmDialog.Accepted:
|
||||
subprocess.run(["sudo", "reboot"], check=False)
|
||||
|
||||
|
||||
def _confirm_factory_reset():
|
||||
dialog = ConfirmDialog(
|
||||
"Подтверждение",
|
||||
"Сбросить настройки до заводских? Приложение будет закрыто.",
|
||||
"Сбросить",
|
||||
ok_object_name="ConfirmOkDanger",
|
||||
)
|
||||
if dialog.exec() == ConfirmDialog.Accepted:
|
||||
reset_marker = Path(build_info.__file__).resolve().parent / "reset"
|
||||
reset_marker.touch(exist_ok=True)
|
||||
subprocess.run(["sudo", "reboot"], check=False)
|
||||
|
||||
@ -9,7 +9,7 @@ from PySide6.QtWidgets import (
|
||||
QStackedWidget,
|
||||
QApplication,
|
||||
)
|
||||
from PySide6.QtCore import Qt, Signal
|
||||
from PySide6.QtCore import Qt, Signal, QSettings
|
||||
from PySide6.QtGui import QFont
|
||||
from PySide6.QtWidgets import QScroller
|
||||
from screens.setting.bluetooth_screen import BluetoothScreen
|
||||
@ -19,6 +19,7 @@ from screens.setting.sound_screen import SoundScreen
|
||||
from screens.setting.eq_screen import EqualizerScreen
|
||||
from screens.setting.display_screen import DisplayScreen
|
||||
import build_info
|
||||
from ui.language_dialog import LanguageDialog
|
||||
|
||||
|
||||
class SettingsRow(QPushButton):
|
||||
@ -118,10 +119,14 @@ class SettingsScreen(QWidget):
|
||||
[
|
||||
("Экран", "Яркость, сон, тема"),
|
||||
("Звук", "Громкость, эквалайзер"),
|
||||
("Язык", "Выбор языка интерфейса"),
|
||||
],
|
||||
)
|
||||
display_row = display_rows.get("Экран")
|
||||
sound_row = display_rows.get("Звук")
|
||||
language_row = display_rows.get("Язык")
|
||||
|
||||
self._add_section(content_layout, "Данные", [])
|
||||
|
||||
system_rows = self._add_section(
|
||||
content_layout,
|
||||
@ -167,6 +172,8 @@ class SettingsScreen(QWidget):
|
||||
display_row.clicked.connect(self._show_display)
|
||||
if sound_row is not None:
|
||||
sound_row.clicked.connect(self._show_sound)
|
||||
if language_row is not None:
|
||||
language_row.clicked.connect(self._show_language)
|
||||
self._show_list()
|
||||
|
||||
def _add_section(
|
||||
@ -219,6 +226,12 @@ class SettingsScreen(QWidget):
|
||||
self.stack.setCurrentWidget(self._eq_screen)
|
||||
self.view_changed.emit("Эквалайзер", True)
|
||||
|
||||
def _show_language(self):
|
||||
dialog = LanguageDialog()
|
||||
if dialog.exec() == LanguageDialog.Accepted:
|
||||
settings = QSettings("car_ui", "ui")
|
||||
settings.setValue("ui/language", dialog.selected_language())
|
||||
|
||||
def _exit_app(self):
|
||||
app = QApplication.instance()
|
||||
if app is not None:
|
||||
|
||||
@ -122,6 +122,15 @@ QScrollArea > QWidget > QWidget { background: transparent; }
|
||||
font-weight: 700;
|
||||
}
|
||||
#DevRebootBtn:hover { background: #FECACA; }
|
||||
#DevResetBtn {
|
||||
background: #FEE2E2;
|
||||
color: #991B1B;
|
||||
border-radius: 14px;
|
||||
border: 1px solid #FCA5A5;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
#DevResetBtn:hover { background: #FECACA; }
|
||||
|
||||
#BluetoothStatus { color: rgba(107,114,128,0.95); }
|
||||
#BluetoothList {
|
||||
|
||||
@ -113,6 +113,14 @@ QScrollArea > QWidget > QWidget { background: transparent; }
|
||||
font-weight: 700;
|
||||
}
|
||||
#DevRebootBtn:hover { background: #991B1B; }
|
||||
#DevResetBtn {
|
||||
background: #7F1D1D;
|
||||
color: #FEE2E2;
|
||||
border-radius: 14px;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
#DevResetBtn:hover { background: #991B1B; }
|
||||
|
||||
#BluetoothStatus { color: rgba(138,147,166,0.95); }
|
||||
#BluetoothList {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user