- setAccountEditEnabled(false);
- QString newacc = QInputDialog::getText(this, tr("Create Account"), tr(
- "In order to connect to a Quassel Core, you need to create an account.<br>"
- "Please enter a name for this account now:"), QLineEdit::Normal, tr("Default"));
- if(!newacc.isEmpty()) {
- ui.accountList->addItem(newacc);
- ui.hostEdit->setText("localhost");
- ui.port->setValue(DEFAULT_PORT);
- ui.internalCore->setChecked(false);
- setAccountEditEnabled(true);
- }
- /*
- // FIXME We create a default account here that just connects to the internal core
- curacc = "Default";
- ui.accountList->addItem("Default");
- ui.internalCore->setChecked(true);
- ui.userEdit->setText("Default");
- ui.passwdEdit->setText("password");
- ui.rememberPasswd->setChecked(true);
- accountChanged(curacc);
- ui.passwdEdit->setText("password");
- ui.accountList->setCurrentIndex(0);
- ui.autoConnect->setChecked(true);
- autoConnectToggled(true);
- */
- } else {
- if(!curacc.isEmpty()) {
- //if(doAutoConnect) { qDebug() << "auto";
- // AccountSettings s;
- // int idx = ui.accountList->findText(s.autoConnectAccount());
- // if(idx < 0) reject();
- // else {
- // ui.accountList->setCurrentIndex(idx);
- // doConnect();
- // }
- //} else {
- int idx = ui.accountList->findText(curacc);
- ui.accountList->setCurrentIndex(idx);
- //}
- }
- }
-}
-
-CoreConnectDlg::~CoreConnectDlg() {
- //qDebug() << "destroy";
-}
-
-void CoreConnectDlg::setAccountEditEnabled(bool en) {
- ui.accountList->setEnabled(en);
- ui.hostEdit->setEnabled(en && !ui.internalCore->isChecked());
- ui.userEdit->setEnabled(en);
- ui.passwdEdit->setEnabled(en);
- ui.port->setEnabled(en && !ui.internalCore->isChecked());
- ui.editAccount->setEnabled(en);
- ui.delAccount->setEnabled(en);
- ui.internalCore->setEnabled(en);
- ui.rememberPasswd->setEnabled(en);
- ui.autoConnect->setEnabled(en);
- ui.buttonBox1->button(QDialogButtonBox::Ok)->setEnabled(en && checkInputValid());
-}
-
-void CoreConnectDlg::accountChanged(const QString &text) {
- AccountSettings s;
- if(!curacc.isEmpty()) {
- QVariantMap oldAcc;
- oldAcc["User"] = ui.userEdit->text();
- oldAcc["Host"] = ui.hostEdit->text();
- oldAcc["Port"] = ui.port->value();
- oldAcc["InternalCore"] = ui.internalCore->isChecked();
- if(ui.rememberPasswd->isChecked()) oldAcc["Password"] = ui.passwdEdit->text();
- s.setValue(curacc, "AccountData", oldAcc);
- }
- ui.autoConnect->setChecked(false);
- if(!text.isEmpty()) { // empty text: just save stuff
- curacc = text;
- s.setLastAccount(curacc);
- QVariantMap newAcc = s.value(curacc, "AccountData").toMap();
- ui.userEdit->setText(newAcc["User"].toString());
- ui.hostEdit->setText(newAcc["Host"].toString());
- ui.port->setValue(newAcc["Port"].toInt());
- ui.internalCore->setChecked(newAcc["InternalCore"].toBool());
- if(newAcc.contains("Password")) {
- ui.passwdEdit->setText(newAcc["Password"].toString());
- ui.rememberPasswd->setChecked(true);
- } else ui.rememberPasswd->setChecked(false);
- if(s.autoConnectAccount() == curacc) ui.autoConnect->setChecked(true);
- }
-}