/***************************************************************************
- * Copyright (C) 2005-2012 by the Quassel Project *
+ * Copyright (C) 2005-2014 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include <QDropEvent>
#include <QFileDialog>
#include <QUrl>
+#include <QMessageBox>
#include "client.h"
#include "iconloader.h"
void IdentityEditWidget::saveToIdentity(CertIdentity *id)
{
+ QRegExp linebreaks = QRegExp("[\\r\\n]");
id->setRealName(ui.realName->text());
QStringList nicks;
for (int i = 0; i < ui.nicknameList->count(); i++) {
id->setNicks(nicks);
id->setAwayNick(ui.awayNick->text());
id->setAwayNickEnabled(true);
- id->setAwayReason(ui.awayReason->text());
+ id->setAwayReason(ui.awayReason->text().remove(linebreaks));
id->setAwayReasonEnabled(true);
id->setAutoAwayEnabled(ui.autoAwayEnabled->isChecked());
id->setAutoAwayTime(ui.autoAwayTime->value());
- id->setAutoAwayReason(ui.autoAwayReason->text());
+ id->setAutoAwayReason(ui.autoAwayReason->text().remove(linebreaks));
id->setAutoAwayReasonEnabled(ui.autoAwayReasonEnabled->isChecked());
id->setDetachAwayEnabled(ui.detachAwayEnabled->isChecked());
- id->setDetachAwayReason(ui.detachAwayReason->text());
+ id->setDetachAwayReason(ui.detachAwayReason->text().remove(linebreaks));
id->setDetachAwayReasonEnabled(true);
id->setIdent(ui.ident->text());
- id->setKickReason(ui.kickReason->text());
- id->setPartReason(ui.partReason->text());
- id->setQuitReason(ui.quitReason->text());
+ id->setKickReason(ui.kickReason->text().remove(linebreaks));
+ id->setPartReason(ui.partReason->text().remove(linebreaks));
+ id->setQuitReason(ui.quitReason->text().remove(linebreaks));
#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()));
if (isCert) {
QSslCertificate cert = certByFilename(filename);
- if (cert.isValid())
+ if (!cert.isNull())
showCertState(cert);
}
else {
goto returnKey;
}
}
+ QMessageBox::information(this, tr("Failed to read key"), tr("Failed to read the key file. It is either incompatible or invalid. Note that the key file must not have a passphrase."));
returnKey:
return key;
}
for (int i = 0; i < 2; i++) {
cert = QSslCertificate(certRaw, (QSsl::EncodingFormat)i);
- if (cert.isValid())
+ if (!cert.isNull())
break;
}
return cert;
void IdentityEditWidget::showCertState(const QSslCertificate &cert)
{
- if (!cert.isValid()) {
+ if (cert.isNull()) {
ui.certOrgLabel->setText(tr("No Certificate loaded"));
ui.certCNameLabel->setText(tr("No Certificate loaded"));
ui.clearOrLoadCertButton->setText(tr("Load"));