1 /* 2 SPDX-FileCopyrightText: 2017 Jasem Mutlaq <mutlaqja@ikarustech.com> 3 4 SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 #ifndef PROFILEWIZARD_H 8 #define PROFILEWIZARD_H 9 10 #include "ui_profilewizard.h" 11 12 #include <QProgressDialog> 13 #include <QHostInfo> 14 #include <QPointer> 15 16 namespace Ekos 17 { 18 class Manager; 19 } 20 21 class ProfileWizard : public QDialog, public Ui::ProfileWizard 22 { 23 Q_OBJECT 24 25 public: 26 enum 27 { 28 INTRO, 29 EQUIPMENT_LOCATION, 30 REMOTE_EQUIPMENT_SELECTION, 31 GENERIC_EQUIPMENT, 32 PI_EQUIPMENT, 33 WINDOWS_LOCAL, 34 MAC_LOCAL, 35 CREATE_PROFILE 36 }; 37 typedef enum { INTERNAL_GUIDER, PHD2_GUIDER, LIN_GUIDER } GuiderType; 38 39 ProfileWizard(); 40 41 QStringList selectedAuxDrivers(); 42 int selectedExternalGuider(); 43 44 protected slots: 45 void reset(); 46 void processLocalEquipment(); 47 void processRemoteEquipmentSelection(); 48 void processRemoteEquipment(); 49 void processPiEquipment(); 50 void processLocalMac(); 51 void createProfile(); 52 void detectStellarMate(); 53 void processHostInfo(QHostInfo info); 54 void detectStellarMateTimeout(); 55 56 private: 57 bool useInternalServer = true; 58 bool useWebManager = false; 59 bool useJoystick = false; 60 bool useRemoteAstrometry = false; 61 bool useWatchDog = false; 62 bool useSkySafari = false; 63 GuiderType useGuiderType = INTERNAL_GUIDER; 64 65 QString profileName, host, port; 66 QPointer<QProgressDialog> stellarMateDetectDialog; 67 68 friend class Ekos::Manager; 69 }; 70 71 #endif 72