X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fidentitiessettingspage.cpp;h=788df96da5579249c9f7b48722caf27a5790fdca;hp=fa7bba48c9368afd608a98ef3d072f206ed17180;hb=1adc00219ba072da57994764d086beed8ffb7bb4;hpb=061528786d1dac1d1bf4904c86b71d95270dfd37 diff --git a/src/qtui/settingspages/identitiessettingspage.cpp b/src/qtui/settingspages/identitiessettingspage.cpp index fa7bba48..788df96d 100644 --- a/src/qtui/settingspages/identitiessettingspage.cpp +++ b/src/qtui/settingspages/identitiessettingspage.cpp @@ -46,7 +46,7 @@ IdentitiesSettingsPage::IdentitiesSettingsPage(QWidget *parent) ui.nickUp->setIcon(SmallIcon("go-up")); ui.nickDown->setIcon(SmallIcon("go-down")); - setEnabled(Client::isConnected()); // need a core connection! + coreConnectionStateChanged(Client::isConnected()); // need a core connection! setWidgetStates(); connect(Client::instance(), SIGNAL(coreConnectionStateChanged(bool)), this, SLOT(coreConnectionStateChanged(bool))); connect(Client::instance(), SIGNAL(identityCreated(IdentityId)), this, SLOT(clientIdentityCreated(IdentityId))); @@ -80,10 +80,12 @@ IdentitiesSettingsPage::IdentitiesSettingsPage(QWidget *parent) //connect(ui.nicknameList, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(setWidgetStates())); //connect(ui.nicknameList->model(), SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(nicklistHasChanged())); +#ifdef HAVE_SSL ui.sslKeyGroupBox->setAcceptDrops(true); ui.sslKeyGroupBox->installEventFilter(this); ui.sslCertGroupBox->setAcceptDrops(true); ui.sslCertGroupBox->installEventFilter(this); +#endif } void IdentitiesSettingsPage::setWidgetStates() { @@ -103,10 +105,13 @@ void IdentitiesSettingsPage::coreConnectionStateChanged(bool connected) { setEnabled(connected); if(connected) { #ifdef HAVE_SSL - if(Client::signalProxy()->isSecure()) + if(Client::signalProxy()->isSecure()) { ui.keyAndCertSettings->setCurrentIndex(2); - else + _editSsl = true; + } else { ui.keyAndCertSettings->setCurrentIndex(1); + _editSsl = false; + } #else ui.keyAndCertSettings->setCurrentIndex(0); #endif @@ -210,9 +215,13 @@ bool IdentitiesSettingsPage::aboutToSave() { void IdentitiesSettingsPage::clientIdentityCreated(IdentityId id) { CertIdentity *identity = new CertIdentity(*Client::identity(id), this); +#ifdef HAVE_SSL identity->enableEditSsl(_editSsl); +#endif insertIdentity(identity); +#ifdef HAVE_SSL connect(identity, SIGNAL(sslSettingsUpdated()), this, SLOT(clientIdentityUpdated())); +#endif connect(Client::identity(id), SIGNAL(updatedRemotely()), this, SLOT(clientIdentityUpdated())); } @@ -322,8 +331,10 @@ void IdentitiesSettingsPage::displayIdentity(CertIdentity *id, bool dontsave) { ui.kickReason->setText(id->kickReason()); ui.partReason->setText(id->partReason()); ui.quitReason->setText(id->quitReason()); +#ifdef HAVE_SSL showKeyState(id->sslKey()); showCertState(id->sslCert()); +#endif } } @@ -349,8 +360,10 @@ void IdentitiesSettingsPage::saveToIdentity(CertIdentity *id) { id->setKickReason(ui.kickReason->text()); id->setPartReason(ui.partReason->text()); id->setQuitReason(ui.quitReason->text()); +#ifdef HAVE_SSL id->setSslKey(QSslKey(ui.keyTypeLabel->property("sslKey").toByteArray(), (QSsl::KeyAlgorithm)(ui.keyTypeLabel->property("sslKeyType").toInt()))); id->setSslCert(QSslCertificate(ui.certOrgLabel->property("sslCert").toByteArray())); +#endif } void IdentitiesSettingsPage::on_addIdentity_clicked() { @@ -363,7 +376,9 @@ void IdentitiesSettingsPage::on_addIdentity_clicked() { } id = -id.toInt(); CertIdentity *newId = new CertIdentity(id, this); +#ifdef HAVE_SSL newId->enableEditSsl(_editSsl); +#endif if(dlg.duplicateId() != 0) { // duplicate newId->update(*identities[dlg.duplicateId()]); @@ -456,6 +471,7 @@ void IdentitiesSettingsPage::on_nickDown_clicked() { } } +#ifdef HAVE_SSL void IdentitiesSettingsPage::on_continueUnsecured_clicked() { _editSsl = true; @@ -598,6 +614,7 @@ void IdentitiesSettingsPage::showCertState(const QSslCertificate &cert) { } ui.certOrgLabel->setProperty("sslCert", cert.toPem()); } +#endif //HAVE_SSL /*****************************************************************************************/ @@ -656,7 +673,9 @@ SaveIdentitiesDlg::SaveIdentitiesDlg(const QList &toCreate, cons } connect(cid, SIGNAL(updatedRemotely()), this, SLOT(clientEvent())); Client::updateIdentity(id->id(), id->toVariantMap()); +#ifdef HAVE_SSL id->requestUpdateSslSettings(); +#endif } foreach(IdentityId id, toRemove) { Client::removeIdentity(id);