feat: wire Computer Vision features to UI menu

- Add Computer Vision submenu under Tools menu
- Add Vision Settings, Calibrate Vision, and Test Vision actions
- Add handler methods: on_vision_settings, on_vision_calibrate, on_vision_test
- Features accessible via Tools -> Computer Vision
This commit is contained in:
LemonNexus 2026-02-11 11:44:04 +00:00
parent 1ef6b0c0a1
commit 92558d3e49
1 changed files with 49 additions and 0 deletions

View File

@ -785,6 +785,23 @@ class MainWindow(QMainWindow):
select_medical_action.triggered.connect(lambda: self.on_select_gear("medical_tool"))
select_gear_menu.addAction(select_medical_action)
tools_menu.addSeparator()
# Computer Vision submenu
vision_menu = tools_menu.addMenu("👁️ &Computer Vision")
vision_settings_action = QAction("Vision &Settings", self)
vision_settings_action.triggered.connect(self.on_vision_settings)
vision_menu.addAction(vision_settings_action)
vision_calibrate_action = QAction("&Calibrate Vision", self)
vision_calibrate_action.triggered.connect(self.on_vision_calibrate)
vision_menu.addAction(vision_calibrate_action)
vision_test_action = QAction("&Test Vision", self)
vision_test_action.triggered.connect(self.on_vision_test)
vision_menu.addAction(vision_test_action)
# View menu
view_menu = menubar.addMenu("&View")
@ -1804,6 +1821,38 @@ class MainWindow(QMainWindow):
"""Handle screenshot deletion from gallery."""
self.log_info("Gallery", f"Screenshot {screenshot_id} deleted")
def on_vision_settings(self):
"""Open Computer Vision Settings dialog."""
try:
from ui.vision_settings_dialog import VisionSettingsDialog
dialog = VisionSettingsDialog(self)
if dialog.exec() == QDialog.DialogCode.Accepted:
self.log_info("Vision", "Settings updated")
except Exception as e:
self.log_error("Vision", f"Failed to open settings: {e}")
QMessageBox.warning(self, "Error", f"Could not open Vision Settings: {e}")
def on_vision_calibrate(self):
"""Open Computer Vision Calibration wizard."""
try:
from ui.vision_calibration_dialog import VisionCalibrationDialog
dialog = VisionCalibrationDialog(self)
if dialog.exec() == QDialog.DialogCode.Accepted:
self.log_info("Vision", "Calibration completed")
except Exception as e:
self.log_error("Vision", f"Failed to open calibration: {e}")
QMessageBox.warning(self, "Error", f"Could not open Vision Calibration: {e}")
def on_vision_test(self):
"""Open Computer Vision Test dialog."""
try:
from ui.vision_test_dialog import VisionTestDialog
dialog = VisionTestDialog(self)
dialog.exec()
except Exception as e:
self.log_error("Vision", f"Failed to open test dialog: {e}")
QMessageBox.warning(self, "Error", f"Could not open Vision Test: {e}")
# ========================================================================
# Settings Management
# ========================================================================