Login::Login(QWidget *parent) :
QWidget(parent)
{
qsettings=new QSettings(QString(":/config/config.ini"), QSettings::IniFormat);
Login::setWindowModality(Qt::ApplicationModal);
Login::setWindowIcon(QIcon(":/config/images/logos/login.png"));
Login::setWindowTitle("Login");
//server="193.147.83.170";
//port=QString::number(5432);
//database="dgt";
QString database=qsettings->value("bd","").toString();
QString server=qsettings->value("server","").toString();
QString port=qsettings->value("port","").toString();
shortcut = new QShortcut(QKeySequence("Return"),this);
connect(shortcut, SIGNAL(activated()), this, SLOT(on_btnConectar_clicked()));
mainLayout=new QVBoxLayout(this);
mainLayout->setGeometry( QRect( 25, 50, 1052, 720 ) );
verticalLayout=new QVBoxLayout();
labelDatabase= new QLabel();
labelDatabase->setText( tr( "Database" ));
labelDatabase->setAlignment(Qt::AlignCenter);
lineDatabase = new QLineEdit();
lineDatabase->setAlignment(Qt::AlignCenter);
lineDatabase->setText(database);
labelHost= new QLabel();
labelHost->setText( tr( "Server" ) );
labelHost->setAlignment(Qt::AlignCenter);
lineHost = new QLineEdit();
lineHost->setAlignment(Qt::AlignCenter);
lineHost->setText(server);
labelPort= new QLabel();
labelPort->setText( tr( "Port" ) );
labelPort->setAlignment(Qt::AlignCenter);
linePort = new QLineEdit();
linePort->setAlignment(Qt::AlignCenter);
linePort->setText(port);
labelUsuario= new QLabel();
labelUsuario->setText( tr( "Usuario" ) );
labelUsuario->setAlignment(Qt::AlignCenter);
lineUsuario = new QLineEdit();
lineUsuario->setAlignment(Qt::AlignCenter);
labelPassword= new QLabel();
labelPassword->setText( tr( "Password" ) );
labelPassword->setAlignment(Qt::AlignCenter);
linePassword= new QLineEdit();
linePassword->setAlignment(Qt::AlignCenter);
linePassword->setEchoMode(QLineEdit::Password);
btnConectar= new QPushButton();
btnConectar->setText( tr( "Conectar" ) );
verticalLayout->addWidget(labelDatabase);
verticalLayout->addWidget(lineDatabase);
verticalLayout->addWidget(labelHost);
verticalLayout->addWidget(lineHost);
verticalLayout->addWidget(labelPort);
verticalLayout->addWidget(linePort);
verticalLayout->addWidget(labelUsuario);
verticalLayout->addWidget(lineUsuario);
verticalLayout->addWidget(labelPassword);
verticalLayout->addWidget(linePassword);
verticalLayout->addWidget(btnConectar);
statusBar=new QStatusBar();
statusBar->showMessage(" ");
statLabel=new QLabel(this);
statLabel->setText("Procesando");
statProgress=new QProgressBar(this);
statProgress->setTextVisible(false);
statProgress->setRange(0,0);
statusBar->addPermanentWidget(statLabel);
statusBar->addPermanentWidget(statProgress,1);
statusBar->setVisible(false);
mainLayout->addLayout(verticalLayout);
mainLayout->addWidget(statusBar);
mes= new QMessageBox();
driver="QPSQL";
connect(btnConectar, SIGNAL (clicked()), this, SLOT (on_btnConectar_clicked()));
}
void Login::on_btnConectar_clicked()
{
statusBar->setVisible(true);
QString db=lineDatabase->text();
QString server2=lineHost->text();
int port2=linePort->text().toInt();
QString user=lineUsuario->text();
QString pass=linePassword->text();
dbase=QSqlDatabase::addDatabase(driver);
//db.setDatabaseName("DRIVER=(QPSQL);SERVER="+host+";DATABASE="+ui->txtDatabase->text()+";");
dbase.setUserName(user);
dbase.setPassword(pass);
dbase.setHostName(server2);
dbase.setDatabaseName(db);
dbase.setPort(port2);
if(dbase.open()){
mes->setText(QObject::tr("conexión establecida"));
mes->show();
emit conectado();
close();
}else{
mes->setText("No se ha podido conectar revise los datos introducidos");
mes->show();
statusBar->setVisible(false);
}
}
File config.ini:
[Settings]
; default = standard appearance
theme = default
; es = spanish; pt = portuguese; en = english;
language = es
; true = ladybug images ; false = traditional images
ladybug = true
[DBDefault]
; true = online ; false = offline;
online = false
; Server URL or IP
server = 193.147.83.170
; Port
port = 5432
; Database name
db = dgt
; Database user
user = postgres