X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fidentityeditwidget.cpp;h=658589126461be13b9cb01dec724acea8c1eb58b;hp=38bbd11249a6588240153520f9386130d475f078;hb=2b44b945cf50e3dbfeabe4e5aee10db4b13f5a64;hpb=5b686746c880e5cda6d5de3e08180ea4332ff222;ds=sidebyside diff --git a/src/qtui/settingspages/identityeditwidget.cpp b/src/qtui/settingspages/identityeditwidget.cpp index 38bbd112..65858912 100644 --- a/src/qtui/settingspages/identityeditwidget.cpp +++ b/src/qtui/settingspages/identityeditwidget.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * 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 * @@ -25,6 +25,7 @@ #include #include #include +#include #include "client.h" #include "iconloader.h" @@ -134,6 +135,7 @@ void IdentityEditWidget::displayIdentity(CertIdentity *id, CertIdentity *saveId) 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++) { @@ -142,19 +144,19 @@ void IdentityEditWidget::saveToIdentity(CertIdentity *id) 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())); @@ -298,7 +300,7 @@ void IdentityEditWidget::sslDropEvent(QDropEvent *event, bool isCert) if (isCert) { QSslCertificate cert = certByFilename(filename); - if (cert.isValid()) + if (!cert.isNull()) showCertState(cert); } else { @@ -339,6 +341,7 @@ QSslKey IdentityEditWidget::keyByFilename(const QString &filename) 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; } @@ -390,7 +393,7 @@ QSslCertificate IdentityEditWidget::certByFilename(const QString &filename) for (int i = 0; i < 2; i++) { cert = QSslCertificate(certRaw, (QSsl::EncodingFormat)i); - if (cert.isValid()) + if (!cert.isNull()) break; } return cert; @@ -399,7 +402,7 @@ QSslCertificate IdentityEditWidget::certByFilename(const QString &filename) 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"));