X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fcoreconnectdlg.h;h=5a061d8423d92604c3c5774dbde21ee3baac42ec;hp=70cab9a759a513ffc400dbd4426af6e0a8fe626a;hb=a95ad2de573027f9bee36db972bcae4195168d0c;hpb=5910ce5b98f8752002a6a26199eac9a3c10cb9e7 diff --git a/src/qtui/coreconnectdlg.h b/src/qtui/coreconnectdlg.h index 70cab9a7..5a061d84 100644 --- a/src/qtui/coreconnectdlg.h +++ b/src/qtui/coreconnectdlg.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-09 by the Quassel Project * + * Copyright (C) 2005-2020 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,134 +15,49 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #ifndef CORECONNECTDLG_H #define CORECONNECTDLG_H -#include +#include -#include "types.h" +#include "coreaccount.h" -#include "ui_coreconnectdlg.h" -#include "ui_coreaccounteditdlg.h" +#include "ui_coreconnectauthdlg.h" -class ClientSyncer; -class CoreConfigWizard; +class CoreAccountSettingsPage; -class CoreConnectDlg : public QDialog { - Q_OBJECT +class CoreConnectDlg : public QDialog +{ + Q_OBJECT public: - CoreConnectDlg(bool = false, QWidget *parent = 0); - ~CoreConnectDlg(); + CoreConnectDlg(QWidget* parent = nullptr); + AccountId selectedAccount() const; -// signals: -// void newClientSyncer(ClientSyncer *); - -private slots: - /*** Phase Null: Accounts ***/ - void restartPhaseNull(); - - void on_accountList_itemSelectionChanged(); - void on_autoConnect_clicked(bool); - - void on_addAccount_clicked(); - void on_editAccount_clicked(); - void on_deleteAccount_clicked(); - void on_useInternalCore_clicked(); - void on_viewSslCertButton_clicked(); - void on_ignoreWarningsButton_clicked(); - - void on_accountList_itemDoubleClicked(QListWidgetItem *item); - void on_accountButtonBox_accepted(); - - void setAccountWidgetStates(); - - /*** Phase One: Connection ***/ - void connectToCore(); - - void initPhaseError(const QString &error); - void initPhaseWarnings(const QStringList &warnings); - void initPhaseMsg(const QString &msg); - void initPhaseSocketState(QAbstractSocket::SocketState); - - /*** Phase Two: Login ***/ - void startLogin(); - void doLogin(); - void doLogin(const QVariantMap &loginData); - void loginFailed(const QString &); - void startCoreConfig(const QVariantList &backends); - void configWizardAccepted(); - void configWizardRejected(); - void on_launchCoreConfigWizard_clicked(); - - void setLoginWidgetStates(); - - /*** Phase Three: Sync ***/ - void startSync(); - void syncFinished(); - - void coreSessionProgress(quint32, quint32); - void coreNetworksProgress(quint32, quint32); + void accept() override; private: - AccountId findFreeAccountId(); - - Ui::CoreConnectDlg ui; - - AccountId autoConnectAccount; - QHash accounts; - AccountId _internalAccountId; - QVariantMap accountData; - AccountId account; - - bool doingAutoConnect; - - QVariantList storageBackends; - - ClientSyncer *clientSyncer; - CoreConfigWizard *wizard; + CoreAccountSettingsPage* _settingsPage; }; - -// ======================================== -// CoreAccountEditDlg -// ======================================== -class CoreAccountEditDlg : public QDialog { - Q_OBJECT +class CoreConnectAuthDlg : public QDialog +{ + Q_OBJECT public: - CoreAccountEditDlg(AccountId id, const QVariantMap &data, const QStringList &existing = QStringList(), QWidget *parent = 0); + CoreConnectAuthDlg(CoreAccount* account, QWidget* parent = nullptr); - QVariantMap accountData(); + void accept() override; private slots: - void on_host_textChanged(const QString &); - void on_accountName_textChanged(const QString &); - - void setWidgetStates(); + void setButtonStates(); private: - Ui::CoreAccountEditDlg ui; - - QStringList existing; - QVariantMap account; -}; - -// ======================================== -// SslCertDisplayDialog -// ======================================== -#ifdef HAVE_SSL -class QSslCertificate; - -class SslCertDisplayDialog : public QDialog { - Q_OBJECT - -public: - SslCertDisplayDialog(const QString &host, const QSslCertificate &cert, QWidget *parent = 0); + Ui::CoreConnectAuthDlg ui; + CoreAccount* _account; }; -#endif // HAVE_SSL -#endif // CORECONNECTDLG_H +#endif