summaryrefslogtreecommitdiff
path: root/src/export-import/CsvExportDialog.h
blob: d99c4217b4593fccb5255775cdf8dcd0a81fae2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef CSVEXPORTDIALOG_H
#define CSVEXPORTDIALOG_H

#include <QtCore>
#include <QtWidgets>

#include "CsvDialog.h"

class Dictionary;
class DicCsvWriter;

class CsvExportDialog: public CsvDialog
{
    Q_OBJECT

public:
    CsvExportDialog(QWidget* parent, const Dictionary* dict );
    ~CsvExportDialog();

    void SaveCSVToFile( const QString& aFilePath );

protected:
    QLayout* createLeftGroupLayout();
    QString getLeftGroupTitle() { return tr("Output"); }
    QLayout* createSeparatorsLayout();
    QLayout* createPreviewLt();

protected slots:
    void updatePreview();

private slots:
    void UpdateQuoteAllFieldsCB();
    void UpdateCharVisibility();

private:
    QWidget* createUsedColsEdit();
    QWidget* createWriteColumnNamesBox();
    QList<int> getUsedColumns();
    QWidget* createPreview();
    QCheckBox* createShowInvisibleBox();

private:
    const Dictionary* dictionary;   // not own, created here
    DicCsvWriter* dicWriter;
    QLineEdit* usedColsEdit;
    QCheckBox* writeColumnNamesCB;
    QCheckBox* quoteAllFieldsCB;
    QTextEdit* csvPreview;
    QCheckBox* showInvisibleCharsCB;
};

#endif