#!/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())