diff options
Diffstat (limited to 'pica-client/accountswindow.cpp')
| -rw-r--r-- | pica-client/accountswindow.cpp | 338 |
1 files changed, 169 insertions, 169 deletions
diff --git a/pica-client/accountswindow.cpp b/pica-client/accountswindow.cpp index 7295856..a6d4fb4 100644 --- a/pica-client/accountswindow.cpp +++ b/pica-client/accountswindow.cpp @@ -13,211 +13,211 @@ #include <cstring> AccountsWindow::AccountsWindow(QWidget *parent) : - QMainWindow(parent), - accounts(config_dbname) + QMainWindow(parent), + accounts(config_dbname) { - QVBoxLayout *layout; - layout = new QVBoxLayout; - - cb_accounts = new QComboBox(); - bt_login = new QPushButton(tr("Log In")); - bt_registernew = new QPushButton(tr("Create New Account...")); - bt_addimport = new QPushButton(tr("Add (Import) existing account...")); - bt_delete = new QPushButton(tr("Delete Account")); - - { - QFont f; - f= bt_login->font(); - f.setBold(true); - bt_login->setFont(f); - - f = cb_accounts->font(); - f.setStyleHint(QFont::Monospace); - f.setFixedPitch(true); - f.setBold(true); - f.setFamily("Liberation Mono"); - cb_accounts->setFont(f); - } - - layout->addWidget(cb_accounts); - layout->addWidget(bt_login); - layout->addWidget(bt_registernew); - layout->addWidget(bt_addimport); - layout->addWidget(bt_delete); - - QWidget *central = new QWidget(this); - setCentralWidget(central); - - centralWidget()->setLayout(layout); - - setWindowIcon(picapica_ico_sit); - - connect(bt_login,SIGNAL(clicked()),this,SLOT(login_click())); - connect(bt_registernew,SIGNAL(clicked()),this,SLOT(register_click())); - connect(bt_addimport,SIGNAL(clicked()),this,SLOT(add_click())); - connect(bt_delete,SIGNAL(clicked()),this,SLOT(delete_click())); - - LoadAccounts(); + QVBoxLayout *layout; + layout = new QVBoxLayout; + + cb_accounts = new QComboBox(); + bt_login = new QPushButton(tr("Log In")); + bt_registernew = new QPushButton(tr("Create New Account...")); + bt_addimport = new QPushButton(tr("Add (Import) existing account...")); + bt_delete = new QPushButton(tr("Delete Account")); + + { + QFont f; + f = bt_login->font(); + f.setBold(true); + bt_login->setFont(f); + + f = cb_accounts->font(); + f.setStyleHint(QFont::Monospace); + f.setFixedPitch(true); + f.setBold(true); + f.setFamily("Liberation Mono"); + cb_accounts->setFont(f); + } + + layout->addWidget(cb_accounts); + layout->addWidget(bt_login); + layout->addWidget(bt_registernew); + layout->addWidget(bt_addimport); + layout->addWidget(bt_delete); + + QWidget *central = new QWidget(this); + setCentralWidget(central); + + centralWidget()->setLayout(layout); + + setWindowIcon(picapica_ico_sit); + + connect(bt_login, SIGNAL(clicked()), this, SLOT(login_click())); + connect(bt_registernew, SIGNAL(clicked()), this, SLOT(register_click())); + connect(bt_addimport, SIGNAL(clicked()), this, SLOT(add_click())); + connect(bt_delete, SIGNAL(clicked()), this, SLOT(delete_click())); + + LoadAccounts(); } void AccountsWindow::LoadAccounts() { - cb_accounts->clear(); - L.clear(); - L=accounts.GetAccounts(); - - if (0==L.count()) - { - cb_accounts->addItem(tr(" ---No Accounts --")); - - bt_login->setDisabled(true); - } - else - { - for (int i=0;i<L.count();i++) - cb_accounts->addItem(QString("%1 (%2...)").arg(L[i].name).arg(L[i].id.toBase64().left(8).constData()),L[i].id); - - bt_login->setEnabled(true); - } + cb_accounts->clear(); + L.clear(); + L = accounts.GetAccounts(); + + if (0 == L.count()) + { + cb_accounts->addItem(tr(" ---No Accounts --")); + + bt_login->setDisabled(true); + } + else + { + for (int i = 0; i < L.count(); i++) + cb_accounts->addItem(QString("%1 (%2...)").arg(L[i].name).arg(L[i].id.toBase64().left(8).constData()), L[i].id); + + bt_login->setEnabled(true); + } } void AccountsWindow::login_click() { - int L_index; - - for (int i=0;i<L.count();i++) - { - if (L[i].id == cb_accounts->itemData(cb_accounts->currentIndex())) - { - L_index = i; - break; - } - } - - { - QString error_str; - if (!Accounts::CheckFiles(L[L_index],error_str)) - { - QMessageBox mbx; - mbx.setText(error_str); - mbx.exec(); - return; - } - } - - Accounts::SetCurrentAccount(L[L_index]); - - skynet->Join(L[L_index]); - - mainwindow = new MainWindow(); - mainwindow->show(); - this->hide(); + int L_index; + + for (int i = 0; i < L.count(); i++) + { + if (L[i].id == cb_accounts->itemData(cb_accounts->currentIndex())) + { + L_index = i; + break; + } + } + + { + QString error_str; + if (!Accounts::CheckFiles(L[L_index], error_str)) + { + QMessageBox mbx; + mbx.setText(error_str); + mbx.exec(); + return; + } + } + + Accounts::SetCurrentAccount(L[L_index]); + + skynet->Join(L[L_index]); + + mainwindow = new MainWindow(); + mainwindow->show(); + this->hide(); } void AccountsWindow::CreateAccount(QString CertFilename, QString PkeyFilename, bool copyfiles) { - QByteArray id(PICA_ID_SIZE, 0); - int ret; - - ret = PICA_get_id_from_cert_file(CertFilename.toUtf8().constData(), (unsigned char*)id.data()); - - if (0 == ret) - { - QMessageBox mbx; - mbx.setText("Invalid certificate"); - mbx.exec(); - return; - } - - QString name = OpenSSLTool::NameFromCertFile(CertFilename); - - Accounts::AccountRecord rec; - QString certfilename, pkeyfilename; - - if (copyfiles) - { - QDir dir(config_dir); - dir.mkdir(name + '_' + id.toHex().constData()); - dir.cd(name + '_' + id.toHex().constData()); - - certfilename=dir.absolutePath()+"/" + id.toHex().constData() + "_cert.pem"; - pkeyfilename=dir.absolutePath()+"/" + id.toHex().constData() + "_pkey.pem"; - - QFile::copy(CertFilename,certfilename); - QFile::copy(PkeyFilename,pkeyfilename); - } - else - { - certfilename = CertFilename; - pkeyfilename = PkeyFilename; - } - - rec.id=id; - rec.name=name; - rec.cert_file=certfilename; - rec.pkey_file=pkeyfilename; - rec.CA_file= config_defaultCA;//;certfilename - - accounts.Add(rec); - - if (!accounts.isOK()) - { - QMessageBox mbx; - mbx.setText(accounts.GetLastError()); - mbx.exec(); - } - else - { - ShowPicaIdDialog d(name, id, tr("New account is created")); - d.exec(); - } - LoadAccounts(); + QByteArray id(PICA_ID_SIZE, 0); + int ret; + + ret = PICA_get_id_from_cert_file(CertFilename.toUtf8().constData(), (unsigned char*)id.data()); + + if (0 == ret) + { + QMessageBox mbx; + mbx.setText("Invalid certificate"); + mbx.exec(); + return; + } + + QString name = OpenSSLTool::NameFromCertFile(CertFilename); + + Accounts::AccountRecord rec; + QString certfilename, pkeyfilename; + + if (copyfiles) + { + QDir dir(config_dir); + dir.mkdir(name + '_' + id.toHex().constData()); + dir.cd(name + '_' + id.toHex().constData()); + + certfilename = dir.absolutePath() + "/" + id.toHex().constData() + "_cert.pem"; + pkeyfilename = dir.absolutePath() + "/" + id.toHex().constData() + "_pkey.pem"; + + QFile::copy(CertFilename, certfilename); + QFile::copy(PkeyFilename, pkeyfilename); + } + else + { + certfilename = CertFilename; + pkeyfilename = PkeyFilename; + } + + rec.id = id; + rec.name = name; + rec.cert_file = certfilename; + rec.pkey_file = pkeyfilename; + rec.CA_file = config_defaultCA; //;certfilename + + accounts.Add(rec); + + if (!accounts.isOK()) + { + QMessageBox mbx; + mbx.setText(accounts.GetLastError()); + mbx.exec(); + } + else + { + ShowPicaIdDialog d(name, id, tr("New account is created")); + d.exec(); + } + LoadAccounts(); } void AccountsWindow::register_click() { - RegisterAccountDialog d; - d.exec(); + RegisterAccountDialog d; + d.exec(); - if (d.result()) - { - CreateAccount(d.GetCertFilename(), d.GetPkeyFilename(), true); + if (d.result()) + { + CreateAccount(d.GetCertFilename(), d.GetPkeyFilename(), true); - QFile::remove(d.GetCertFilename()); - QFile::remove(d.GetPkeyFilename()); - } + QFile::remove(d.GetCertFilename()); + QFile::remove(d.GetPkeyFilename()); + } } void AccountsWindow::add_click() { - AddAccountDialog d; - d.exec(); + AddAccountDialog d; + d.exec(); - if (d.result()) - { - CreateAccount(d.GetCertFilename(), d.GetPkeyFilename(), d.isCopyFilesChecked()); - } + if (d.result()) + { + CreateAccount(d.GetCertFilename(), d.GetPkeyFilename(), d.isCopyFilesChecked()); + } } void AccountsWindow::delete_click() { - QByteArray id = (cb_accounts->itemData(cb_accounts->currentIndex())).toByteArray(); + QByteArray id = (cb_accounts->itemData(cb_accounts->currentIndex())).toByteArray(); - if (QMessageBox::No== - QMessageBox::question(this,tr("Deleting account"),tr("Are you sure you want to delete account %1 ?").arg(id.toBase64().constData()),QMessageBox::Yes,QMessageBox::No)) - return; + if (QMessageBox::No == + QMessageBox::question(this, tr("Deleting account"), tr("Are you sure you want to delete account %1 ?").arg(id.toBase64().constData()), QMessageBox::Yes, QMessageBox::No)) + return; - //TODO ask user if he wants to wipe certificate and private key too + //TODO ask user if he wants to wipe certificate and private key too - accounts.Delete(id); + accounts.Delete(id); - LoadAccounts(); + LoadAccounts(); } void AccountsWindow::closeEvent(QCloseEvent *e) { - QApplication::instance()->quit(); - QMainWindow::closeEvent(e); + QApplication::instance()->quit(); + QMainWindow::closeEvent(e); } |
