9759fa565f
Moved the main application stylesheet to a new src/gui/ytsage_stylesheet.py module and applied it via StyleSheet.MAIN. Deferred blocking startup checks (FFmpeg, yt-dlp, Deno, updates) until after the UI is shown to improve responsiveness. Improved subtitle file deletion logic and added destination filename capture in downloader. Added custom style for auto-update checkbox in updater dialog.
35 lines
1005 B
Python
35 lines
1005 B
Python
import sys
|
|
|
|
from PySide6.QtWidgets import QApplication, QMessageBox
|
|
|
|
from src.utils.ytsage_logger import logger
|
|
from src.gui.ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main
|
|
|
|
|
|
def show_error_dialog(message):
|
|
error_dialog = QMessageBox()
|
|
error_dialog.setIcon(QMessageBox.Icon.Critical)
|
|
error_dialog.setText("Application Error")
|
|
error_dialog.setInformativeText(message)
|
|
error_dialog.setWindowTitle("Error")
|
|
error_dialog.exec()
|
|
|
|
|
|
def main():
|
|
try:
|
|
logger.info("Starting YTSage application")
|
|
app = QApplication(sys.argv)
|
|
|
|
window = YTSageApp() # Instantiate the main application class
|
|
window.show()
|
|
logger.info("Application window shown, entering main loop")
|
|
sys.exit(app.exec())
|
|
except Exception as e:
|
|
logger.critical(f"Critical application error: {e}", exc_info=True)
|
|
show_error_dialog(f"Critical error: {e}")
|
|
sys.exit(1)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|