diff --git a/controllers/main_controller.py b/controllers/main_controller.py new file mode 100644 index 0000000..fc66e07 --- /dev/null +++ b/controllers/main_controller.py @@ -0,0 +1,18 @@ +from core.database import DatabaseManager +from core.media import MediaRepository +from ui.widgets.color_list_widget import ColorListWidget + + +class MainController: + def __init__(self, view): + self.db = DatabaseManager() + self.db.connect() + self.media_repo = MediaRepository(self.db) + self.media_repo.sync_media() + + self.view = view + + def load_colors(self) -> None: + colors = self.db.get_all_colors() + print("Loaded colors:", colors) + self.view.color_list_widget.set_colors(colors) diff --git a/main.py b/main.py index f398c9d..b8a1f8f 100644 --- a/main.py +++ b/main.py @@ -2,20 +2,15 @@ import sys from PySide6.QtWidgets import QApplication from ui.main_window import MainWindow -from core.database import DatabaseManager -from core.media import MediaRepository +from controllers.main_controller import MainController def main(): app = QApplication(sys.argv) - db = DatabaseManager() - db.connect() - media_repo = MediaRepository(db) - media_repo.sync_media() - - print(db.get_all_colors()) window = MainWindow() + controller = MainController(window) + controller.load_colors() window.show() sys.exit(app.exec()) diff --git a/ui/main_window.py b/ui/main_window.py index 660c100..2437335 100644 --- a/ui/main_window.py +++ b/ui/main_window.py @@ -44,16 +44,18 @@ class MainWindow(QMainWindow): histogram_view.setFixedHeight(200) control_layout.addWidget(histogram_view) - color_list_widget = ColorListWidget([ - {"name": "Red", "color": "#FF0000"}, - {"name": "Green", "color": "#00FF00"}, - {"name": "Blue", "color": "#0000FF"}, - {"name": "Yellow", "color": "#FFFF00"}, - {"name": "Cyan", "color": "#00FFFF"}, - {"name": "Magenta", "color": "#FF00FF"}, - ], self.control_widget) + self.color_list_widget = ColorListWidget(self.control_widget) - control_layout.addWidget(color_list_widget) + # color_list_widget.set_colors_from_db([ + # {"name": "Red", "color": "#FF0000"}, + # {"name": "Green", "color": "#00FF00"}, + # {"name": "Blue", "color": "#0000FF"}, + # {"name": "Yellow", "color": "#FFFF00"}, + # {"name": "Cyan", "color": "#00FFFF"}, + # {"name": "Magenta", "color": "#FF00FF"}, + # ]) + + control_layout.addWidget(self.color_list_widget) # control_layout.addStretch()