- Добавлена проверка и безопасная установка OTA-обновлений Windows с откатом. - Нумерация линий и блоков переведена на индексы с нуля. - Добавлена миграция старых JSON-схем с сохранением физической адресации. - Обновлены генератор, сборка, документация и smoke-проверки. - Подготовлена версия 3.3.0.
43 lines
1.2 KiB
Python
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())
|