Хранилища Subversion qb

Сравнить редакции

Не учитывать пробелы Редакция 1 → Редакция 2

/trunk/qbsqlator/qbsqlator.pro
Новый файл
0,0 → 1,11
# -------------------------------------------------
# Project created by QtCreator 2009-10-18T14:44:49
# -------------------------------------------------
QT += sql
TARGET = qbsqlator
TEMPLATE = app
SOURCES += main.cpp \
mainwindow.cpp \
dbconfigdialog.cpp
HEADERS += mainwindow.h \
dbconfigdialog.h
/trunk/qbsqlator/dbconfigdialog.cpp
Новый файл
0,0 → 1,49
#include <QtGui>
#include <QtSql>
#include "dbconfigdialog.h"
 
DbConfigDialog::DbConfigDialog()
{
QLabel *driversLabel = new QLabel("Driver");
driversCombo = new QComboBox;
driversCombo->setModel(new QStringListModel(QSqlDatabase::drivers(), this));
 
QLabel *databaseLabel = new QLabel("Database");
databaseEdit = new QLineEdit;
 
QGridLayout *settingsLayout = new QGridLayout();
settingsLayout->addWidget(driversLabel,0,0);
settingsLayout->addWidget(driversCombo,0,1);
settingsLayout->addWidget(databaseLabel,1,0);
settingsLayout->addWidget(databaseEdit,1,1);
 
QPushButton *readButton = new QPushButton("Read");
QPushButton *saveButton = new QPushButton("Save");
QHBoxLayout *buttonLayout = new QHBoxLayout;
buttonLayout->addWidget(readButton);
buttonLayout->addWidget(saveButton);
 
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addLayout(settingsLayout);
mainLayout->addLayout(buttonLayout);
setLayout(mainLayout);
 
connect(readButton,SIGNAL(clicked()),this,SLOT(on_read_settings()));
connect(saveButton,SIGNAL(clicked()),this,SLOT(on_save_settings()));
 
on_read_settings();
}
 
void DbConfigDialog::on_read_settings()
{
QSettings settings;
driversCombo->setCurrentIndex(driversCombo->findText(settings.value("DB/driver").toString()));
databaseEdit->setText(settings.value("DB/database").toString());
}
 
void DbConfigDialog::on_save_settings()
{
QSettings settings;
settings.setValue("DB/driver",driversCombo->currentText());
settings.setValue("DB/database",databaseEdit->text());
}
/trunk/qbsqlator/mainwindow.cpp
Новый файл
0,0 → 1,72
#include <QtGui>
#include <QtSql>
#include "mainwindow.h"
#include "dbconfigdialog.h"
 
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QLabel *dbLabel = new QLabel("Database");
QComboBox *dbCombo = new QComboBox;
dbCombo->addItem("default");
dbCombo->setEnabled(false);
QPushButton *dbPrefButton = new QPushButton("Config");
QPushButton *dbConnectButton = new QPushButton("Connect");
QHBoxLayout *dbLayout = new QHBoxLayout;
dbLayout->addWidget(dbLabel);
dbLayout->addWidget(dbCombo);
dbLayout->addWidget(dbPrefButton);
dbLayout->addWidget(dbConnectButton);
 
queryEdit = new QTextEdit;
QPushButton *queryExecButton = new QPushButton("Exec");
QHBoxLayout *queryLayout = new QHBoxLayout;
queryLayout->addWidget(queryEdit);
queryLayout->addWidget(queryExecButton);
 
resultTable = new QTableView;
resultModel = new QSqlQueryModel;
 
QWidget *mainWidget = new QWidget;
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addLayout(dbLayout);
mainLayout->addLayout(queryLayout);
mainLayout->addWidget(resultTable);
 
mainWidget->setLayout(mainLayout);
setCentralWidget(mainWidget);
 
connect(queryExecButton,SIGNAL(clicked()),this,SLOT(queryExec()));
connect(dbPrefButton, SIGNAL(clicked()),this,SLOT(settingsDB()));
connect(dbConnectButton, SIGNAL(clicked()),this,SLOT(connectDB()));
}
 
MainWindow::~MainWindow()
{
 
}
 
void MainWindow::queryExec()
{
resultModel->setQuery(queryEdit->toPlainText());
resultTable->setModel(resultModel);
resultTable->show();
}
 
void MainWindow::settingsDB()
{
DbConfigDialog *dbc = new DbConfigDialog();
dbc->exec();
}
 
void MainWindow::connectDB()
{
QSettings settings;
 
QSqlDatabase db = QSqlDatabase::addDatabase(settings.value("DB/driver").toString());
db.setDatabaseName(settings.value("DB/database").toString());
if (!db.open())
QMessageBox::critical(this, tr("Connection error"), tr("Can't open database\n%1").arg(db.lastError().text()), QMessageBox::Ok);
else
QMessageBox::information(this,tr("Connection complete"), tr("Connection complete!"),QMessageBox::Ok);
}
/trunk/qbsqlator/dbconfigdialog.h
Новый файл
0,0 → 1,21
#ifndef DBCONFIGDIALOG_H
#define DBCONFIGDIALOG_H
 
#include <QtGui>
#include <QDialog>
 
class DbConfigDialog : public QDialog
{
Q_OBJECT
 
public:
DbConfigDialog();
private:
QComboBox *driversCombo;
QLineEdit *databaseEdit;
private slots:
void on_read_settings();
void on_save_settings();
};
 
#endif // DBCONFIGDIALOG_H
/trunk/qbsqlator/mainwindow.h
Новый файл
0,0 → 1,27
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QtSql>
#include <QtGui/QMainWindow>
 
class QTextEdit;
class QTableView;
 
class MainWindow : public QMainWindow
{
Q_OBJECT
 
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private:
QTextEdit *queryEdit;
QSqlQueryModel *resultModel;
QTableView *resultTable;
private slots:
void queryExec();
void settingsDB();
void connectDB();
};
 
#endif // MAINWINDOW_H
/trunk/qbsqlator/main.cpp
Новый файл
0,0 → 1,13
#include <QtGui/QApplication>
#include "mainwindow.h"
 
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QApplication::setOrganizationName("qb");
QApplication::setOrganizationDomain("qb.org.ru");
QApplication::setApplicationName("qbsqlator");
MainWindow w;
w.show();
return a.exec();
}