- Ограничен поиск DLL при сборке каталогами Python, окружения и Windows. - Добавлена проверка источников бинарных библиотек перед упаковкой. - Добавлен режим --verify-bundle и регрессионный smoke-тест. - Обновлены документация и версия приложения до 3.3.1.
46 lines
1.3 KiB
Python
46 lines
1.3 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)
|
|
if "--verify-bundle" in sys.argv:
|
|
app.processEvents()
|
|
return 0
|
|
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())
|