void MainWindow::loginDialog() { QDialog dialog(this); // Use a layout allowing to have a label next to each field QFormLayout form(&dialog); // Add some text above the fields form.addRow(new QLabel("Please enter credentials:")); // Add the lineEdits with their respective labels QLineEdit *userEdit = new QLineEdit(&dialog); QString userString = QString("Username:"******"Password:"******"Register"); okButton->setText("Ok"); cancelButton->setText("Cancel"); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(okButton); layout->addWidget(cancelButton); layout->addWidget(regButton); //QDialogButtonBox buttonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, &dialog); form.addRow(layout); QObject::connect(regButton, SIGNAL(clicked()), this, SLOT(registerAccount())); QObject::connect(okButton, SIGNAL(clicked()), &dialog, SLOT(accept())); QObject::connect(cancelButton, SIGNAL(clicked()), this, SLOT(exitFunction())); dialog.setWindowFlags( ( (dialog.windowFlags() | Qt::CustomizeWindowHint) & ~Qt::WindowCloseButtonHint) ); // ok button pressed enters the if statement // cancel button closes application // register button opens register dialog if (dialog.exec() == QDialog::Accepted) { // If the user didn't dismiss the dialog, do something with the fields std::string user = userEdit->text().toStdString(); std::string pss = passEdit->text().toStdString(); if (userEdit->text() == "" || passEdit->text() == "") { invalidDialog("Please enter a valid username or password"); on_loginButton_clicked(); } else { authenticate(user, pss); enableStatus(true); } } }
QRZRegisterDialog::QRZRegisterDialog(HAMConnection *connection, QWidget *parent) : QDialog(parent), m_conn(connection) { ui.setupUi(this); connect(ui.registerAccount, SIGNAL(clicked()), this, SLOT(registerAccount())); ham_signals_register_handler("qrz-registered", handle_qrz_registered, this); }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Add account Dialog //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void MainWindow::registerAccount() { QDialog dialog(this); // Use a layout allowing to have a label next to each field QFormLayout form(&dialog); // Add the lineEdits with their respective labels QLineEdit *userEdit = new QLineEdit(&dialog); QString userString = QString("Username:"******"Password:"******"Confirm Password:"******"Ok"); cancelButton->setText("Cancel"); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(okButton); layout->addWidget(cancelButton); form.addRow(layout); QObject::connect(okButton, SIGNAL(clicked()), &dialog, SLOT(accept())); QObject::connect(cancelButton, SIGNAL(clicked()), &dialog, SLOT(close())); if (dialog.exec() == QDialog::Accepted) { //add the user to the database //check passwords are equivalent if (passEdit->text() == conPassEdit->text() && userEdit->text() != "") { std::string usr = userEdit->text().toStdString(); std::string pss = passEdit->text().toStdString(); insertUser(usr, pss); } else { invalidDialog("Please make sure the username field isn't empty\n and ensure Passwords fields match"); registerAccount(); } } }
void LoginHandler::loginOrRegister(LoginData *const data) const { if (!data) return; logger->log("Username is %s", data->username.c_str()); // Send login infos if (data->registerLogin) registerAccount(data); else loginAccount(data); // Clear the password, avoids auto login when returning to login data->password.clear(); const bool remember = data->remember; if (remember) serverConfig.setValue("username", data->username); else serverConfig.setValue("username", ""); serverConfig.setValue("remember", remember); }
void GaduAddAccountWidget::createGui(bool showButtons) { QVBoxLayout *mainLayout = new QVBoxLayout(this); QWidget *formWidget = new QWidget(this); mainLayout->addWidget(formWidget); QFormLayout *layout = new QFormLayout(formWidget); AccountId = new QLineEdit(this); AccountId->setValidator(createOwnedGaduIdValidator(AccountId).get()); connect(AccountId, SIGNAL(textEdited(QString)), this, SLOT(dataChanged())); layout->addRow(tr("Gadu-Gadu number") + ':', AccountId); AccountPassword = new QLineEdit(this); connect(AccountPassword, SIGNAL(textEdited(QString)), this, SLOT(dataChanged())); AccountPassword->setEchoMode(QLineEdit::Password); layout->addRow(tr("Password") + ':', AccountPassword); RememberPassword = new QCheckBox(tr("Remember Password"), this); layout->addRow(0, RememberPassword); auto registerAccountLabel = new QLabel(QString("<a href='register'>%1</a>").arg(tr("Register Account"))); registerAccountLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse); layout->addRow(0, registerAccountLabel); connect(registerAccountLabel, SIGNAL(linkActivated(QString)), this, SLOT(registerAccount())); auto remindUinLabel = new QLabel(QString("<a href='change'>%1</a>").arg(tr("Remind GG number"))); remindUinLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse); layout->addRow(0, remindUinLabel); connect(remindUinLabel, SIGNAL(linkActivated(QString)), this, SLOT(remindUin())); auto remindPasswordLabel = new QLabel(QString("<a href='change'>%1</a>").arg(tr("Remind Password"))); remindPasswordLabel->setTextInteractionFlags(Qt::LinksAccessibleByKeyboard | Qt::LinksAccessibleByMouse); layout->addRow(0, remindPasswordLabel); connect(remindPasswordLabel, SIGNAL(linkActivated(QString)), this, SLOT(remindPassword())); Identity = new IdentitiesComboBox(this); connect(Identity, SIGNAL(currentIndexChanged(int)), this, SLOT(dataChanged())); layout->addRow(tr("Account Identity") + ':', Identity); QLabel *infoLabel = new QLabel(tr("<font size='-1'><i>Select or enter the identity that will be associated with this account.</i></font>"), this); infoLabel->setWordWrap(true); infoLabel->setAlignment(Qt::AlignTop | Qt::AlignLeft); infoLabel->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum)); layout->addRow(0, infoLabel); mainLayout->addStretch(100); QDialogButtonBox *buttons = new QDialogButtonBox(Qt::Horizontal, this); mainLayout->addWidget(buttons); AddAccountButton = new QPushButton(qApp->style()->standardIcon(QStyle::SP_DialogApplyButton), tr("Add Account"), this); QPushButton *cancelButton = new QPushButton(qApp->style()->standardIcon(QStyle::SP_DialogCancelButton), tr("Cancel"), this); buttons->addButton(AddAccountButton, QDialogButtonBox::AcceptRole); buttons->addButton(cancelButton, QDialogButtonBox::DestructiveRole); connect(AddAccountButton, SIGNAL(clicked(bool)), this, SLOT(apply())); connect(cancelButton, SIGNAL(clicked(bool)), this, SLOT(cancel())); if (!showButtons) buttons->hide(); }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // insert User into database //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void MainWindow::insertUser(std::string usr, std::string pss) { //open database QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("users.db3"); if (!db.open()) { QMessageBox::critical(0, qApp->tr("Cannot open database"), qApp->tr("Unable to establish a database connection.\n" "This example needs SQLite support. Please read " "the Qt SQL driver documentation for information how " "to build it.\n\n" "Click Cancel to exit."), QMessageBox::Cancel); } //query database and determine if a table exists QString queryString = "SELECT count(*) FROM sqlite_master WHERE type='table' AND name='" + QString::fromStdString(encryption::encrypt(usr, 29, 41)) + "'"; QSqlQuery query(db); query.prepare(queryString); //if query executes succeffuslly move to else if( !query.exec() ) qDebug() << query.lastError(); else { //retrieve the record from the query qDebug( "Selected!" ); QSqlRecord rec = query.record(); int cols = rec.count(); //display entries in selected table for debugging for( int r=0; query.next(); r++ ) for( int c=0; c<cols; c++ ) qDebug() << QString( "Row %1, %2: %3" ).arg( r ).arg( rec.fieldName(c) ).arg( query.value(c).toString() ); } //reset query record and determine if new table is necessary query.first(); qDebug() << query.value(0).toString(); if (query.value(0).toString() == "0" && usr != "users") { //create new table for a user QSqlQuery query1(db); queryString = "create table '" + QString::fromStdString(encryption::encrypt(usr,29,41)) + "' (username varchar(20), password varchar(20))"; qDebug() << queryString; query1.prepare(queryString); query1.exec(); //insert into users(username, password) values('amy', '1234') queryString = "insert into users(username, password) values('" + QString::fromStdString(encryption::encrypt(usr, 29, 41)) + "', '" + QString::fromStdString(encryption::encrypt(pss, 29, 41)) + "')"; qDebug() << queryString; query1.prepare(queryString); query1.exec(); } else if (query.value(0).toString() == "1") { //user already exists qDebug() << "Table exists"; invalidDialog("Invalid Username please select another"); registerAccount(); db.close(); } db.close(); }
ConnectDialog::ConnectDialog(QWidget *parent) : QDialog(parent) { ui.setupUi(this); connect(ui.connectServer, SIGNAL(clicked()), this, SLOT(connectServer())); connect(ui.registerAccount, SIGNAL(clicked()), this, SLOT(registerAccount())); }
void ServerController::processClient(sf::Packet &packet, sf::TcpSocket &client) { std::string protocol; packet >> protocol; std::cout << "Interpreting Packet Protocol: " << protocol << std::endl; if(protocol=="LOGIN"){ loginAccount(packet, client); } else if(protocol=="REGISTER"){ registerAccount(packet, client); } else if(protocol=="CONFERENCE_LIST"){ getConferences(packet, client); } else if(protocol=="CONFERENCE_ACCESS"){ getAccess(packet, client); } else if(protocol=="VIEW_SUBMISSIONS"){ getSubmissions(packet, client); } else if(protocol=="SUBMIT_PAPER"){ paperSubmission(packet, client); } else if (protocol=="ADMIN_STATUS"){ getAdminStatus(packet, client); } else if (protocol=="CREATE_CONFERENCE"){ createConference(packet, client); } else if (protocol=="GET_NOTIFICATIONS"){ getNotifications(packet, client); } else if (protocol=="CHECK_PHASE"){ checkPhase(packet, client); } else if (protocol=="BID_LIST"){ bidList(packet, client); } else if (protocol=="BID_PAPER"){ bidPaper(packet, client); } else if (protocol=="ADVANCE_PHASE"){ advancePhase(packet, client); } else if(protocol=="BYE"){ logoutUser(packet, client); } else if(protocol=="GET_ALLOCATIONS"){ getAllocations(packet, client); } else if(protocol=="CONFERENCE_SUBMISSIONS"){ getConferenceSubs(packet, client); } else if(protocol=="REVIEW_LIST"){ getReviewList(packet, client, true); } else if (protocol=="SUB_DETAIL"){ sendSubDetail(packet, client); } else if (protocol=="SUBMIT_REVIEW"){ submitReview(packet, client); } else if (protocol=="GET_COMMENTS"){ getComments(packet, client); } else if (protocol=="SEND_COMMENT"){ sendComments(packet, client); } else if (protocol=="ADD_REVIEWER"){ addMember(packet, client, Account::Access_Reviewer); } else if (protocol=="ADD_AUTHOR"){ addMember(packet, client, Account::Access_Author); } else if (protocol=="CHANGE_MAX_ALLOCATED_CONF"){ changeLimit(packet, client, "ALLOCATED"); } else if (protocol=="CHANGE_MAX_PAPERREVIEWERS_CONF"){ changeLimit(packet, client, "PAPERREV"); } else if (protocol=="GET_MAX_ALLOCATED_CONF"){ getLimit(packet, client, "ALLOCATED"); } else if (protocol=="GET_MAX_PAPERREVIEWERS_CONF"){ getLimit(packet, client, "PAPERREV"); } else if (protocol=="GET_FULLNAME"){ getAccountName(packet, client); } else if (protocol=="VIEW_REVIEW"){ getReview(packet, client); } else if (protocol=="NOTIFY_COUNT"){ checkNotifyCount(packet, client); } else if (protocol=="APPROVE_PAPER"){ decidePaper(packet, client, true); } else if (protocol=="REJECT_PAPER"){ decidePaper(packet, client, false); } else if (protocol=="MY_REVIEWS"){ getReviewList(packet, client, false); } else if (protocol=="DID_REVIEW"){ checkReviewed(packet, client); } else if (protocol=="FINAL_REVIEW"){ getFinalReview(packet, client); } else if (protocol=="CONF_REVIEWERS"){ getReviewers(packet, client); } else if (protocol=="CONF_SUBMISSIONS"){ getConfSubmissions(packet, client); } else if (protocol=="FILLED_ALLOCATION"){ checkPaperAlloc(packet, client); } else if (protocol=="GET_FREE_REVIEWERS"){ getFreeReviewers(packet, client); } else if (protocol=="ASSIGN_REVIEWER"){ assignReviewer(packet, client); } else if (protocol=="CHANGE_PASSWORD"){ changePassword(packet, client); } else { std::cout << "Unrecognised protocol" << std::endl; } }