""" InstructionsDialog - диалог с инструкцией по использованию """ from PySide6.QtWidgets import ( QDialog, QVBoxLayout, QHBoxLayout, QLabel, QTextEdit, QPushButton, QScrollArea ) from PySide6.QtCore import Qt from PySide6.QtGui import QFont class InstructionsDialog(QDialog): """Диалог с подробной инструкцией пользователя""" def __init__(self, parent): super().__init__(parent) self.setWindowTitle("Инструкция по использованию") self.setMinimumSize(700, 500) self.resize(750, 550) self._create_ui() def _create_ui(self): """Создаёт интерфейс диалога""" layout = QVBoxLayout(self) layout.setSpacing(10) layout.setContentsMargins(15, 15, 15, 15) # Заголовок title_label = QLabel("Astro Session Watcher - Руководство пользователя") title_font = QFont() title_font.setPointSize(16) title_font.setBold(True) title_label.setFont(title_font) title_label.setAlignment(Qt.AlignCenter) layout.addWidget(title_label) # Текст инструкции text_edit = QTextEdit() text_edit.setReadOnly(True) text_edit.setFont(QFont("Consolas", 10)) instructions = """ ======================= ASTRO SESSION WATCHER ======================= Приложение автоматически отслеживает появление новых фотографий в указанной папке, сортирует их по объектам съемки и ведет подробный лог всего процесса. 📸 ДЛЯ ЧЕГО ЭТО НУЖНО? ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Когда вы снимаете астрономические объекты через EOS Utility или аналогичное ПО, все фотографии сохраняются в одну папку. Astro Session Watcher помогает: • Автоматически распределять снимки по папкам объектов • Вести лог каждой сессии • Не пропустить ни одного кадра при смене объекта • Хранить историю оборудования и небесных тел 🚀 КАК ЭТО РАБОТАЕТ? ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1. Вы выбираете папку, куда камера сохраняет снимки 2. Приложение создает папку сессии: "AstroSession_ГГГГ-ММ-ДД" 3. Каждый объект съемки получает свою подпапку внутри папки сессии 4. Когда вы меняете объект (нажимаете "Новая цель"), все накопленные в папке наблюдения файлы автоматически ПЕРЕМЕЩАЮТСЯ в папку предыдущего объекта 5. При завершении сессии оставшиеся файлы также перемещаются в папку последнего объекта 📝 ПОШАГОВАЯ ИНСТРУКЦИЯ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ █ 1. ПЕРВЫЙ ЗАПУСК (НАСТРОЙКА) ─────────────────────────────────────────────────────────────────────────────── • Откройте меню "Файл" → "Оборудование" и добавьте ваши камеры и объективы • Откройте меню "Файл" → "Небесные тела" и добавьте объекты для наблюдения • Все данные сохраняются автоматически в файлах настроек █ 2. ЗАПУСК СЕССИИ ─────────────────────────────────────────────────────────────────────────────── 1. Нажмите "Обзор" и выберите папку, куда камера сохраняет снимки 2. Выберите камеру и объектив из выпадающих списков 3. Введите название цели (или выберите из списка небесных тел) 4. Нажмите ▶ "Начать отслеживание" ✅ После запуска: • Статус изменится на "● ON AIR" с мигающим красным текстом • Кнопка "Новая цель" начнет мигать красным контуром • В папке наблюдения создастся папка "AstroSession_дата" • Внутри - папка с вашей первой целью █ 3. СМЕНА ОБЪЕКТА ВО ВРЕМЯ СЕССИИ ─────────────────────────────────────────────────────────────────────────────── Когда вы заканчиваете снимать один объект и переходите к другому: 1. Нажмите кнопку "Новая цель" (или Ctrl+Shift+N) 2. Введите название нового объекта 3. Приложение автоматически: • Переместит все накопленные файлы в папку предыдущего объекта • Создаст новую папку для следующего объекта • Сбросит счетчик файлов • Продолжит отслеживание 💡 ВАЖНО: Если перед сменой объекта в папке наблюдения уже есть файлы, они НЕ ПОТЕРЯЮТСЯ - все будут перемещены в папку текущего объекта! █ 4. ЗАВЕРШЕНИЕ СЕССИИ ─────────────────────────────────────────────────────────────────────────────── 1. Нажмите ■ "Остановить" (или Ctrl+X) 2. Приложение: • Переместит все оставшиеся файлы в папку последнего объекта • Запишет итоговый лог сессии • Покажет диалог с предложением открыть папку сессии • Восстановит интерфейс для новой сессии ⌨️ ГОРЯЧИЕ КЛАВИШИ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Ctrl + O → Выбрать папку наблюдения Ctrl + E → Управление оборудованием Ctrl + B → Управление небесными телами Ctrl + S → Начать сессию Ctrl + X → Остановить сессию Ctrl + F → Открыть папку текущей сессии Ctrl + Shift+N → Создать новый объект F1 → О программе F2 → Эта инструкция 🔧 ФАЙЛЫ НАСТРОЕК ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📄 astro_settings.json ← камеры, объективы, последняя папка 📄 celestial_bodies.json ← список небесных тел Все файлы хранятся в папке с программой. Вы можете редактировать их вручную. 📧 ТЕХНИЧЕСКАЯ ПОДДЕРЖКА ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Разработчик: Vic Sergeev Версия: 0.3.0-alpha При обнаружении ошибок или для предложений по улучшению: • Сообщите разработчику • Приложите файлы логов (SessionLog.txt, ObjectLog.txt) """ text_edit.setText(instructions) layout.addWidget(text_edit) # Кнопка закрытия close_layout = QHBoxLayout() close_layout.addStretch() close_btn = QPushButton("Закрыть") close_btn.clicked.connect(self.accept) close_layout.addWidget(close_btn) layout.addLayout(close_layout)