#include "loginwin.h"
#include "ui_loginwin.h"
#include "passwordwin.h"
#include "ui_passwordwin.h"
#include "create.h"
#include "ui_create.h"
loginWin::loginWin(QWidget *parent) :
QDialog(parent),
ui(new Ui::loginWin)
{
ui->setupUi(this);
loadUser();
warningError="Ошибка";
criticalError="Критическая ошибка";
userErrorConnection="Ошибка осуществления соединения с пользовательской базой данных";
userNotFiledb="Ошибка файл пользовательской базы данных не найден";
mainErrorConnection="Ошибка осуществления соединения с главной базой данных";
mainNotFiledb="Ошибка файл главной базы данных не найден";
getUserData();
}
loginWin::~loginWin()
{
delete ui;
}
void loginWin::getUserData()
{
QFile file;
if(file.exists("bin\\"+ui->cboAccount->itemText(ui->cboAccount->currentIndex()))){
if(file.exists("profile\\account")){
QSqlDatabase maindb = QSqlDatabase::addDatabase("QSQLITE");
maindb.setHostName("localhost");
maindb.setDatabaseName("profile\\account");
if(!maindb.open("user", "password")){
maindb.lastError().text();
QSqlDatabase::removeDatabase("QSQLITE");
QMessageBox::warning(this, warningError, mainErrorConnection);
}else{
QSqlQueryModel model;
model.setQuery("SELECT * FROM user WHERE name = '"+ui->cboAccount->itemText(ui->cboAccount->currentIndex())+"';");
for(int i = 0; i < model.rowCount(); ++i){
userCurrency=model.record(i).value("currency").toString();
userName=model.record(i).value("name").toString();
userPassword=model.record(i).value("password").toString();
userPass=model.record(i).value("pass").toString();
userPin=model.record(i).value("pin").toString();
userSound=model.record(i).value("sound").toString();
}
model.clear();
maindb.close();
QSqlDatabase::removeDatabase("QSQLITE");
};
}else{
QMessageBox::critical(this, criticalError, mainNotFiledb);
};
}else{
QMessageBox::critical(this, criticalError, userNotFiledb);
};
}
void loginWin::on_cboAccount_currentIndexChanged(QString )
{
getUserData();
}
void loginWin::on_buttonLogin_clicked()
{
if(ui->cboAccount->currentIndex()==0){
QMessageBox::warning(this, warningError, tr("Вы не выбрали учетную запись"));
}else{
PasswordWin* paq = new PasswordWin;
paq->show();
close();
};
}