diff --git a/controllers/main_controller.py b/controllers/main_controller.py index 26068cd..79fedc8 100644 --- a/controllers/main_controller.py +++ b/controllers/main_controller.py @@ -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()