File indexing completed on 2024-04-14 14:11:16

0001 /*
0002     SPDX-FileCopyrightText: 2011 Rafał Kułaga <rl.kulaga@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "pwizfovsh.h"
0008 
0009 #include "kstars.h"
0010 #include "kstarsdata.h"
0011 #include "pwizobjectselection.h"
0012 #include "printingwizard.h"
0013 #include "dialogs/finddialog.h"
0014 #include "dialogs/detaildialog.h"
0015 
0016 #include <QPointer>
0017 
0018 PWizFovShUI::PWizFovShUI(PrintingWizard *wizard, QWidget *parent) : QFrame(parent), m_ParentWizard(wizard)
0019 {
0020     setupUi(this);
0021 
0022     setupWidgets();
0023     setupConnections();
0024 }
0025 
0026 void PWizFovShUI::setBeginObject(SkyObject *obj)
0027 {
0028     m_ParentWizard->setShBeginObject(obj);
0029     objInfoLabel->setText(PWizObjectSelectionUI::objectInfoString(obj));
0030     objInfoLabel->setVisible(true);
0031     detailsButton->setVisible(true);
0032     captureButton->setEnabled(true);
0033 }
0034 
0035 void PWizFovShUI::slotSelectFromList()
0036 {
0037     if (FindDialog::Instance()->exec() == QDialog::Accepted)
0038     {
0039         SkyObject *obj = FindDialog::Instance()->targetObject();
0040         if (obj)
0041         {
0042             setBeginObject(obj);
0043         }
0044     }
0045 }
0046 
0047 void PWizFovShUI::slotPointObject()
0048 {
0049     m_ParentWizard->beginShBeginPointing();
0050 }
0051 
0052 void PWizFovShUI::slotDetails()
0053 {
0054     if (m_ParentWizard->getShBeginObject())
0055     {
0056         QPointer<DetailDialog> detailDlg(new DetailDialog(m_ParentWizard->getShBeginObject(),
0057                                                           KStars::Instance()->data()->ut(),
0058                                                           KStars::Instance()->data()->geo(), this));
0059         detailDlg->exec();
0060         delete detailDlg;
0061     }
0062 }
0063 
0064 void PWizFovShUI::slotBeginCapture()
0065 {
0066     m_ParentWizard->beginShFovCapture();
0067 }
0068 
0069 void PWizFovShUI::setupWidgets()
0070 {
0071     QStringList fovNames;
0072     foreach (FOV *fov, KStarsData::Instance()->getAvailableFOVs())
0073     {
0074         fovNames.append(fov->name());
0075     }
0076     fovCombo->addItems(fovNames);
0077 
0078     objInfoLabel->setVisible(false);
0079     detailsButton->setVisible(false);
0080     captureButton->setEnabled(false);
0081 }
0082 
0083 void PWizFovShUI::setupConnections()
0084 {
0085     connect(selectFromListButton, SIGNAL(clicked()), this, SLOT(slotSelectFromList()));
0086     connect(pointButton, SIGNAL(clicked()), this, SLOT(slotPointObject()));
0087     connect(captureButton, SIGNAL(clicked()), this, SLOT(slotBeginCapture()));
0088     connect(detailsButton, SIGNAL(clicked()), this, SLOT(slotDetails()));
0089 }