X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtui%2Fcoreconnectdlg.cpp;h=d61a021108e8e4faf2df65574956f0dae6a4d5a3;hb=0d49f7e83bd1055711e66aa880f3a0d62f7eefc9;hp=7490cb41f514f9fbbd91fc8e207f99a69f61f0be;hpb=2ccedbc06565f046269493baf4b113bcad9f940a;p=quassel.git diff --git a/src/qtui/coreconnectdlg.cpp b/src/qtui/coreconnectdlg.cpp index 7490cb41..d61a0211 100644 --- a/src/qtui/coreconnectdlg.cpp +++ b/src/qtui/coreconnectdlg.cpp @@ -24,22 +24,30 @@ #include "coreconnectdlg.h" +#include "client.h" #include "clientsettings.h" #include "clientsyncer.h" #include "coreconfigwizard.h" +#include "iconloader.h" -CoreConnectDlg::CoreConnectDlg(QWidget *parent, bool autoconnect) +CoreConnectDlg::CoreConnectDlg(bool autoconnect, QWidget *parent) : QDialog(parent) { ui.setupUi(this); + ui.editAccount->setIcon(SmallIcon("document-properties")); + ui.addAccount->setIcon(SmallIcon("list-add")); + ui.deleteAccount->setIcon(SmallIcon("list-remove")); + ui.connectIcon->setPixmap(BarIcon("network-disconnect")); + ui.secureConnection->setPixmap(SmallIcon("document-encrypt")); // make it look more native under Mac OS X: setWindowFlags(Qt::Sheet); clientSyncer = new ClientSyncer(this); - wizard = 0; + connect(this, SIGNAL(newClientSyncer(ClientSyncer *)), Client::instance(), SIGNAL(newClientSyncer(ClientSyncer *))); + emit newClientSyncer(clientSyncer); // announce the new client syncer via the client. - setAttribute(Qt::WA_DeleteOnClose); + wizard = 0; doingAutoConnect = false; @@ -76,8 +84,6 @@ CoreConnectDlg::CoreConnectDlg(QWidget *parent, bool autoconnect) 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 +215,18 @@ void CoreConnectDlg::on_accountButtonBox_accepted() { connectToCore(); } +void CoreConnectDlg::on_useInternalCore_clicked() { +// // FIXME: this needs to be a qobject_cast - therefore MonolithicApplication needs to be a proper QObject... :/ +// MonolithicApplication *monoApp = qobject_cast(QApplication::instance()); +// if(monoApp) { +// qDebug() << "starting core..."; +// monoApp->startInternalCore(); +// monoApp->connectClientSyncer(clientSyncer); +// } + clientSyncer->useInternalCore(); + startSync(); +} + /***************************************************** * Connecting to the Core ****************************************************/ @@ -217,7 +235,7 @@ void CoreConnectDlg::on_accountButtonBox_accepted() { void CoreConnectDlg::connectToCore() { ui.secureConnection->hide(); - ui.connectIcon->setPixmap(QPixmap::fromImage(QImage(":/22x22/actions/network-disconnect"))); + ui.connectIcon->setPixmap(BarIcon("network-disconnect")); ui.connectLabel->setText(tr("Connect to %1").arg(accountData["Host"].toString())); ui.coreInfoLabel->setText(""); ui.loginStack->setCurrentWidget(ui.loginEmptyPage); @@ -233,7 +251,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.connectIcon->setPixmap(BarIcon("dialog-error")); //ui.connectLabel->setBrush(QBrush("red")); ui.connectLabel->setText(tr("
Connection to %1 failed!
").arg(accountData["Host"].toString())); ui.coreInfoLabel->setText(error); @@ -279,7 +297,7 @@ void CoreConnectDlg::restartPhaseNull() { *********************************************************/ void CoreConnectDlg::startLogin() { - ui.connectIcon->setPixmap(QPixmap::fromImage(QImage(":/22x22/actions/network-connect"))); + ui.connectIcon->setPixmap(BarIcon("network-connect")); ui.loginStack->setCurrentWidget(ui.loginCredentialsPage); //ui.loginStack->setMinimumSize(ui.loginStack->sizeHint()); ui.loginStack->updateGeometry(); ui.loginButtonBox->setStandardButtons(QDialogButtonBox::Ok|QDialogButtonBox::Cancel); @@ -340,6 +358,7 @@ void CoreConnectDlg::loginFailed(const QString &error) { if(wizard) { wizard->reject(); } + ui.connectIcon->setPixmap(BarIcon("dialog-error")); ui.loginStack->setCurrentWidget(ui.loginCredentialsPage); ui.loginGroup->setTitle(tr("Login")); ui.user->setEnabled(true); @@ -396,10 +415,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 @@ -428,31 +443,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 { @@ -469,6 +459,8 @@ CoreAccountEditDlg::CoreAccountEditDlg(AccountId id, const QVariantMap &acct, co : QDialog(parent) { ui.setupUi(this); + ui.useSsl->setIcon(SmallIcon("document-encrypt")); + existing = _existing; if(id.isValid()) { existing.removeAll(acct["AccountName"].toString()); @@ -476,7 +468,7 @@ CoreAccountEditDlg::CoreAccountEditDlg(AccountId id, const QVariantMap &acct, co ui.port->setValue(acct["Port"].toUInt()); ui.useInternal->setChecked(acct["UseInternal"].toBool()); ui.accountName->setText(acct["AccountName"].toString()); -#ifndef QT_NO_OPENSSL +#ifdef HAVE_SSL ui.useSsl->setChecked(acct["useSsl"].toBool()); #else ui.useSsl->setChecked(false); @@ -490,11 +482,19 @@ CoreAccountEditDlg::CoreAccountEditDlg(AccountId id, const QVariantMap &acct, co ui.proxyPassword->setText(acct["proxyPassword"].toString()); } else { setWindowTitle(tr("Add Core Account")); -#ifdef QT_NO_OPENSSL +#ifndef HAVE_SSL ui.useSsl->setChecked(false); ui.useSsl->setEnabled(false); #endif } + +#ifndef BUILD_MONO + // if we don't have a mono build we hide the option to use the internal connection and force the setting to use remote host + ui.useInternal->setChecked(false); + ui.useInternal->hide(); + ui.useRemote->hide(); + ui.labelUseBuiltinCore->hide(); +#endif } QVariantMap CoreAccountEditDlg::accountData() {