working logic+working watching files+added calibration feature+instructions

This commit is contained in:
Vic Sergeev 2026-05-07 21:13:00 +03:00
parent 09d181eba8
commit 97ed8217bf
25 changed files with 1743 additions and 192 deletions

View file

@ -119,6 +119,13 @@ class MainWindow(QMainWindow):
new_object_action.triggered.connect(self.set_new_object)
session_menu.addAction(new_object_action)
session_menu.addSeparator()
calibration_action = QAction("🌑 Калибровочные кадры...", self)
calibration_action.setShortcut("Ctrl+K")
calibration_action.triggered.connect(self.open_calibration_dialog)
session_menu.addAction(calibration_action)
# Меню Помощь
help_menu = menubar.addMenu("Помощь")
@ -134,6 +141,12 @@ class MainWindow(QMainWindow):
about_action.triggered.connect(self.show_info)
help_menu.addAction(about_action)
def open_calibration_dialog(self):
"""Открывает диалог калибровочных кадров"""
from ui.dialogs.calibration_dialog import CalibrationDialog
dialog = CalibrationDialog(self, self.config_service)
dialog.exec()
def _create_main_content(self):
central_widget = QWidget()
self.setCentralWidget(central_widget)
@ -310,21 +323,34 @@ class MainWindow(QMainWindow):
self.object_combo.lineEdit().blockSignals(False)
def _load_saved_settings(self):
"""Загружает сохранённые настройки"""
cameras = self.config_service.get_cameras()
lenses = self.config_service.get_lenses()
telescopes = self.config_service.get_telescopes() # <-- добавить
celestial_bodies = self.config_service.get_celestial_bodies()
# Объединяем объективы и телескопы для выбора оптики
all_optics = []
for lens in lenses:
all_optics.append(f"🔭 {lens}")
for telescope in telescopes:
all_optics.append(f"🪐 {telescope}")
if cameras:
self.camera_combo.addItems(cameras)
last_camera = self.config_service.get_last_camera()
if last_camera and last_camera in cameras:
self.camera_combo.setCurrentText(last_camera)
if lenses:
self.lens_combo.addItems(lenses)
if all_optics:
self.lens_combo.addItems(all_optics)
last_lens = self.config_service.get_last_lens()
if last_lens and last_lens in lenses:
self.lens_combo.setCurrentText(last_lens)
if last_lens:
# Ищем последнюю использованную оптику
for opt in all_optics:
if last_lens in opt:
self.lens_combo.setCurrentText(opt)
break
if celestial_bodies:
self.object_combo.addItems(celestial_bodies)
@ -461,6 +487,13 @@ class MainWindow(QMainWindow):
camera_val = camera if camera else "Unknown"
lens_val = lens if lens else "Unknown"
optics_value = lens
if optics_value.startswith("🔭 "):
optics_value = optics_value[2:]
elif optics_value.startswith("🪐 "):
optics_value = optics_value[2:]
self.config_service.set_last_lens(optics_value)
self.session_service.start_session(watch_path, object_name, camera_val, lens_val)