X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fidentitiessettingspage.cpp;h=9c677db9b4d58ccfb85a00108ee949aad112540d;hb=665faa937a52fc6175741292737c4a52875b4f75;hp=e78e645cd303da132cb5433b8b47a6f79bd6f6e9;hpb=d28b9ec38b6ea0bc473200fc2f1e65abd1b56bd6;p=quassel.git diff --git a/src/qtui/settingspages/identitiessettingspage.cpp b/src/qtui/settingspages/identitiessettingspage.cpp index e78e645c..9c677db9 100644 --- a/src/qtui/settingspages/identitiessettingspage.cpp +++ b/src/qtui/settingspages/identitiessettingspage.cpp @@ -29,7 +29,7 @@ IdentitiesSettingsPage::IdentitiesSettingsPage(QWidget *parent) : SettingsPage(tr("General"), tr("Identities"), parent) { ui.setupUi(this); - setEnabled(false); // need a core connection! + setEnabled(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))); @@ -101,7 +101,7 @@ void IdentitiesSettingsPage::save() { Identity *temp = *i; i = identities.erase(i); toCreate.append(temp); - ui.identityList->removeItem(ui.identityList->findData(temp->id())); + ui.identityList->removeItem(ui.identityList->findData(temp->id().toInt())); } else { if(**i != *Client::identity((*i)->id())) { toUpdate.append(*i); @@ -120,7 +120,7 @@ void IdentitiesSettingsPage::save() { } changedIdentities.clear(); deletedIdentities.clear(); - changeState(false); + setChangedState(false); setEnabled(true); } @@ -136,12 +136,12 @@ void IdentitiesSettingsPage::load() { foreach(IdentityId id, Client::identityIds()) { clientIdentityCreated(id); } - changeState(false); + setChangedState(false); } void IdentitiesSettingsPage::widgetHasChanged() { bool changed = testHasChanged(); - if(changed != hasChanged()) changeState(changed); + if(changed != hasChanged()) setChangedState(changed); } bool IdentitiesSettingsPage::testHasChanged() { @@ -214,31 +214,31 @@ void IdentitiesSettingsPage::insertIdentity(Identity *identity) { identities[id] = identity; if(id == 1) { // default identity is always the first one! - ui.identityList->insertItem(0, identity->identityName(), id); + ui.identityList->insertItem(0, identity->identityName(), id.toInt()); } else { QString name = identity->identityName(); for(int j = 0; j < ui.identityList->count(); j++) { if((j>0 || ui.identityList->itemData(0).toInt() != 1) && name.localeAwareCompare(ui.identityList->itemText(j)) < 0) { - ui.identityList->insertItem(j, name, id); + ui.identityList->insertItem(j, name, id.toInt()); widgetHasChanged(); return; } } // append - ui.identityList->insertItem(ui.identityList->count(), name, id); + ui.identityList->insertItem(ui.identityList->count(), name, id.toInt()); widgetHasChanged(); } } void IdentitiesSettingsPage::renameIdentity(IdentityId id, const QString &newName) { Identity *identity = identities[id]; - ui.identityList->setItemText(ui.identityList->findData(identity->id()), newName); + ui.identityList->setItemText(ui.identityList->findData(identity->id().toInt()), newName); identity->setIdentityName(newName); } void IdentitiesSettingsPage::removeIdentity(Identity *id) { identities.remove(id->id()); - ui.identityList->removeItem(ui.identityList->findData(id->id())); + ui.identityList->removeItem(ui.identityList->findData(id->id().toInt())); changedIdentities.removeAll(id->id()); if(currentId == id->id()) currentId = 0; id->deleteLater(); @@ -250,7 +250,7 @@ void IdentitiesSettingsPage::on_identityList_currentIndexChanged(int index) { //ui.identityList->setEditable(false); displayIdentity(0); } else { - IdentityId id = ui.identityList->itemData(index).value(); + IdentityId id = ui.identityList->itemData(index).toInt(); if(identities.contains(id)) displayIdentity(identities[id]); ui.deleteIdentity->setEnabled(id != 1); // default identity cannot be deleted ui.renameIdentity->setEnabled(id != 1); // ...or renamed @@ -320,9 +320,9 @@ void IdentitiesSettingsPage::on_addIdentity_clicked() { // find a free (negative) ID IdentityId id; for(id = 1; id <= identities.count(); id++) { - if(!identities.keys().contains(-id)) break; + if(!identities.keys().contains(-id.toInt())) break; } - id *= -1; + id = -id.toInt(); Identity *newId = new Identity(id, this); if(dlg.duplicateId() != 0) { // duplicate @@ -332,7 +332,7 @@ void IdentitiesSettingsPage::on_addIdentity_clicked() { newId->setIdentityName(dlg.identityName()); identities[id] = newId; insertIdentity(newId); - ui.identityList->setCurrentIndex(ui.identityList->findData(id)); + ui.identityList->setCurrentIndex(ui.identityList->findData(id.toInt())); widgetHasChanged(); } } @@ -363,18 +363,19 @@ void IdentitiesSettingsPage::on_renameIdentity_clicked() { void IdentitiesSettingsPage::on_addNick_clicked() { QStringList existing; for(int i = 0; i < ui.nicknameList->count(); i++) existing << ui.nicknameList->item(i)->text(); - NickEditDlgNew dlg(QString(), existing, this); + NickEditDlg dlg(QString(), existing, this); if(dlg.exec() == QDialog::Accepted) { ui.nicknameList->addItem(dlg.nick()); ui.nicknameList->setCurrentRow(ui.nicknameList->count()-1); setWidgetStates(); + widgetHasChanged(); } } void IdentitiesSettingsPage::on_deleteNick_clicked() { // no confirmation, since a nickname is really nothing hard to recreate if(ui.nicknameList->selectedItems().count()) { - delete ui.nicknameList->selectedItems()[0]; + delete ui.nicknameList->takeItem(ui.nicknameList->row(ui.nicknameList->selectedItems()[0])); ui.nicknameList->setCurrentRow(qMin(ui.nicknameList->currentRow()+1, ui.nicknameList->count()-1)); setWidgetStates(); widgetHasChanged(); @@ -386,7 +387,7 @@ void IdentitiesSettingsPage::on_renameNick_clicked() { QString old = ui.nicknameList->selectedItems()[0]->text(); QStringList existing; for(int i = 0; i < ui.nicknameList->count(); i++) existing << ui.nicknameList->item(i)->text(); - NickEditDlgNew dlg(old, existing, this); + NickEditDlg dlg(old, existing, this); if(dlg.exec() == QDialog::Accepted) { ui.nicknameList->selectedItems()[0]->setText(dlg.nick()); } @@ -431,7 +432,7 @@ QString CreateIdentityDlg::identityName() const { IdentityId CreateIdentityDlg::duplicateId() const { if(!ui.duplicateIdentity->isChecked()) return 0; if(ui.identityList->currentIndex() >= 0) { - return ui.identityList->itemData(ui.identityList->currentIndex()).value(); + return ui.identityList->itemData(ui.identityList->currentIndex()).toInt(); } return 0; } @@ -443,8 +444,8 @@ void CreateIdentityDlg::on_identityName_textChanged(const QString &text) { /*********************************************************************************************/ -SaveIdentitiesDlg::SaveIdentitiesDlg(QList tocreate, QList toupdate, QList toremove, QWidget *parent) - : QDialog(parent), toCreate(tocreate), toUpdate(toupdate), toRemove(toremove) { +SaveIdentitiesDlg::SaveIdentitiesDlg(const QList &toCreate, const QList &toUpdate, const QList &toRemove, QWidget *parent) + : QDialog(parent) { //, toCreate(tocreate), toUpdate(toupdate), toRemove(toremove) { ui.setupUi(this); numevents = toCreate.count() + toUpdate.count() + toRemove.count(); rcvevents = 0; @@ -465,6 +466,7 @@ SaveIdentitiesDlg::SaveIdentitiesDlg(QList tocreate, QListsetText(old); } -QString NickEditDlgNew::nick() const { +QString NickEditDlg::nick() const { return ui.nickEdit->text(); } -void NickEditDlgNew::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)); }