X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fcoreconfigwizard.h;h=da4a30c18a89d23ad5b903a272f172ca188b1b89;hp=60691a79de3b44a555baf0e845b45504d22f2748;hb=39328183a6a87c6eb10a9dbbffcd5d65bf154a1f;hpb=61aac1868f15babb7086d8bc6bbcff530346f438 diff --git a/src/qtui/coreconfigwizard.h b/src/qtui/coreconfigwizard.h index 60691a79..da4a30c1 100644 --- a/src/qtui/coreconfigwizard.h +++ b/src/qtui/coreconfigwizard.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2016 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,10 +18,11 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef _CORECONFIGWIZARD_H_ -#define _CORECONFIGWIZARD_H_ +#pragma once + +#include +#include -#include #include #include @@ -34,9 +35,11 @@ class CoreConnection; namespace CoreConfigWizardPages { + class SyncPage; class SyncRelayPage; -}; + +} class CoreConfigWizard : public QWizard { @@ -54,9 +57,7 @@ public: ConclusionPage }; - CoreConfigWizard(CoreConnection *connection, const QList &backends, const QList &authenticators, QWidget *parent = 0); - QHash backends() const; - QHash authenticators() const; + CoreConfigWizard(CoreConnection *connection, const QVariantList &backendInfos, const QVariantList &authInfos, QWidget *parent = nullptr); inline CoreConnection *coreConnection() const { return _connection; } @@ -65,19 +66,15 @@ signals: void loginToCore(const QString &user, const QString &password, bool rememberPassword); public slots: - void loginSuccess(); void syncFinished(); private slots: - void prepareCoreSetup(const QString &backend, const QVariantMap &properties, const QString &authBackend, const QVariantMap &authProperties); + void prepareCoreSetup(const QString &backend, const QVariantMap &properties, const QString &authenticator, const QVariantMap &authProperties); void coreSetupSuccess(); void coreSetupFailed(const QString &); void startOver(); private: - QHash _backends; - QHash _authenticators; - CoreConfigWizardPages::SyncPage *syncPage; CoreConfigWizardPages::SyncRelayPage *syncRelayPage; @@ -86,12 +83,13 @@ private: namespace CoreConfigWizardPages { + class IntroPage : public QWizardPage { Q_OBJECT public: - IntroPage(QWidget *parent = 0); + IntroPage(QWidget *parent = nullptr); int nextId() const; private: Ui::CoreConfigWizardIntroPage ui; @@ -103,56 +101,64 @@ class AdminUserPage : public QWizardPage Q_OBJECT public: - AdminUserPage(QWidget *parent = 0); + AdminUserPage(QWidget *parent = nullptr); int nextId() const; bool isComplete() const; private: Ui::CoreConfigWizardAdminUserPage ui; }; -// Authentication selection before storage selection. + class AuthenticationSelectionPage : public QWizardPage { Q_OBJECT + using FieldInfo = std::tuple; public: - AuthenticationSelectionPage(const QHash &backends, QWidget *parent = 0); + AuthenticationSelectionPage(const QVariantList &authInfos, QWidget *parent = nullptr); int nextId() const; - QString selectedBackend() const; - QVariantMap connectionProperties() const; - + QString displayName() const; + QString authenticator() const; + QVariantMap authProperties() const; + private slots: - void on_backendList_currentIndexChanged(); + void on_backendList_currentIndexChanged(int index); + private: Ui::CoreConfigWizardAuthenticationSelectionPage ui; - QGroupBox *_connectionBox; - QHash _backends; + std::vector _authProperties; + std::vector> _authFields; }; + class StorageSelectionPage : public QWizardPage { Q_OBJECT + using FieldInfo = std::tuple; public: - StorageSelectionPage(const QHash &backends, QWidget *parent = 0); + StorageSelectionPage(const QVariantList &backendInfos, QWidget *parent = nullptr); int nextId() const; - QString selectedBackend() const; - QVariantMap connectionProperties() const; + QString displayName() const; + QString backend() const; + QVariantMap backendProperties() const; private slots: - void on_backendList_currentIndexChanged(); + void on_backendList_currentIndexChanged(int index); + private: Ui::CoreConfigWizardStorageSelectionPage ui; - QGroupBox *_connectionBox; - QHash _backends; + std::vector _backendProperties; + std::vector> _backendFields; }; + class SyncPage : public QWizardPage { Q_OBJECT public: - SyncPage(QWidget *parent = 0); + SyncPage(QWidget *parent = nullptr); void initializePage(); int nextId() const; bool isComplete() const; @@ -167,8 +173,8 @@ signals: private: Ui::CoreConfigWizardSyncPage ui; - bool complete; - bool hasError; + bool _complete {false}; + bool _hasError {false}; }; @@ -177,7 +183,7 @@ class SyncRelayPage : public QWizardPage Q_OBJECT public: - SyncRelayPage(QWidget *parent = 0); + SyncRelayPage(QWidget *parent = nullptr); int nextId() const; enum Mode { Success, Error }; @@ -190,6 +196,5 @@ signals: private: Mode mode; }; -} -#endif +}