Wobuzz/wobuzz/main.py

36 lines
1,004 B
Python

#!/usr/bin/python3
import sys
from PyQt6.QtWidgets import QApplication
from wobbl_tools.data_file import load_dataclass_json
from .settings import Settings
from .utils import Utils
from .player.player import Player
from .library.library import Library
from .gui import GUI
from .gui_communication.gui_communication import GUICommunication
class Wobuzz:
def __init__(self):
self.qt_app = QApplication([])
self.utils = Utils(self)
self.settings = load_dataclass_json(Settings, self.utils.settings_location, self, True, True)
self.settings.set_attribute_change_event(self.on_settings_change)
self.player = Player(self)
self.library = Library(self)
self.gui = GUI(self)
self.gui_communication = GUICommunication(self)
def on_settings_change(self, key, value):
self.gui_communication.on_settings_change(key, value)
return True
if __name__ == "__main__":
wobuzz = Wobuzz()
sys.exit(wobuzz.qt_app.exec())