void UserSettings::addUser() { AddUserDialog dialog; if (dialog.exec() == QDialog::Accepted) { const QString user = dialog.user(); const QByteArray password = dialog.password(); // request to save user to database database::databasequery::StoreUserQuery querry(user, password); querry.execute(); // check if querry complete successfuly if (querry.error().isEmpty()) { // add user with his name QListWidgetItem *item = new QListWidgetItem(user, list_); // store user name and password item->setData(Qt::UserRole, user); item->setData(Qt::UserRole + 1, password); } else { QMessageBox::information(this, tr("error"), querry.error()); } } }
void SettingsDialog::onAddUserClick() { AddUserDialog dialog; bool accepted = dialog.exec(); bool toSave = dialog.getFlagSavePassword(); if (!accepted) return; if (!checkValidUsername(dialog.getUsername())){ QMessageBox::warning(this, tr("Add user"), tr("Username is not valid")); } else if (toSave && !checkValidPassword(dialog.getPassword())){ QMessageBox::warning(this, tr("Add user"), tr("Password is not valid")); } else { UserListModel* ulm = (UserListModel*)ui->listView_Users->model(); ulm->appendUserData(dialog.getUsername(), dialog.getPassword(), dialog.getFlagSavePassword()); isUserAccountSettingsChanged = true; } }
void SettingsDialog::onEditUserClick() { int row = ui->listView_Users->currentIndex().row(); QString username; QString password; UserListModel* ulm = (UserListModel*)ui->listView_Users->model(); ulm->getUserData(row, username, password); AddUserDialog dialog; dialog.setPassword(password); dialog.setUsername(username); dialog.setFlagSavePassword(password != ""); bool accepted = dialog.exec(); bool toSave = dialog.getFlagSavePassword(); if (!accepted) return; if (!checkValidUsername(dialog.getUsername())){ QMessageBox::warning(this, tr("Edit user"), tr("Username is not valid")); } else if (toSave && !checkValidPassword(dialog.getPassword())){ QMessageBox::warning(this, tr("Edit user"), tr("Password is not valid")); } else { UserListModel* ulm = (UserListModel*)ui->listView_Users->model(); ulm->modifyUserData(row, dialog.getUsername(), dialog.getPassword(), dialog.getFlagSavePassword()); isUserAccountSettingsChanged = true; } }