/***************************************************************************
- * Copyright (C) 2005-2014 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 *
#include "ui_coreconfigwizardintropage.h"
#include "ui_coreconfigwizardadminuserpage.h"
+#include "ui_coreconfigwizardauthenticationselectionpage.h"
#include "ui_coreconfigwizardstorageselectionpage.h"
#include "ui_coreconfigwizardsyncpage.h"
enum {
IntroPage,
AdminUserPage,
+ AuthenticationSelectionPage,
StorageSelectionPage,
SyncPage,
SyncRelayPage,
ConclusionPage
};
- CoreConfigWizard(CoreConnection *connection, const QList<QVariant> &backends, QWidget *parent = 0);
+ CoreConfigWizard(CoreConnection *connection, const QList<QVariant> &backends, const QList<QVariant> &authenticators, QWidget *parent = 0);
QHash<QString, QVariant> backends() const;
+ QHash<QString, QVariant> authenticators() const;
inline CoreConnection *coreConnection() const { return _connection; }
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<QString, QVariant> _backends;
+ QHash<QString, QVariant> _authenticators;
+
CoreConfigWizardPages::SyncPage *syncPage;
CoreConfigWizardPages::SyncRelayPage *syncRelayPage;
Ui::CoreConfigWizardAdminUserPage ui;
};
+// Authentication selection before storage selection.
+class AuthenticationSelectionPage : public QWizardPage
+{
+ Q_OBJECT
+
+public:
+ AuthenticationSelectionPage(const QHash<QString, QVariant> &backends, QWidget *parent = 0);
+ int nextId() const;
+ QString selectedBackend() const;
+ QVariantMap authProperties() const;
+
+private slots:
+ void on_backendList_currentIndexChanged();
+private:
+ Ui::CoreConfigWizardAuthenticationSelectionPage ui;
+ QGroupBox *_connectionBox;
+ QHash<QString, QVariant> _backends;
+};
class StorageSelectionPage : public QWizardPage
{
QHash<QString, QVariant> _backends;
};
-
class SyncPage : public QWizardPage
{
Q_OBJECT
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;