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 PySide6.QtWidgets import QApplication
|
||||||
|
|
||||||
from ui.main_window import MainWindow
|
from ui.main_window import MainWindow
|
||||||
from core.database import DatabaseManager
|
from controllers.main_controller import MainController
|
||||||
from core.media import MediaRepository
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
db = DatabaseManager()
|
|
||||||
db.connect()
|
|
||||||
media_repo = MediaRepository(db)
|
|
||||||
media_repo.sync_media()
|
|
||||||
|
|
||||||
print(db.get_all_colors())
|
|
||||||
window = MainWindow()
|
window = MainWindow()
|
||||||
|
controller = MainController(window)
|
||||||
|
controller.load_colors()
|
||||||
window.show()
|
window.show()
|
||||||
sys.exit(app.exec())
|
sys.exit(app.exec())
|
||||||
|
|
||||||
|
|||||||
@@ -44,16 +44,18 @@ class MainWindow(QMainWindow):
|
|||||||
histogram_view.setFixedHeight(200)
|
histogram_view.setFixedHeight(200)
|
||||||
control_layout.addWidget(histogram_view)
|
control_layout.addWidget(histogram_view)
|
||||||
|
|
||||||
color_list_widget = ColorListWidget([
|
self.color_list_widget = ColorListWidget(self.control_widget)
|
||||||
{"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)
|
|
||||||
|
|
||||||
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()
|
# control_layout.addStretch()
|
||||||
|
|||||||
Reference in New Issue
Block a user