/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
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)));
//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() {
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
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()));
}
if(identity->identityName() != clientIdentity->identityName())
renameIdentity(identity->id(), clientIdentity->identityName());
- identity->update(*clientIdentity);
+ identity->copyFrom(*clientIdentity);
if(identity->id() == currentId)
displayIdentity(identity, true);
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
}
}
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() {
}
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()]);
+ newId->copyFrom(*identities[dlg.duplicateId()]);
newId->setId(id);
}
newId->setIdentityName(dlg.identityName());
}
}
+#ifdef HAVE_SSL
void IdentitiesSettingsPage::on_continueUnsecured_clicked() {
_editSsl = true;
ui.keyTypeLabel->setText(tr("DSA"));
break;
default:
- ui.keyTypeLabel->setText(tr("No Key Loaded"));
+ ui.keyTypeLabel->setText(tr("No Key loaded"));
}
ui.clearOrLoadKeyButton->setText(tr("Clear"));
}
}
ui.certOrgLabel->setProperty("sslCert", cert.toPem());
}
+#endif //HAVE_SSL
/*****************************************************************************************/
}
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);