/***************************************************************************
- * Copyright (C) 2005-09 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
+ * (at your option) version 3. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
#include "identitiessettingspage.h"
#include <QInputDialog>
#include <QMessageBox>
+#include <utility>
#include "client.h"
-#include "iconloader.h"
+#include "icon.h"
#include "signalproxy.h"
IdentitiesSettingsPage::IdentitiesSettingsPage(QWidget *parent)
- : SettingsPage(tr("IRC"), tr("Identities"), parent),
- _editSsl(false)
+ : SettingsPage(tr("IRC"), tr("Identities"), parent)
{
ui.setupUi(this);
- ui.renameIdentity->setIcon(BarIcon("edit-rename"));
- ui.addIdentity->setIcon(BarIcon("list-add-user"));
- ui.deleteIdentity->setIcon(BarIcon("list-remove-user"));
+ ui.renameIdentity->setIcon(icon::get("edit-rename"));
+ ui.addIdentity->setIcon(icon::get("list-add-user"));
+ ui.deleteIdentity->setIcon(icon::get("list-remove-user"));
coreConnectionStateChanged(Client::isConnected()); // need a core connection!
- connect(Client::instance(), SIGNAL(coreConnectionStateChanged(bool)), this, SLOT(coreConnectionStateChanged(bool)));
+ connect(Client::instance(), &Client::coreConnectionStateChanged, this, &IdentitiesSettingsPage::coreConnectionStateChanged);
- connect(Client::instance(), SIGNAL(identityCreated(IdentityId)), this, SLOT(clientIdentityCreated(IdentityId)));
- connect(Client::instance(), SIGNAL(identityRemoved(IdentityId)), this, SLOT(clientIdentityRemoved(IdentityId)));
+ connect(Client::instance(), &Client::identityCreated, this, &IdentitiesSettingsPage::clientIdentityCreated);
+ connect(Client::instance(), &Client::identityRemoved, this, &IdentitiesSettingsPage::clientIdentityRemoved);
- connect(ui.identityEditor, SIGNAL(widgetHasChanged()), this, SLOT(widgetHasChanged()));
+ connect(ui.identityEditor, &IdentityEditWidget::widgetHasChanged, this, &IdentitiesSettingsPage::widgetHasChanged);
#ifdef HAVE_SSL
- connect(ui.identityEditor, SIGNAL(requestEditSsl()), this, SLOT(continueUnsecured()));
+ connect(ui.identityEditor, &IdentityEditWidget::requestEditSsl, this, &IdentitiesSettingsPage::continueUnsecured);
#endif
currentId = 0;
_editSsl = true;
QHash<IdentityId, CertIdentity *>::iterator idIter;
- for (idIter = identities.begin(); idIter != identities.end(); idIter++) {
+ for (idIter = identities.begin(); idIter != identities.end(); ++idIter) {
idIter.value()->enableEditSsl();
}
if (currentId != 0) {
changedIdentities.removeAll(currentId);
CertIdentity temp(currentId, this);
+#ifdef HAVE_SSL
+ // we need to set the cert and key manually, as they aren't synced
+ CertIdentity *old = identities[currentId];
+ temp.setSslKey(old->sslKey());
+ temp.setSslCert(old->sslCert());
+#endif
ui.identityEditor->saveToIdentity(&temp);
temp.setIdentityName(identities[currentId]->identityName());
if (temp != *Client::identity(currentId) || temp.isDirty())
void IdentitiesSettingsPage::clientIdentityCreated(IdentityId id)
{
- CertIdentity *identity = new CertIdentity(*Client::identity(id), this);
+ auto *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()));
+ connect(identity, &CertIdentity::sslSettingsUpdated, this, &IdentitiesSettingsPage::clientIdentityUpdated);
#endif
- connect(Client::identity(id), SIGNAL(updatedRemotely()), this, SLOT(clientIdentityUpdated()));
+ connect(Client::identity(id), &SyncableObject::updatedRemotely, this, &IdentitiesSettingsPage::clientIdentityUpdated);
}
void IdentitiesSettingsPage::on_identityList_currentIndexChanged(int index)
{
- CertIdentity *previousIdentity = 0;
+ CertIdentity *previousIdentity = nullptr;
if (currentId != 0 && identities.contains(currentId))
previousIdentity = identities[currentId];
if (index < 0) {
//ui.identityList->setEditable(false);
- ui.identityEditor->displayIdentity(0, previousIdentity);
+ ui.identityEditor->displayIdentity(nullptr, previousIdentity);
currentId = 0;
}
else {
if (!identities.keys().contains(-id.toInt())) break;
}
id = -id.toInt();
- CertIdentity *newId = new CertIdentity(id, this);
+ auto *newId = new CertIdentity(id, this);
#ifdef HAVE_SSL
newId->enableEditSsl(_editSsl);
#endif
: QDialog(parent)
{
ui.setupUi(this);
- ui.abort->setIcon(SmallIcon("dialog-cancel"));
+ ui.abort->setIcon(icon::get("dialog-cancel"));
numevents = toCreate.count() + toUpdate.count() + toRemove.count();
rcvevents = 0;
ui.progressBar->setMaximum(numevents);
ui.progressBar->setValue(0);
- connect(Client::instance(), SIGNAL(identityCreated(IdentityId)), this, SLOT(clientEvent()));
- connect(Client::instance(), SIGNAL(identityRemoved(IdentityId)), this, SLOT(clientEvent()));
+ connect(Client::instance(), &Client::identityCreated, this, &SaveIdentitiesDlg::clientEvent);
+ connect(Client::instance(), &Client::identityRemoved, this, &SaveIdentitiesDlg::clientEvent);
foreach(CertIdentity *id, toCreate) {
Client::createIdentity(*id);
numevents--;
continue;
}
- connect(cid, SIGNAL(updatedRemotely()), this, SLOT(clientEvent()));
+ connect(cid, &SyncableObject::updatedRemotely, this, &SaveIdentitiesDlg::clientEvent);
Client::updateIdentity(id->id(), id->toVariantMap());
#ifdef HAVE_SSL
id->requestUpdateSslSettings();
/*************************************************************************************************/
-NickEditDlg::NickEditDlg(const QString &old, const QStringList &exist, QWidget *parent)
- : QDialog(parent), oldNick(old), existing(exist)
+NickEditDlg::NickEditDlg(const QString &old, QStringList exist, QWidget *parent)
+ : QDialog(parent), oldNick(old), existing(std::move(exist))
{
ui.setupUi(this);
// define a regexp for valid nicknames
// TODO: add max nicklength according to ISUPPORT
QString letter = "A-Za-z";
- QString special = "\x5b-\x60\x7b-\x7d";
+ QString special = R"([-`{-})";
QRegExp rx(QString("[%1%2][%1%2\\d-]*").arg(letter, special));
ui.nickEdit->setValidator(new QRegExpValidator(rx, ui.nickEdit));
if (old.isEmpty()) {