source: edificiomix/trunk/formconexion.cpp @ 10

Revision 10, 4.6 KB checked in by enmanuelmoreira, 9 years ago (diff)
  • Property svn:executable set to *
Line 
1#include "formconexion.h"
2#include "ui_formconexion.h"
3#include "conectarbd.h"
4
5#include <QSettings>
6#include <QMessageBox>
7#include <QString>
8#include <QStringList>
9
10FormConexion::FormConexion(QWidget *parent) :
11    QWidget(parent),
12    ui(new Ui::FormConexion)
13{
14    ui->setupUi(this);
15    this->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint | Qt::WindowContextHelpButtonHint);
16    //this->leerConfig();
17
18    QStringList drivers = QSqlDatabase::drivers();
19    drivers.removeAll("QMYSQL3");
20    drivers.removeAll("QOCI8");
21    drivers.removeAll("QODBC3");
22    drivers.removeAll("QPSQL7");
23    drivers.removeAll("QTDS7");
24    QSettings config("edificiomix.ini", QSettings::IniFormat);
25    QString sqltype = config.value("bd/driver","").toString();
26    QString direccion = config.value("bd/direccion","").toString();
27    /*QString dbname = config.value("bd/dbname","").toString();*/
28    QString usuario = config.value("bd/usuario","").toString();
29    QString contrasena = config.value("bd/contrasena","").toString();
30    QString puerto = config.value("bd/puerto","").toString();
31
32    ui->comboDriver->addItems(drivers);
33    if (sqltype !="")
34    {
35        int index = ui->comboDriver->findText(sqltype);
36
37        ui->comboDriver->setCurrentIndex(index);
38    }
39    if (direccion != "")
40    {
41        ui->campoDireccion->setText(direccion);
42    }
43    /*if (dbname != "")
44    {
45        editDBName->setText(dbname);
46    }*/
47    if (usuario != "")
48    {
49        ui->campoUsuario->setText(usuario);
50    }
51    if (contrasena != "")
52    {
53        ui->campoContrasena->setText(contrasena);
54    }
55
56    if (puerto != "")
57    {
58        ui->campoPuerto->setText(puerto);
59    }
60}
61
62FormConexion::~FormConexion()
63{
64    delete ui;
65}
66
67void FormConexion::on_botonCancelar_clicked()
68{
69    this->close();
70}
71
72void FormConexion::on_botonGuardar_clicked()
73{
74    if (ui->campoDireccion->text() != "" && ui->campoUsuario->text() != "" && ui->campoContrasena->text() != "" && ui->campoPuerto->text() != "")
75    {
76        try
77        {
78            // guardamos el archivo de configuracion
79            QSettings config("edificiomix.ini", QSettings::IniFormat);
80            config.setValue("bd/driver", ui->comboDriver->currentText());
81            config.setValue("bd/direccion", ui->campoDireccion->text());
82            config.setValue("bd/usuario", ui->campoUsuario->text());
83            config.setValue("bd/contrasena", ui->campoContrasena->text());
84            config.setValue("bd/puerto", ui->campoPuerto->text());
85
86            // mostramos un mensaje
87            QMessageBox::information(this, trUtf8("Informacion"), trUtf8("La conexion ha sido guadarda correctamente"));
88        }
89        catch (std::exception &e)
90        {
91            // mostramos un mensaje de error
92            QMessageBox::critical(this, trUtf8("Error"), e.what());
93        }
94        // cerramos el formulario
95        this->close();
96    }
97    else
98    {
99        QMessageBox::critical(this, trUtf8("Error"), trUtf8("Todos los datos son necesarios"));
100    }
101}
102
103/*void FormConexion::on_botonProbar_clicked()
104{
105
106    ConectarBD testConexion;
107
108    if (ui->campoDireccion->text() != "" && ui->campoUsuario->text() != "" && ui->campoContrasena->text() != "" && ui->campoPuerto->text() != "")
109    {
110        QSqlDatabase nuevaConexion;
111        nuevaConexion.setHostName(ui->campoDireccion->text());
112        nuevaConexion.setUserName(ui->campoUsuario->text());
113        nuevaConexion.setPassword(ui->campoContrasena->text());
114        nuevaConexion.setPort(ui->campoPuerto->text().toInt());
115        if (testConexion.probarConexion(nuevaConexion))
116        {
117            QMessageBox::information(this, trUtf8("Informacion"), \
118                                     trUtf8("Conexion Existosa"));
119        }
120        else
121        {
122            QMessageBox::critical(this, trUtf8("Error"), \
123                                  trUtf8("Conexion Erronea"));
124        }
125    }
126    else
127    {
128        QMessageBox::critical(this, trUtf8("Error"), \
129                              trUtf8("Todos los datos son necesarios"));
130    }
131}*/
132
133/*void FormConexion::leerConfig()
134{
135
136}*/
137
138void FormConexion::on_comboDriver_currentIndexChanged()
139{
140    QString driver = ui->comboDriver->currentText();
141    if (driver == "QPSQL") {
142        ui->campoPuerto->setEnabled(true);
143    }
144    if (driver == "QODBC") {
145        ui->campoPuerto->setEnabled(false);
146        ui->campoPuerto->setEnabled(false);
147    }
148    if (driver == "QMYSQL") {
149        ui->campoPuerto->setEnabled(true);
150    }
151    if (driver == "QSQLITE") {
152        ui->campoPuerto->setEnabled(false);
153    }
154}
Note: See TracBrowser for help on using the repository browser.