#include <exporttable.h>
Public Slots | |
| void | selectFile () |
| void | showColumns () |
| void | startExport () |
| void | exportFinished (bool) |
| void | updateDisplay () |
Public Member Functions | |
| ExportTable (QWidget *parent=0) | |
| ~ExportTable () | |
Public Attributes | |
| QSqlDatabase | db |
| QString | dbName |
| QString | tableName |
| QString | query |
Definition at line 12 of file exporttable.h.
| ExportTable::ExportTable | ( | QWidget * | parent = 0 ) |
[explicit] |
Definition at line 4 of file exporttable.cpp.
References selectFile(), and startExport().
:
QDialog(parent),
ui(new Ui::ExportTable)
{
ui->setupUi(this);
connect (ui->cmdExport, SIGNAL(clicked()), this, SLOT(startExport()));
connect (ui->cmdSetFileName, SIGNAL(clicked()), this, SLOT(selectFile()));
}
| ExportTable::~ExportTable | ( | ) |
Definition at line 13 of file exporttable.cpp.
{
delete ui;
}
| void ExportTable::exportFinished | ( | bool | succ ) | [slot] |
Definition at line 75 of file exporttable.cpp.
Referenced by startExport().
{
if (succ) {
QMessageBox::information(this, "Success", "Export succeeded");
}else {
QMessageBox::warning(this, "Error", "Export failed!");
}
}
| void ExportTable::selectFile | ( | ) | [slot] |
Definition at line 18 of file exporttable.cpp.
Referenced by ExportTable().
{
QString fileName;
if (ui->optCSV->isChecked()) {
fileName = QFileDialog::getSaveFileName(this, "Enter the CSV file to dump to.", QString(),"CSV Files (*.csv)");
} else if (ui->optHTML->isChecked()) {
fileName = QFileDialog::getSaveFileName(this, "Enter the HTML file to dump to.", QString(),"Web Files (*.htm)");
} else if (ui->optXML->isChecked()) {
fileName = QFileDialog::getSaveFileName(this, "Enter the XML file to dump to.", QString(),"XML Files (*.xml)");
} else if (ui->optExcel->isChecked()) {
fileName = QFileDialog::getSaveFileName(this, "Enter the Excel file to dump to.", QString(),"Excel XML Files (*.xml)");
}
if (fileName != "") {
ui->txtFileName->setText(fileName);
}
}
| void ExportTable::showColumns | ( | ) | [slot] |
Definition at line 36 of file exporttable.cpp.
References db, dbName, and query.
{
if (db.open()) { }
if (db.isOpen()) {
QSqlQuery qu = QSqlQuery(db);
qu.exec(tr("use `%1`").arg(dbName));
qu.clear();
if (qu.exec(query)) {
qu.first();
QSqlRecord rec = qu.record();
for (int i = 0; i < rec.count(); i++) {
QString colName = rec.fieldName(i);
ui->lstColumns->insertItem(ui->lstColumns->count(), colName);
ui->lstColumns->item(ui->lstColumns->count() - 1)->setCheckState(Qt::Checked);
}
}
qu.clear();
}
}
| void ExportTable::startExport | ( | ) | [slot] |
Definition at line 55 of file exporttable.cpp.
References ExportTableThread::columnList, db, dbName, exportFinished(), query, ExportTableThread::run(), ExportTableThread::strQuery, and tableName.
Referenced by ExportTable().
{
if (ui->txtFileName->text() != "") {
expThread = new ExportTableThread(this);
connect(expThread, SIGNAL(completed(bool)), this, SLOT(exportFinished(bool)));
expThread->strQuery = query;
QStringList columnList;
for (int i = 0; i < ui->lstColumns->count(); i++) {
if (ui->lstColumns->item(i)->checkState()== Qt::Checked) {
columnList << ui->lstColumns->item(i)->text();
}
}
expThread->columnList = columnList;
expThread->run(db, dbName, tableName, ui->txtFileName->text(), ",", "\"", "\n", true,
ui->optCSV->isChecked(),
ui->optHTML->isChecked(), ui->optXML->isChecked(), ui->optExcel->isChecked());
} else {
QMessageBox::warning(this, "Error", "Export failed!\n\nPlease enter the file name.");
}
}
| void ExportTable::updateDisplay | ( | ) | [slot] |
Definition at line 83 of file exporttable.cpp.
{
}
| QSqlDatabase ExportTable::db |
Definition at line 19 of file exporttable.h.
Referenced by showColumns(), and startExport().
| QString ExportTable::dbName |
Definition at line 20 of file exporttable.h.
Referenced by showColumns(), and startExport().
| QString ExportTable::query |
Definition at line 22 of file exporttable.h.
Referenced by showColumns(), and startExport().
| QString ExportTable::tableName |
Definition at line 21 of file exporttable.h.
Referenced by startExport().
1.7.2