#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().