X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fcoreconfigwizard.h;h=b22fd19cc2c4684a78f56e44a9a3cab1ee2724c3;hp=bed887bd880ebab222ae8f63426e66e5996379f3;hb=258d157a228d2b2b46b01d3b33ab932b9979436a;hpb=4a5065255e652dd0c301bac0db41b7afb777ef49 diff --git a/src/qtui/coreconfigwizard.h b/src/qtui/coreconfigwizard.h index bed887bd..b22fd19c 100644 --- a/src/qtui/coreconfigwizard.h +++ b/src/qtui/coreconfigwizard.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -27,6 +27,7 @@ #include "ui_coreconfigwizardintropage.h" #include "ui_coreconfigwizardadminuserpage.h" +#include "ui_coreconfigwizardauthenticationselectionpage.h" #include "ui_coreconfigwizardstorageselectionpage.h" #include "ui_coreconfigwizardsyncpage.h" @@ -45,6 +46,7 @@ public: enum { IntroPage, AdminUserPage, + AuthenticationSelectionPage, StorageSelectionPage, SyncPage, SyncRelayPage, @@ -52,8 +54,9 @@ public: ConclusionPage }; - CoreConfigWizard(CoreConnection *connection, const QList &backends, QWidget *parent = 0); + CoreConfigWizard(CoreConnection *connection, const QList &backends, const QList &authenticators, QWidget *parent = 0); QHash backends() const; + QHash authenticators() const; inline CoreConnection *coreConnection() const { return _connection; } @@ -66,13 +69,15 @@ public slots: void syncFinished(); private slots: - void prepareCoreSetup(const QString &backend, const QVariantMap &connectionProperties); + 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; @@ -105,6 +110,24 @@ private: Ui::CoreConfigWizardAdminUserPage ui; }; +// Authentication selection before storage selection. +class AuthenticationSelectionPage : public QWizardPage +{ + Q_OBJECT + +public: + AuthenticationSelectionPage(const QHash &backends, QWidget *parent = 0); + int nextId() const; + QString selectedBackend() const; + QVariantMap connectionProperties() const; + +private slots: + void on_backendList_currentIndexChanged(); +private: + Ui::CoreConfigWizardAuthenticationSelectionPage ui; + QGroupBox *_connectionBox; + QHash _backends; +}; class StorageSelectionPage : public QWizardPage { @@ -124,7 +147,6 @@ private: QHash _backends; }; - class SyncPage : public QWizardPage { Q_OBJECT @@ -141,7 +163,7 @@ public slots: void setComplete(bool); signals: - void setupCore(const QString &backend, const QVariantMap &); + void setupCore(const QString &backend, const QVariantMap &, const QString &authenticator, const QVariantMap &); private: Ui::CoreConfigWizardSyncPage ui;