36 lines
998 B
Python
36 lines
998 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())
|