1 /* 2 SPDX-FileCopyrightText: 2013 Samikshan Bairagya <samikshan@gmail.com> 3 4 SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 #pragma once 8 9 #include "ui_wiequipsettings.h" 10 #include "obsconditions.h" 11 #include "oal/scope.h" 12 13 #define INVALID_APERTURE -1 14 15 /** 16 * @class WIEquipSettings 17 * @brief User interface for "Equipment Type and Parameters" page in WI settings dialog 18 * 19 * @author Samikshan Bairagya 20 * @author Jasem Mutlaq 21 * @version 1.1 22 */ 23 class WIEquipSettings : public QFrame, public Ui::WIEquipSettings 24 { 25 Q_OBJECT 26 27 public: 28 /** @enum ScopeItemRoles User-defined roles for scope item */ 29 enum ScopeItemRoles 30 { 31 Vendor = Qt::UserRole + 4, 32 Model, 33 Aperture, 34 FocalLength, 35 Type 36 }; 37 38 WIEquipSettings(); 39 40 /** Inline method to return aperture */ getAperture()41 inline double getAperture() { return m_Aperture; } 42 43 /** Set aperture to use */ 44 void setAperture(); 45 46 /** Inline method to return telescope type */ getTelType()47 inline ObsConditions::TelescopeType getTelType() { return m_TelType; } 48 49 /** Populates scope list widget in UI with list of telescopes from KStars userdb. */ 50 void populateScopeListWidget(); 51 52 private: 53 QList<OAL::Scope *> m_ScopeList; 54 /// Aperture of equipment to use 55 double m_Aperture { 0 }; 56 /// Telescope type 57 ObsConditions::TelescopeType m_TelType { ObsConditions::Invalid }; 58 59 private slots: 60 /** Private slot - Equipment type selected - Telescope */ 61 void slotTelescopeCheck(bool on); 62 63 /** Private slot - Equipment type selected - Binoculars */ 64 void slotBinocularsCheck(bool on); 65 66 /** Private slot - Telescope selected from KStars userdb */ 67 void slotScopeSelected(int row); 68 69 /** Private slot - Add new telescope to KStars userdb */ 70 void slotAddNewScope(); 71 }; 72