X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fcoreconnectdlg.cpp;h=d7d52de2344cdc7db3d81c9e72d69ff2f402f39b;hp=fd4e5900b9b6439c43f1d9fa2f386a6b7fe193a4;hb=671e451cf1c10a6e3f442af82b58bfc4de0cb5a2;hpb=26c15c14a067c8709d2e04ef9d8965550dcee52d diff --git a/src/qtui/coreconnectdlg.cpp b/src/qtui/coreconnectdlg.cpp index fd4e5900..d7d52de2 100644 --- a/src/qtui/coreconnectdlg.cpp +++ b/src/qtui/coreconnectdlg.cpp @@ -28,9 +28,14 @@ #include "clientsyncer.h" #include "coreconfigwizard.h" -CoreConnectDlg::CoreConnectDlg(QWidget *parent, bool autoconnect) : QDialog(parent) { +CoreConnectDlg::CoreConnectDlg(QWidget *parent, bool autoconnect) + : QDialog(parent) +{ ui.setupUi(this); + // make it look more native under Mac OS X: + setWindowFlags(Qt::Sheet); + clientSyncer = new ClientSyncer(this); wizard = 0; @@ -47,6 +52,7 @@ CoreConnectDlg::CoreConnectDlg(QWidget *parent, bool autoconnect) : QDialog(pare foreach(AccountId id, s.knownAccounts()) { if(!id.isValid()) continue; QVariantMap data = s.retrieveAccountData(id); + data["AccountId"] = QVariant::fromValue(id); accounts[id] = data; QListWidgetItem *item = new QListWidgetItem(data["AccountName"].toString(), ui.accountList); item->setData(Qt::UserRole, QVariant::fromValue(id)); @@ -63,14 +69,13 @@ CoreConnectDlg::CoreConnectDlg(QWidget *parent, bool autoconnect) : QDialog(pare connect(clientSyncer, SIGNAL(socketStateChanged(QAbstractSocket::SocketState)),this, SLOT(initPhaseSocketState(QAbstractSocket::SocketState))); connect(clientSyncer, SIGNAL(connectionError(const QString &)), this, SLOT(initPhaseError(const QString &))); connect(clientSyncer, SIGNAL(connectionMsg(const QString &)), this, SLOT(initPhaseMsg(const QString &))); + connect(clientSyncer, SIGNAL(encrypted(bool)), this, SLOT(encrypted(bool))); connect(clientSyncer, SIGNAL(startLogin()), this, SLOT(startLogin())); connect(clientSyncer, SIGNAL(loginFailed(const QString &)), this, SLOT(loginFailed(const QString &))); connect(clientSyncer, SIGNAL(loginSuccess()), this, SLOT(startSync())); connect(clientSyncer, SIGNAL(startCoreSetup(const QVariantList &)), this, SLOT(startCoreConfig(const QVariantList &))); connect(clientSyncer, SIGNAL(sessionProgress(quint32, quint32)), this, SLOT(coreSessionProgress(quint32, quint32))); connect(clientSyncer, SIGNAL(networksProgress(quint32, quint32)), this, SLOT(coreNetworksProgress(quint32, quint32))); - connect(clientSyncer, SIGNAL(channelsProgress(quint32, quint32)), this, SLOT(coreChannelsProgress(quint32, quint32))); - connect(clientSyncer, SIGNAL(ircUsersProgress(quint32, quint32)), this, SLOT(coreIrcUsersProgress(quint32, quint32))); connect(clientSyncer, SIGNAL(syncFinished()), this, SLOT(syncFinished())); connect(ui.user, SIGNAL(textChanged(const QString &)), this, SLOT(setLoginWidgetStates())); @@ -209,6 +214,7 @@ void CoreConnectDlg::on_accountButtonBox_accepted() { /*** Phase One: initializing the core connection ***/ void CoreConnectDlg::connectToCore() { + ui.secureConnection->hide(); ui.connectIcon->setPixmap(QPixmap::fromImage(QImage(":/22x22/actions/network-disconnect"))); ui.connectLabel->setText(tr("Connect to %1").arg(accountData["Host"].toString())); ui.coreInfoLabel->setText(""); @@ -224,6 +230,7 @@ void CoreConnectDlg::connectToCore() { void CoreConnectDlg::initPhaseError(const QString &error) { doingAutoConnect = false; + ui.secureConnection->hide(); ui.connectIcon->setPixmap(QPixmap::fromImage(QImage(":/22x22/status/dialog-error"))); //ui.connectLabel->setBrush(QBrush("red")); ui.connectLabel->setText(tr("
Connection to %1 failed!
").arg(accountData["Host"].toString())); @@ -239,6 +246,13 @@ void CoreConnectDlg::initPhaseMsg(const QString &msg) { ui.coreInfoLabel->setText(msg); } +void CoreConnectDlg::encrypted(bool useSsl) { + if(useSsl) + ui.secureConnection->show(); + else + ui.secureConnection->hide(); +} + void CoreConnectDlg::initPhaseSocketState(QAbstractSocket::SocketState state) { QString s; QString host = accountData["Host"].toString(); @@ -380,10 +394,6 @@ void CoreConnectDlg::startSync() { ui.sessionProgress->setValue(0); ui.networksProgress->setRange(0, 1); ui.networksProgress->setValue(0); - ui.channelsProgress->setRange(0, 1); - ui.channelsProgress->setValue(0); - ui.ircUsersProgress->setRange(0, 1); - ui.ircUsersProgress->setValue(0); ui.stackedWidget->setCurrentWidget(ui.syncPage); // clean up old page @@ -412,31 +422,6 @@ void CoreConnectDlg::coreNetworksProgress(quint32 val, quint32 max) { } } -void CoreConnectDlg::coreChannelsProgress(quint32 val, quint32 max) { - if(max == 0) { - ui.channelsProgress->setFormat("0/0"); - ui.channelsProgress->setRange(0, 1); - ui.channelsProgress->setValue(1); - } else { - ui.channelsProgress->setFormat("%v/%m"); - ui.channelsProgress->setRange(0, max); - ui.channelsProgress->setValue(val); - } -} - -void CoreConnectDlg::coreIrcUsersProgress(quint32 val, quint32 max) { - if(max == 0) { - ui.ircUsersProgress->setFormat("0/0"); - ui.ircUsersProgress->setRange(0, 1); - ui.ircUsersProgress->setValue(1); - } else { - if(val % 100) return; - ui.ircUsersProgress->setFormat("%v/%m"); - ui.ircUsersProgress->setRange(0, max); - ui.ircUsersProgress->setValue(val); - } -} - void CoreConnectDlg::syncFinished() { if(!wizard) accept(); else { @@ -449,34 +434,35 @@ void CoreConnectDlg::syncFinished() { /***************************************************************************************** * CoreAccountEditDlg *****************************************************************************************/ - -CoreAccountEditDlg::CoreAccountEditDlg(AccountId id, const QVariantMap &acct, const QStringList &_existing, QWidget *parent) : QDialog(parent) { +CoreAccountEditDlg::CoreAccountEditDlg(AccountId id, const QVariantMap &acct, const QStringList &_existing, QWidget *parent) + : QDialog(parent) +{ ui.setupUi(this); existing = _existing; - account = acct; if(id.isValid()) { - // add new settings - if(!acct.contains("useProxy")) { - account["useProxy"] = false; - account["proxyHost"] = "localhost"; - account["proxyPort"] = 8080; - account["proxyType"] = QNetworkProxy::Socks5Proxy; - account["proxyUser"] = ""; - account["proxyPassword"] = ""; - } existing.removeAll(acct["AccountName"].toString()); ui.host->setText(acct["Host"].toString()); ui.port->setValue(acct["Port"].toUInt()); ui.useInternal->setChecked(acct["UseInternal"].toBool()); ui.accountName->setText(acct["AccountName"].toString()); - ui.useProxy->setChecked(account["useProxy"].toBool()); - ui.proxyHost->setText(account["proxyHost"].toString()); - ui.proxyPort->setValue(account["proxyPort"].toUInt()); - ui.proxyType->setCurrentIndex(account["proxyType"].toInt() == QNetworkProxy::Socks5Proxy ? 0 : 1); - ui.proxyHost->setText(account["proxyUser"].toString()); - ui.proxyHost->setText(account["proxyPassword"].toString()); +#ifndef QT_NO_OPENSSL + ui.useSsl->setChecked(acct["useSsl"].toBool()); +#else + ui.useSsl->setChecked(false); + ui.useSsl->setEnabled(false); +#endif + ui.useProxy->setChecked(acct["useProxy"].toBool()); + ui.proxyHost->setText(acct["proxyHost"].toString()); + ui.proxyPort->setValue(acct["proxyPort"].toUInt()); + ui.proxyType->setCurrentIndex(acct["proxyType"].toInt() == QNetworkProxy::Socks5Proxy ? 0 : 1); + ui.proxyUser->setText(acct["proxyUser"].toString()); + ui.proxyPassword->setText(acct["proxyPassword"].toString()); } else { setWindowTitle(tr("Add Core Account")); +#ifdef QT_NO_OPENSSL + ui.useSsl->setChecked(false); + ui.useSsl->setEnabled(false); +#endif } } @@ -485,6 +471,7 @@ QVariantMap CoreAccountEditDlg::accountData() { account["Host"] = ui.host->text().trimmed(); account["Port"] = ui.port->value(); account["UseInternal"] = ui.useInternal->isChecked(); + account["useSsl"] = ui.useSsl->isChecked(); account["useProxy"] = ui.useProxy->isChecked(); account["proxyHost"] = ui.proxyHost->text().trimmed(); account["proxyPort"] = ui.proxyPort->value();