refactor: update camera start button behavior to handle camera detection and live view

This commit is contained in:
2025-10-13 19:39:34 +02:00
parent 2c1233f304
commit 4d00f83083

View File

@@ -49,7 +49,7 @@ class MainController:
# UI control signals
self.photo_button.clicked.connect(self.take_photo)
# self.record_button.clicked.connect(self.toggle_record) # Placeholder
self.welcome_view.camera_start_btn.clicked.connect(self.start_liveview)
self.welcome_view.camera_start_btn.clicked.connect(self.camera_detect)
# You will need a way to select a camera, e.g., a combobox.
# self.view.camera_combobox.currentIndexChanged.connect(self.on_camera_selected_in_ui)
@@ -93,6 +93,16 @@ class MainController:
"""Handles the list of detected cameras."""
print("Detected cameras:", cameras)
self.welcome_view.set_info_text(f"Detected {len(cameras)} cameras.")
self.welcome_view.camera_start_btn.clicked.disconnect()
if len(cameras) == 0:
self.welcome_view.set_button_text("Wykryj kamery")
self.welcome_view.camera_start_btn.clicked.connect(self.camera_detect)
else:
self.welcome_view.set_button_text("Uruchom kamere")
self.welcome_view.camera_start_btn.clicked.connect(self.start_liveview)
# Populate a combobox in the UI here
# self.view.camera_combobox.clear()
# for camera in cameras:
@@ -130,6 +140,9 @@ class MainController:
# --- UI Actions ---
def camera_detect(self):
self.camera_manager.detect_cameras()
def start_liveview(self):
"""Starts the camera feed."""
detected_cameras = self.camera_manager.get_detected_cameras()