Engauge Digitizer 2
Loading...
Searching...
No Matches
ExportFileExtensionOverride Class Reference

Utility class for adjusting export settings given filename extension. More...

#include <ExportFileExtensionOverride.h>

Collaboration diagram for ExportFileExtensionOverride:
Collaboration graph

Public Member Functions

 ExportFileExtensionOverride ()
 Single constructor.
virtual ~ExportFileExtensionOverride ()
QString extensionWithPeriodCsv (const ExportToFile &exportStrategy) const
 Extension for csv file with period.
QString extensionWithPeriodTsv (const ExportToFile &exportStrategy) const
 Extension for tsv file with period.
DocumentModelExportFormat modelExportOverride (const DocumentModelExportFormat &modelExportFormatBefore, const ExportToFile &exportStrategy, const QString &selectedNameFilter) const
 Adjust export settings given filename extension.

Detailed Description

Utility class for adjusting export settings given filename extension.

Definition at line 16 of file ExportFileExtensionOverride.h.

Constructor & Destructor Documentation

◆ ExportFileExtensionOverride()

ExportFileExtensionOverride::ExportFileExtensionOverride ( )

Single constructor.

Definition at line 11 of file ExportFileExtensionOverride.cpp.

12{
13}

◆ ~ExportFileExtensionOverride()

ExportFileExtensionOverride::~ExportFileExtensionOverride ( )
virtual

Definition at line 15 of file ExportFileExtensionOverride.cpp.

16{
17}

Member Function Documentation

◆ extensionWithPeriodCsv()

QString ExportFileExtensionOverride::extensionWithPeriodCsv ( const ExportToFile & exportStrategy) const

Extension for csv file with period.

Definition at line 19 of file ExportFileExtensionOverride.cpp.

20{
21 return QString (".%1")
22 .arg (exportStrategy.fileExtensionCsv());
23}
QString fileExtensionCsv() const
File extension for csv export files.

◆ extensionWithPeriodTsv()

QString ExportFileExtensionOverride::extensionWithPeriodTsv ( const ExportToFile & exportStrategy) const

Extension for tsv file with period.

Definition at line 25 of file ExportFileExtensionOverride.cpp.

26{
27 return QString (".%1")
28 .arg (exportStrategy.fileExtensionTsv());
29}
QString fileExtensionTsv() const
File extension for tsv export files.

◆ modelExportOverride()

DocumentModelExportFormat ExportFileExtensionOverride::modelExportOverride ( const DocumentModelExportFormat & modelExportFormatBefore,
const ExportToFile & exportStrategy,
const QString & selectedNameFilter ) const

Adjust export settings given filename extension.

Definition at line 31 of file ExportFileExtensionOverride.cpp.

34{
35 DocumentModelExportFormat modelAfter = modelBefore;
36
37 // See if delimiter setting overrides commas/tabs for files with csv/tsv file extensions respectively
38 if (!modelAfter.overrideCsvTsv()) {
39
40 // Extract file extensions
41 QString csvExtension = extensionWithPeriodCsv (exportStrategy);
42 QString tsvExtension = extensionWithPeriodTsv (exportStrategy);
43 QString fileExtensionVersusCsv = fileName.right (csvExtension.size());
44 QString fileExtensionVersusTsv = fileName.right (tsvExtension.size());
45
46 // Override if CSV or TSV was selected. We cannot use QFileDialog::selectedNameFilter() since that is
47 // broken in Linux, so we use the file extension
48 if (csvExtension.compare (fileExtensionVersusCsv, Qt::CaseInsensitive) == 0) {
50 } else if (tsvExtension.compare (fileExtensionVersusTsv, Qt::CaseInsensitive) == 0) {
52 }
53 }
54
55 return modelAfter;
56}
@ EXPORT_DELIMITER_COMMA
@ EXPORT_DELIMITER_TAB
bool overrideCsvTsv() const
Get method for csv/tsv format override.
void setDelimiter(ExportDelimiter exportDelimiter)
Set method for delimiter.
QString extensionWithPeriodCsv(const ExportToFile &exportStrategy) const
Extension for csv file with period.
QString extensionWithPeriodTsv(const ExportToFile &exportStrategy) const
Extension for tsv file with period.

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