2022-08-06 21:08:55 +02:00
|
|
|
#ifndef SETTINGS_WIZARD_H
|
|
|
|
#define SETTINGS_WIZARD_H
|
|
|
|
|
|
|
|
#include "../global.h"
|
|
|
|
|
|
|
|
#include <QWizard>
|
|
|
|
#include <QWizardPage>
|
|
|
|
|
2022-08-23 18:19:47 +02:00
|
|
|
#include <memory>
|
2022-08-23 12:31:43 +02:00
|
|
|
|
2022-08-22 23:48:18 +02:00
|
|
|
QT_FORWARD_DECLARE_CLASS(QLabel)
|
|
|
|
|
2022-08-06 21:08:55 +02:00
|
|
|
namespace QtGui {
|
|
|
|
|
2022-08-23 18:19:47 +02:00
|
|
|
class SetupDetection;
|
2022-08-22 23:48:18 +02:00
|
|
|
|
2022-08-06 21:08:55 +02:00
|
|
|
class SYNCTHINGWIDGETS_EXPORT Wizard : public QWizard {
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
explicit Wizard(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
|
|
|
|
~Wizard() override;
|
|
|
|
|
|
|
|
static Wizard *instance();
|
2022-08-23 18:19:47 +02:00
|
|
|
SetupDetection &setupDetection();
|
2022-08-06 21:08:55 +02:00
|
|
|
|
|
|
|
Q_SIGNALS:
|
|
|
|
void settingsRequested();
|
|
|
|
|
|
|
|
private:
|
|
|
|
static Wizard *s_instance;
|
2022-08-23 18:19:47 +02:00
|
|
|
std::unique_ptr<SetupDetection> m_setupDetection;
|
2022-08-06 21:08:55 +02:00
|
|
|
};
|
|
|
|
|
2022-08-22 23:48:18 +02:00
|
|
|
class SYNCTHINGWIDGETS_EXPORT WelcomeWizardPage final : public QWizardPage {
|
2022-08-06 21:08:55 +02:00
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
explicit WelcomeWizardPage(QWidget *parent = nullptr);
|
|
|
|
|
|
|
|
bool isComplete() const override;
|
|
|
|
};
|
|
|
|
|
2022-08-22 23:48:18 +02:00
|
|
|
class SYNCTHINGWIDGETS_EXPORT DetectionWizardPage final : public QWizardPage {
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
explicit DetectionWizardPage(QWidget *parent = nullptr);
|
|
|
|
|
|
|
|
bool isComplete() const override;
|
|
|
|
void initializePage() override;
|
|
|
|
void cleanupPage() override;
|
|
|
|
|
2022-08-23 18:19:47 +02:00
|
|
|
public Q_SLOTS:
|
|
|
|
void refresh();
|
|
|
|
|
2022-08-22 23:48:18 +02:00
|
|
|
private Q_SLOTS:
|
|
|
|
void tryToConnect();
|
2022-08-23 18:19:47 +02:00
|
|
|
void continueIfDone();
|
|
|
|
|
|
|
|
private:
|
|
|
|
SetupDetection *m_setupDetection;
|
|
|
|
};
|
|
|
|
|
|
|
|
class SYNCTHINGWIDGETS_EXPORT MainConfigWizardPage final : public QWizardPage {
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
explicit MainConfigWizardPage(QWidget *parent = nullptr);
|
|
|
|
|
|
|
|
bool isComplete() const override;
|
|
|
|
void initializePage() override;
|
|
|
|
void cleanupPage() override;
|
|
|
|
|
|
|
|
Q_SIGNALS:
|
|
|
|
void retry();
|
2022-08-22 23:48:18 +02:00
|
|
|
|
|
|
|
private:
|
2022-08-23 18:19:47 +02:00
|
|
|
QLabel *m_detailsLabel;
|
2022-08-22 23:48:18 +02:00
|
|
|
};
|
|
|
|
|
2022-08-06 21:08:55 +02:00
|
|
|
} // namespace QtGui
|
|
|
|
|
|
|
|
#endif // SETTINGS_WIZARD_H
|