1 /* 2 SPDX-FileCopyrightText: 2003 Jasem Mutlaq <mutlaqja@ikarustech.com> 3 4 SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 #pragma once 8 9 #include "ui_telescopewizard.h" 10 #include "indi/indistd.h" 11 12 #include <QHash> 13 #include <QStringList> 14 15 #include <memory> 16 17 class DriverInfo; 18 19 class QProgressDialog; 20 21 class telescopeWizardProcess : public QDialog 22 { 23 Q_OBJECT 24 25 public: 26 explicit telescopeWizardProcess(QWidget *parent = nullptr); 27 ~telescopeWizardProcess(); 28 29 unsigned int currentPage; 30 enum 31 { 32 INTRO_P = 0, 33 MODEL_P = 1, 34 TELESCOPE_P = 2, 35 LOCAL_P = 3, 36 PORT_P = 4 37 }; 38 39 private: 40 void establishLink(); 41 void Reset(); 42 43 public slots: 44 void cancelCheck(); 45 void processNext(); 46 void processBack(); 47 void newTime(); 48 void newLocation(); 49 void processTelescope(ISD::GDInterface *); 50 void scanPorts(); 51 void linkSuccess(); 52 53 private: 54 std::unique_ptr<Ui::telescopeWizard> ui; 55 ISD::GDInterface *scopeDevice { nullptr }; 56 QProgressDialog *progressScan { nullptr }; 57 QStringList portList; 58 int currentPort { -1 }; 59 bool INDIMessageBar { false }; 60 bool linkRejected { false }; 61 QHash<QString, DriverInfo *> driversList; 62 QList<DriverInfo *> managedDevice; 63 }; 64