LED-mapper/main.py
Danil Iarosh f8f6a216f5 feat: add OTA updates and zero-based mapping
- Добавлена проверка и безопасная установка OTA-обновлений Windows с откатом.
- Нумерация линий и блоков переведена на индексы с нуля.
- Добавлена миграция старых JSON-схем с сохранением физической адресации.
- Обновлены генератор, сборка, документация и smoke-проверки.
- Подготовлена версия 3.3.0.
2026-09-18 10:37:21 +03:00

43 lines
1.2 KiB
Python

from __future__ import annotations
import sys
from pathlib import Path
from PySide6.QtCore import QTimer
from PySide6.QtWidgets import QApplication
APP_DIR = Path(__file__).resolve().parent
if str(APP_DIR) not in sys.path:
sys.path.insert(0, str(APP_DIR))
try:
from .icons import lucide_icon
from .main_window import MainWindow
from .settings import AppSettings
from .theme import apply_app_theme, effective_theme
from .update_service import signal_update_ready
except ImportError:
from icons import lucide_icon
from main_window import MainWindow
from settings import AppSettings
from theme import apply_app_theme, effective_theme
from update_service import signal_update_ready
def main() -> int:
app = QApplication(sys.argv)
settings = AppSettings.load()
apply_app_theme(settings.theme)
icon_color = "#111827" if effective_theme(settings.theme) == "light" else "#e5e7eb"
app_icon = lucide_icon("git-branch", icon_color, 256)
app.setWindowIcon(app_icon)
window = MainWindow()
window.setWindowIcon(app_icon)
window.show()
QTimer.singleShot(500, signal_update_ready)
return app.exec()
if __name__ == "__main__":
raise SystemExit(main())