Public Slots | Public Member Functions | Public Attributes

ExportTable Class Reference

#include <exporttable.h>

List of all members.

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

Detailed Description

Definition at line 12 of file exporttable.h.


Constructor & Destructor Documentation

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;
}

Member Function Documentation

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.

                                {

}

Member Data Documentation

QSqlDatabase ExportTable::db

Definition at line 19 of file exporttable.h.

Referenced by showColumns(), and startExport().

Definition at line 20 of file exporttable.h.

Referenced by showColumns(), and startExport().

Definition at line 22 of file exporttable.h.

Referenced by showColumns(), and startExport().

Definition at line 21 of file exporttable.h.

Referenced by startExport().


The documentation for this class was generated from the following files: