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 }