refactor main controller and main window to streamline color loading and widget initialization
This commit is contained in:
18
controllers/main_controller.py
Normal file
18
controllers/main_controller.py
Normal file
@@ -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)
|
||||
11
main.py
11
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())
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user