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.setMinimumHeight(72)
|
||||||
reboot_btn.clicked.connect(_confirm_reboot)
|
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.addLayout(hdr)
|
||||||
layout.addWidget(exit_btn)
|
layout.addWidget(exit_btn)
|
||||||
layout.addWidget(reboot_btn)
|
layout.addWidget(reboot_btn)
|
||||||
|
layout.addWidget(reset_btn)
|
||||||
layout.addStretch(1)
|
layout.addStretch(1)
|
||||||
return screen
|
return screen
|
||||||
|
|
||||||
@ -177,3 +183,16 @@ def _confirm_reboot():
|
|||||||
)
|
)
|
||||||
if dialog.exec() == ConfirmDialog.Accepted:
|
if dialog.exec() == ConfirmDialog.Accepted:
|
||||||
subprocess.run(["sudo", "reboot"], check=False)
|
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,
|
QStackedWidget,
|
||||||
QApplication,
|
QApplication,
|
||||||
)
|
)
|
||||||
from PySide6.QtCore import Qt, Signal
|
from PySide6.QtCore import Qt, Signal, QSettings
|
||||||
from PySide6.QtGui import QFont
|
from PySide6.QtGui import QFont
|
||||||
from PySide6.QtWidgets import QScroller
|
from PySide6.QtWidgets import QScroller
|
||||||
from screens.setting.bluetooth_screen import BluetoothScreen
|
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.eq_screen import EqualizerScreen
|
||||||
from screens.setting.display_screen import DisplayScreen
|
from screens.setting.display_screen import DisplayScreen
|
||||||
import build_info
|
import build_info
|
||||||
|
from ui.language_dialog import LanguageDialog
|
||||||
|
|
||||||
|
|
||||||
class SettingsRow(QPushButton):
|
class SettingsRow(QPushButton):
|
||||||
@ -118,10 +119,14 @@ class SettingsScreen(QWidget):
|
|||||||
[
|
[
|
||||||
("Экран", "Яркость, сон, тема"),
|
("Экран", "Яркость, сон, тема"),
|
||||||
("Звук", "Громкость, эквалайзер"),
|
("Звук", "Громкость, эквалайзер"),
|
||||||
|
("Язык", "Выбор языка интерфейса"),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
display_row = display_rows.get("Экран")
|
display_row = display_rows.get("Экран")
|
||||||
sound_row = display_rows.get("Звук")
|
sound_row = display_rows.get("Звук")
|
||||||
|
language_row = display_rows.get("Язык")
|
||||||
|
|
||||||
|
self._add_section(content_layout, "Данные", [])
|
||||||
|
|
||||||
system_rows = self._add_section(
|
system_rows = self._add_section(
|
||||||
content_layout,
|
content_layout,
|
||||||
@ -167,6 +172,8 @@ class SettingsScreen(QWidget):
|
|||||||
display_row.clicked.connect(self._show_display)
|
display_row.clicked.connect(self._show_display)
|
||||||
if sound_row is not None:
|
if sound_row is not None:
|
||||||
sound_row.clicked.connect(self._show_sound)
|
sound_row.clicked.connect(self._show_sound)
|
||||||
|
if language_row is not None:
|
||||||
|
language_row.clicked.connect(self._show_language)
|
||||||
self._show_list()
|
self._show_list()
|
||||||
|
|
||||||
def _add_section(
|
def _add_section(
|
||||||
@ -219,6 +226,12 @@ class SettingsScreen(QWidget):
|
|||||||
self.stack.setCurrentWidget(self._eq_screen)
|
self.stack.setCurrentWidget(self._eq_screen)
|
||||||
self.view_changed.emit("Эквалайзер", True)
|
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):
|
def _exit_app(self):
|
||||||
app = QApplication.instance()
|
app = QApplication.instance()
|
||||||
if app is not None:
|
if app is not None:
|
||||||
|
|||||||
@ -122,6 +122,15 @@ QScrollArea > QWidget > QWidget { background: transparent; }
|
|||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
#DevRebootBtn:hover { background: #FECACA; }
|
#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); }
|
#BluetoothStatus { color: rgba(107,114,128,0.95); }
|
||||||
#BluetoothList {
|
#BluetoothList {
|
||||||
|
|||||||
@ -113,6 +113,14 @@ QScrollArea > QWidget > QWidget { background: transparent; }
|
|||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
#DevRebootBtn:hover { background: #991B1B; }
|
#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); }
|
#BluetoothStatus { color: rgba(138,147,166,0.95); }
|
||||||
#BluetoothList {
|
#BluetoothList {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user