Danil Iarosh 4ce9eb7689 Switch to standard OS windows, resizable dialogs, and channel-aware pixel test
- Удален кастомный безрамочный режим (FramelessWindowHint) главного окна и диалогов.
- Внедрено нативное управление окнами операционной системы (изменение размеров, максимизация, минимизация).
- Добавлено применение QPalette под выбранную тему (темную/свелую) и акцент для покраски системных элементов окон.
- Внутреннее содержимое диалогов (StyledDialog) обернуто в QScrollArea с автоскроллом и ограничением по высоте до 720px во избежание выхода окон за пределы экрана.
- TitleBar упрощен до простой верхней панели вкладок (sub-header/tabs).
- В диалог теста подсветки добавлен выбор номера ленты (1..4) при тесте пикселя виртуальной матрицы, обновлена логика генерации и отправки тестовой команды.
- Раздел "Бродяга морей" переименован в "Бродяги морей".
2026-07-01 14:58:11 +03:00

31 lines
924 B
Python

from __future__ import annotations
import sys
from PySide6.QtGui import QFont
from PySide6.QtWidgets import QApplication
from .main_window import MainWindow
from .services import settings_service
from .ui.icons import ICON_COLOR_PRIMARY, icon
from .ui.theme import build_stylesheet, get_palette, create_qpalette
def main() -> None:
app = QApplication(sys.argv)
app.setStyle("Fusion")
app.setFont(QFont("Segoe UI Variable", 10))
palette = get_palette(settings_service.theme_mode(),
settings_service.theme_accent())
app.setPalette(create_qpalette(palette))
app.setStyleSheet(build_stylesheet(palette))
app_icon = icon("fa5s.microchip", color=ICON_COLOR_PRIMARY)
if not app_icon.isNull():
app.setWindowIcon(app_icon)
window = MainWindow()
if not app_icon.isNull():
window.setWindowIcon(app_icon)
window.show()
sys.exit(app.exec())