X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fidentitiessettingspage.cpp;fp=src%2Fqtui%2Fsettingspages%2Fidentitiessettingspage.cpp;h=612642221a5ddcf8514c951f8e27e7b2c656a58e;hp=027dd34c6c07f1f34411f81b1d9debbed588a076;hb=c1cf157116de7fc3da96203aa6f03c38c7ebb650;hpb=30b159cb876a9495de42e9a3e70ca050516f0805 diff --git a/src/qtui/settingspages/identitiessettingspage.cpp b/src/qtui/settingspages/identitiessettingspage.cpp index 027dd34c..61264222 100644 --- a/src/qtui/settingspages/identitiessettingspage.cpp +++ b/src/qtui/settingspages/identitiessettingspage.cpp @@ -20,15 +20,16 @@ #include "identitiessettingspage.h" +#include + #include #include -#include #include "client.h" #include "icon.h" #include "signalproxy.h" -IdentitiesSettingsPage::IdentitiesSettingsPage(QWidget *parent) +IdentitiesSettingsPage::IdentitiesSettingsPage(QWidget* parent) : SettingsPage(tr("IRC"), tr("Identities"), parent) { ui.setupUi(this); @@ -36,7 +37,7 @@ IdentitiesSettingsPage::IdentitiesSettingsPage(QWidget *parent) ui.addIdentity->setIcon(icon::get("list-add-user")); ui.deleteIdentity->setIcon(icon::get("list-remove-user")); - coreConnectionStateChanged(Client::isConnected()); // need a core connection! + coreConnectionStateChanged(Client::isConnected()); // need a core connection! connect(Client::instance(), &Client::coreConnectionStateChanged, this, &IdentitiesSettingsPage::coreConnectionStateChanged); connect(Client::instance(), &Client::identityCreated, this, &IdentitiesSettingsPage::clientIdentityCreated); @@ -50,7 +51,6 @@ IdentitiesSettingsPage::IdentitiesSettingsPage(QWidget *parent) currentId = 0; } - void IdentitiesSettingsPage::coreConnectionStateChanged(bool connected) { setEnabled(connected); @@ -75,13 +75,12 @@ void IdentitiesSettingsPage::coreConnectionStateChanged(bool connected) } } - #ifdef HAVE_SSL void IdentitiesSettingsPage::continueUnsecured() { _editSsl = true; - QHash::iterator idIter; + QHash::iterator idIter; for (idIter = identities.begin(); idIter != identities.end(); ++idIter) { idIter.value()->enableEditSsl(); } @@ -89,19 +88,18 @@ void IdentitiesSettingsPage::continueUnsecured() ui.identityEditor->setSslState(IdentityEditWidget::AllowSsl); } - #endif void IdentitiesSettingsPage::save() { setEnabled(false); - QList toCreate, toUpdate; + QList toCreate, toUpdate; // we need to remove our temporarily created identities. // these are going to be re-added after the core has propagated them back... - QHash::iterator i = identities.begin(); + QHash::iterator i = identities.begin(); while (i != identities.end()) { if ((*i)->id() < 0) { - CertIdentity *temp = *i; + CertIdentity* temp = *i; i = identities.erase(i); toCreate.append(temp); ui.identityList->removeItem(ui.identityList->findData(temp->id().toInt())); @@ -119,7 +117,7 @@ void IdentitiesSettingsPage::save() // canceled -> reload everything to be safe load(); } - foreach(Identity *id, toCreate) { + foreach (Identity* id, toCreate) { id->deleteLater(); } changedIdentities.clear(); @@ -128,11 +126,10 @@ void IdentitiesSettingsPage::save() setEnabled(true); } - void IdentitiesSettingsPage::load() { currentId = 0; - foreach(Identity *identity, identities.values()) { + foreach (Identity* identity, identities.values()) { identity->deleteLater(); } identities.clear(); @@ -140,20 +137,19 @@ void IdentitiesSettingsPage::load() changedIdentities.clear(); ui.identityList->clear(); setWidgetStates(); - foreach(IdentityId id, Client::identityIds()) { + foreach (IdentityId id, Client::identityIds()) { clientIdentityCreated(id); } setChangedState(false); } - void IdentitiesSettingsPage::widgetHasChanged() { bool changed = testHasChanged(); - if (changed != hasChanged()) setChangedState(changed); + if (changed != hasChanged()) + setChangedState(changed); } - void IdentitiesSettingsPage::setWidgetStates() { bool enabled = (ui.identityList->count() > 0); @@ -162,12 +158,12 @@ void IdentitiesSettingsPage::setWidgetStates() ui.deleteIdentity->setEnabled(ui.identityList->count() > 1); } - bool IdentitiesSettingsPage::testHasChanged() { - if (deletedIdentities.count()) return true; + if (deletedIdentities.count()) + return true; if (currentId < 0) { - return true; // new identity + return true; // new identity } else { if (currentId != 0) { @@ -175,7 +171,7 @@ bool IdentitiesSettingsPage::testHasChanged() 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]; + CertIdentity* old = identities[currentId]; temp.setSslKey(old->sslKey()); temp.setSslCert(old->sslCert()); #endif @@ -188,32 +184,39 @@ bool IdentitiesSettingsPage::testHasChanged() } } - bool IdentitiesSettingsPage::aboutToSave() { ui.identityEditor->saveToIdentity(identities[currentId]); QList errors; - foreach(Identity *id, identities.values()) { - if (id->identityName().isEmpty()) errors.append(1); - if (!id->nicks().count()) errors.append(2); - if (id->realName().isEmpty()) errors.append(3); - if (id->ident().isEmpty()) errors.append(4); + foreach (Identity* id, identities.values()) { + if (id->identityName().isEmpty()) + errors.append(1); + if (!id->nicks().count()) + errors.append(2); + if (id->realName().isEmpty()) + errors.append(3); + if (id->ident().isEmpty()) + errors.append(4); } - if (!errors.count()) return true; + if (!errors.count()) + return true; QString error(tr("The following problems need to be corrected before your changes can be applied:
    ")); - if (errors.contains(1)) error += tr("
  • All identities need an identity name set
  • "); - if (errors.contains(2)) error += tr("
  • Every identity needs at least one nickname defined
  • "); - if (errors.contains(3)) error += tr("
  • You need to specify a real name for every identity
  • "); - if (errors.contains(4)) error += tr("
  • You need to specify an ident for every identity
  • "); + if (errors.contains(1)) + error += tr("
  • All identities need an identity name set
  • "); + if (errors.contains(2)) + error += tr("
  • Every identity needs at least one nickname defined
  • "); + if (errors.contains(3)) + error += tr("
  • You need to specify a real name for every identity
  • "); + if (errors.contains(4)) + error += tr("
  • You need to specify an ident for every identity
  • "); error += tr("
"); QMessageBox::warning(this, tr("One or more identities are invalid"), error); return false; } - void IdentitiesSettingsPage::clientIdentityCreated(IdentityId id) { - auto *identity = new CertIdentity(*Client::identity(id), this); + auto* identity = new CertIdentity(*Client::identity(id), this); #ifdef HAVE_SSL identity->enableEditSsl(_editSsl); #endif @@ -224,10 +227,9 @@ void IdentitiesSettingsPage::clientIdentityCreated(IdentityId id) connect(Client::identity(id), &SyncableObject::updatedRemotely, this, &IdentitiesSettingsPage::clientIdentityUpdated); } - void IdentitiesSettingsPage::clientIdentityUpdated() { - const Identity *clientIdentity = qobject_cast(sender()); + const Identity* clientIdentity = qobject_cast(sender()); if (!clientIdentity) { qWarning() << "Invalid identity to update!"; return; @@ -237,7 +239,7 @@ void IdentitiesSettingsPage::clientIdentityUpdated() return; } - CertIdentity *identity = identities[clientIdentity->id()]; + CertIdentity* identity = identities[clientIdentity->id()]; if (identity->identityName() != clientIdentity->identityName()) renameIdentity(identity->id(), clientIdentity->identityName()); @@ -248,7 +250,6 @@ void IdentitiesSettingsPage::clientIdentityUpdated() ui.identityEditor->displayIdentity(identity); } - void IdentitiesSettingsPage::clientIdentityRemoved(IdentityId id) { if (identities.contains(id)) { @@ -258,8 +259,7 @@ void IdentitiesSettingsPage::clientIdentityRemoved(IdentityId id) } } - -void IdentitiesSettingsPage::insertIdentity(CertIdentity *identity) +void IdentitiesSettingsPage::insertIdentity(CertIdentity* identity) { IdentityId id = identity->id(); identities[id] = identity; @@ -278,35 +278,33 @@ void IdentitiesSettingsPage::insertIdentity(CertIdentity *identity) widgetHasChanged(); } - -void IdentitiesSettingsPage::renameIdentity(IdentityId id, const QString &newName) +void IdentitiesSettingsPage::renameIdentity(IdentityId id, const QString& newName) { - Identity *identity = identities[id]; + Identity* identity = identities[id]; ui.identityList->setItemText(ui.identityList->findData(identity->id().toInt()), newName); identity->setIdentityName(newName); } - -void IdentitiesSettingsPage::removeIdentity(Identity *id) +void IdentitiesSettingsPage::removeIdentity(Identity* id) { identities.remove(id->id()); ui.identityList->removeItem(ui.identityList->findData(id->id().toInt())); changedIdentities.removeAll(id->id()); - if (currentId == id->id()) currentId = 0; + if (currentId == id->id()) + currentId = 0; id->deleteLater(); setWidgetStates(); widgetHasChanged(); } - void IdentitiesSettingsPage::on_identityList_currentIndexChanged(int index) { - CertIdentity *previousIdentity = nullptr; + CertIdentity* previousIdentity = nullptr; if (currentId != 0 && identities.contains(currentId)) previousIdentity = identities[currentId]; if (index < 0) { - //ui.identityList->setEditable(false); + // ui.identityList->setEditable(false); ui.identityEditor->displayIdentity(nullptr, previousIdentity); currentId = 0; } @@ -319,7 +317,6 @@ void IdentitiesSettingsPage::on_identityList_currentIndexChanged(int index) } } - void IdentitiesSettingsPage::on_addIdentity_clicked() { CreateIdentityDlg dlg(ui.identityList->model(), this); @@ -327,10 +324,11 @@ void IdentitiesSettingsPage::on_addIdentity_clicked() // find a free (negative) ID IdentityId id; for (id = 1; id <= identities.count(); id++) { - if (!identities.keys().contains(-id.toInt())) break; + if (!identities.keys().contains(-id.toInt())) + break; } id = -id.toInt(); - auto *newId = new CertIdentity(id, this); + auto* newId = new CertIdentity(id, this); #ifdef HAVE_SSL newId->enableEditSsl(_editSsl); #endif @@ -347,71 +345,75 @@ void IdentitiesSettingsPage::on_addIdentity_clicked() } } - void IdentitiesSettingsPage::on_deleteIdentity_clicked() { - Identity *id = identities[currentId]; - int ret = QMessageBox::question(this, tr("Delete Identity?"), - tr("Do you really want to delete identity \"%1\"?").arg(id->identityName()), - QMessageBox::Yes|QMessageBox::No, QMessageBox::No); - if (ret != QMessageBox::Yes) return; - if (id->id() > 0) deletedIdentities.append(id->id()); + Identity* id = identities[currentId]; + int ret = QMessageBox::question(this, + tr("Delete Identity?"), + tr("Do you really want to delete identity \"%1\"?").arg(id->identityName()), + QMessageBox::Yes | QMessageBox::No, + QMessageBox::No); + if (ret != QMessageBox::Yes) + return; + if (id->id() > 0) + deletedIdentities.append(id->id()); currentId = 0; removeIdentity(id); } - void IdentitiesSettingsPage::on_renameIdentity_clicked() { QString oldName = identities[currentId]->identityName(); bool ok = false; - QString name = QInputDialog::getText(this, tr("Rename Identity"), - tr("Please enter a new name for the identity \"%1\"!").arg(oldName), - QLineEdit::Normal, oldName, &ok); + QString name = QInputDialog::getText(this, + tr("Rename Identity"), + tr("Please enter a new name for the identity \"%1\"!").arg(oldName), + QLineEdit::Normal, + oldName, + &ok); if (ok && !name.isEmpty()) { renameIdentity(currentId, name); widgetHasChanged(); } } - /*****************************************************************************************/ -CreateIdentityDlg::CreateIdentityDlg(QAbstractItemModel *model, QWidget *parent) +CreateIdentityDlg::CreateIdentityDlg(QAbstractItemModel* model, QWidget* parent) : QDialog(parent) { ui.setupUi(this); - ui.identityList->setModel(model); // now we use the identity list of the main page... Trolltech <3 - on_identityName_textChanged(""); // disable ok button :) + ui.identityList->setModel(model); // now we use the identity list of the main page... Trolltech <3 + on_identityName_textChanged(""); // disable ok button :) } - QString CreateIdentityDlg::identityName() const { return ui.identityName->text(); } - IdentityId CreateIdentityDlg::duplicateId() const { - if (!ui.duplicateIdentity->isChecked()) return 0; + if (!ui.duplicateIdentity->isChecked()) + return 0; if (ui.identityList->currentIndex() >= 0) { return ui.identityList->itemData(ui.identityList->currentIndex()).toInt(); } return 0; } - -void CreateIdentityDlg::on_identityName_textChanged(const QString &text) +void CreateIdentityDlg::on_identityName_textChanged(const QString& text) { ui.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(text.count()); } - /*********************************************************************************************/ -SaveIdentitiesDlg::SaveIdentitiesDlg(const QList &toCreate, const QList &toUpdate, const QList &toRemove, QWidget *parent) +SaveIdentitiesDlg::SaveIdentitiesDlg(const QList& toCreate, + const QList& toUpdate, + const QList& toRemove, + QWidget* parent) : QDialog(parent) { ui.setupUi(this); @@ -426,11 +428,11 @@ SaveIdentitiesDlg::SaveIdentitiesDlg(const QList &toCreate, cons connect(Client::instance(), &Client::identityCreated, this, &SaveIdentitiesDlg::clientEvent); connect(Client::instance(), &Client::identityRemoved, this, &SaveIdentitiesDlg::clientEvent); - foreach(CertIdentity *id, toCreate) { + foreach (CertIdentity* id, toCreate) { Client::createIdentity(*id); } - foreach(CertIdentity *id, toUpdate) { - const Identity *cid = Client::identity(id->id()); + foreach (CertIdentity* id, toUpdate) { + const Identity* cid = Client::identity(id->id()); if (!cid) { qWarning() << "Invalid client identity!"; numevents--; @@ -442,7 +444,7 @@ SaveIdentitiesDlg::SaveIdentitiesDlg(const QList &toCreate, cons id->requestUpdateSslSettings(); #endif } - foreach(IdentityId id, toRemove) { + foreach (IdentityId id, toRemove) { Client::removeIdentity(id); } } @@ -452,18 +454,19 @@ SaveIdentitiesDlg::SaveIdentitiesDlg(const QList &toCreate, cons } } - void SaveIdentitiesDlg::clientEvent() { ui.progressBar->setValue(++rcvevents); - if (rcvevents >= numevents) accept(); + if (rcvevents >= numevents) + accept(); } - /*************************************************************************************************/ -NickEditDlg::NickEditDlg(const QString &old, QStringList exist, QWidget *parent) - : QDialog(parent), oldNick(old), existing(std::move(exist)) +NickEditDlg::NickEditDlg(const QString& old, QStringList exist, QWidget* parent) + : QDialog(parent) + , oldNick(old) + , existing(std::move(exist)) { ui.setupUi(this); @@ -476,19 +479,18 @@ NickEditDlg::NickEditDlg(const QString &old, QStringList exist, QWidget *parent) if (old.isEmpty()) { // new nick setWindowTitle(tr("Add Nickname")); - on_nickEdit_textChanged(""); // disable ok button + on_nickEdit_textChanged(""); // disable ok button } - else ui.nickEdit->setText(old); + else + ui.nickEdit->setText(old); } - QString NickEditDlg::nick() const { return ui.nickEdit->text(); } - -void NickEditDlg::on_nickEdit_textChanged(const QString &text) +void NickEditDlg::on_nickEdit_textChanged(const QString& text) { ui.buttonBox->button(QDialogButtonBox::Ok)->setDisabled(text.isEmpty() || existing.contains(text)); }