add enable dev mode info

This commit is contained in:
Your Name 2026-01-09 03:53:12 +03:00
parent 5c9dc557dd
commit 5f72775d1a

View File

@ -1,4 +1,10 @@
from PySide6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QPushButton
from pathlib import Path
from PySide6.QtCore import Qt
from PySide6.QtGui import QFont
from PySide6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel
import build_info
def build_dev_screen(on_exit) -> QWidget:
@ -7,6 +13,8 @@ def build_dev_screen(on_exit) -> QWidget:
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(12)
layout.addWidget(_build_persist_toggle())
hdr = QHBoxLayout()
hdr.setContentsMargins(0, 0, 0, 0)
hdr.setSpacing(12)
@ -20,3 +28,45 @@ def build_dev_screen(on_exit) -> QWidget:
layout.addWidget(exit_btn)
layout.addStretch(1)
return screen
def _build_persist_toggle() -> QWidget:
row = QWidget()
layout = QHBoxLayout(row)
layout.setContentsMargins(12, 6, 12, 6)
layout.setSpacing(12)
lbl = QLabel("Показывать после перезагрузки")
lbl.setFont(QFont("", 14, 600))
btn = QPushButton("Выкл")
btn.setObjectName("SoundToggle")
btn.setCheckable(True)
btn.setChecked(_dev_flag_path().exists())
btn.setMinimumHeight(40)
btn.setMinimumWidth(110)
btn.setFont(QFont("", 12, 700))
def _sync_text(is_checked: bool):
btn.setText("Вкл" if is_checked else "Выкл")
def _persist_flag(is_checked: bool):
flag_path = _dev_flag_path()
if is_checked:
flag_path.touch(exist_ok=True)
else:
if flag_path.exists():
flag_path.unlink()
btn.toggled.connect(_sync_text)
btn.toggled.connect(_persist_flag)
_sync_text(btn.isChecked())
layout.addWidget(lbl)
layout.addStretch(1)
layout.addWidget(btn)
return row
def _dev_flag_path() -> Path:
return Path(build_info.__file__).resolve().parent / "dev_mode_enable"