-}
-
-VarMap IdentitiesDlg::createDefaultIdentity() {
- VarMap id;
- id["RealName"] = "foo";
- id["Ident"] = "";
- id["NickList"] = QStringList();
- id["enableAwayNick"] = false;
- id["AwayNick"] = "";
- id["enableAwayReason"] = false;
- id["AwayReason"] = "";
- id["enableReturnMessage"] = false;
- id["ReturnMessage"] = "";
- id["enableAutoAway"] = false;
- id["AutoAwayTime"] = 10;
- id["enableAutoAwayReason"] = false;
- id["AutoAwayReason"] = "";
- id["enableAutoAwayReturn"] = false;
- id["AutoAwayReturn"] = "";
- id["PartReason"] = "Quasseling elsewhere.";
- id["QuitReason"] = "Every Quassel comes to its end.";
- id["KickReason"] = "No more quasseling for you!";
-
- return id;
-}
-
-QString IdentitiesDlg::getCurIdentity() {
- if(ui.identityList->currentIndex() == 0) return "Default";
- return ui.identityList->currentText();
-}
-
-void IdentitiesDlg::updateWidgets() {
- VarMap id = identities[getCurIdentity()].toMap();
- ui.realNameEdit->setText(id["RealName"].toString());
- ui.identEdit->setText(id["Ident"].toString());
- ui.nickList->clear();
- ui.nickList->addItems(id["NickList"].toStringList());
- if(ui.nickList->count()>0) ui.nickList->setCurrentRow(0);
- ui.enableAwayNick->setChecked(id["enableAwayNick"].toBool());
- ui.awayNickEdit->setText(id["AwayNick"].toString());
- ui.awayNickEdit->setEnabled(ui.enableAwayNick->isChecked());
- ui.enableAwayReason->setChecked(id["enableAwayReason"].toBool());
- ui.awayReasonEdit->setText(id["AwayReason"].toString());
- ui.awayReasonEdit->setEnabled(ui.enableAwayReason->isChecked());
- ui.enableReturnMessage->setChecked(id["enableReturnMessage"].toBool());
- ui.returnMessageEdit->setText(id["ReturnMessage"].toString());
- ui.returnMessageEdit->setEnabled(ui.enableReturnMessage->isChecked());
- ui.enableAutoAway->setChecked(id["enableAutoAway"].toBool());
- ui.autoAwayTime->setValue(id["AutoAwayTime"].toInt());
- ui.enableAutoAwayReason->setChecked(id["enableAutoAwayReason"].toBool());
- ui.autoAwayReasonEdit->setText(id["AutoAwayReason"].toString());
- ui.enableAutoAwayReturn->setChecked(id["enableAutoAwayReturn"].toBool());
- ui.autoAwayReturnEdit->setText(id["AutoAwayReturn"].toString());
- ui.partReasonEdit->setText(id["PartReason"].toString());
- ui.kickReasonEdit->setText(id["KickReason"].toString());
- ui.quitReasonEdit->setText(id["QuitReason"].toString());
- // set enabled states correctly
- autoAwayChecked();
- nickSelectionChanged();
-}
-
-void IdentitiesDlg::updateIdentity(QString idName) {
- VarMap id;
- id["RealName"] = ui.realNameEdit->text();
- id["Ident"] = ui.identEdit->text();
- QStringList nicks;
- for(int i = 0; i < ui.nickList->count(); i++) nicks << ui.nickList->item(i)->text();
- id["NickList"] = nicks;
- id["enableAwayNick"] = ui.enableAwayNick->isChecked();
- id["AwayNick"] = ui.awayNickEdit->text();
- id["enableAwayReason"] = ui.enableAwayReason->isChecked();
- id["AwayReason"] = ui.awayReasonEdit->text();
- id["enableReturnMessage"] = ui.enableReturnMessage->isChecked();
- id["ReturnMessage"] = ui.returnMessageEdit->text();
- id["enableAutoAway"] = ui.enableAutoAway->isChecked();
- id["AutoAwayTime"] = ui.autoAwayTime->value();
- id["enableAutoAwayReason"] = ui.enableAutoAwayReason->isChecked();
- id["AutoAwayReason"] = ui.autoAwayReasonEdit->text();
- id["enableAutoAwayReturn"] = ui.enableAutoAwayReturn->isChecked();
- id["AutoAwayReturn"] = ui.autoAwayReturnEdit->text();
- id["PartReason"] = ui.partReasonEdit->text();
- id["KickReason"] = ui.kickReasonEdit->text();
- id["QuitReason"] = ui.quitReasonEdit->text();
-
- id["IdName"] = idName;
- identities[idName] = id;
-}
-
-void IdentitiesDlg::identityChanged(QString) {
- updateIdentity(lastIdentity);
- lastIdentity = getCurIdentity();
- updateWidgets();
-}
-
-void IdentitiesDlg::autoAwayChecked() {
- if(ui.enableAutoAway->isChecked()) {
- ui.autoAwayLabel_1->setEnabled(1);
- ui.autoAwayLabel_2->setEnabled(1);
- ui.autoAwayTime->setEnabled(1);
- ui.enableAutoAwayReason->setEnabled(1);
- ui.enableAutoAwayReturn->setEnabled(1);
- ui.autoAwayReasonEdit->setEnabled(ui.enableAutoAwayReason->isChecked());
- ui.autoAwayReturnEdit->setEnabled(ui.enableAutoAwayReturn->isChecked());
- } else {
- ui.autoAwayLabel_1->setEnabled(0);
- ui.autoAwayLabel_2->setEnabled(0);
- ui.autoAwayTime->setEnabled(0);
- ui.enableAutoAwayReason->setEnabled(0);
- ui.enableAutoAwayReturn->setEnabled(0);
- ui.autoAwayReasonEdit->setEnabled(0);
- ui.autoAwayReturnEdit->setEnabled(0);