Astro-Session-Watcher/ui/dialogs/instructions_dialog.py
2026-05-07 17:15:56 +03:00

164 lines
No EOL
9.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
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)