Engauge Digitizer
2
Loading...
Searching...
No Matches
Export
ExportFileExtensionOverride.cpp
Go to the documentation of this file.
1
/******************************************************************************************************
2
* (C) 2019 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3
* under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4
* LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5
******************************************************************************************************/
6
7
#include "
DocumentModelExportFormat.h
"
8
#include "
ExportFileExtensionOverride.h
"
9
#include "
ExportToFile.h
"
10
11
ExportFileExtensionOverride::ExportFileExtensionOverride
()
12
{
13
}
14
15
ExportFileExtensionOverride::~ExportFileExtensionOverride
()
16
{
17
}
18
19
QString
ExportFileExtensionOverride::extensionWithPeriodCsv
(
const
ExportToFile
&
exportStrategy
)
const
20
{
21
return
QString
(
".%1"
)
22
.arg (
exportStrategy
.fileExtensionCsv());
23
}
24
25
QString
ExportFileExtensionOverride::extensionWithPeriodTsv
(
const
ExportToFile
&
exportStrategy
)
const
26
{
27
return
QString
(
".%1"
)
28
.arg (
exportStrategy
.fileExtensionTsv());
29
}
30
31
DocumentModelExportFormat
ExportFileExtensionOverride::modelExportOverride
(
const
DocumentModelExportFormat
&
modelBefore
,
32
const
ExportToFile
&
exportStrategy
,
33
const
QString
&
fileName
)
const
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) {
49
modelAfter
.setDelimiter (
EXPORT_DELIMITER_COMMA
);
50
}
else
if
(
tsvExtension
.compare (
fileExtensionVersusTsv
, Qt::CaseInsensitive) == 0) {
51
modelAfter
.setDelimiter (
EXPORT_DELIMITER_TAB
);
52
}
53
}
54
55
return
modelAfter
;
56
}
INNER_RADIUS_MIN
const int INNER_RADIUS_MIN
Definition
DlgSettingsDigitizeCurve.cpp:35
DocumentModelExportFormat.h
EXPORT_DELIMITER_COMMA
@ EXPORT_DELIMITER_COMMA
Definition
ExportDelimiter.h:15
EXPORT_DELIMITER_TAB
@ EXPORT_DELIMITER_TAB
Definition
ExportDelimiter.h:17
ExportFileExtensionOverride.h
ExportToFile.h
DocumentModelExportFormat
Model for DlgSettingsExportFormat and CmdSettingsExportFormat.
Definition
DocumentModelExportFormat.h:24
ExportFileExtensionOverride::~ExportFileExtensionOverride
virtual ~ExportFileExtensionOverride()
Definition
ExportFileExtensionOverride.cpp:15
ExportFileExtensionOverride::extensionWithPeriodCsv
QString extensionWithPeriodCsv(const ExportToFile &exportStrategy) const
Extension for csv file with period.
Definition
ExportFileExtensionOverride.cpp:19
ExportFileExtensionOverride::extensionWithPeriodTsv
QString extensionWithPeriodTsv(const ExportToFile &exportStrategy) const
Extension for tsv file with period.
Definition
ExportFileExtensionOverride.cpp:25
ExportFileExtensionOverride::modelExportOverride
DocumentModelExportFormat modelExportOverride(const DocumentModelExportFormat &modelExportFormatBefore, const ExportToFile &exportStrategy, const QString &selectedNameFilter) const
Adjust export settings given filename extension.
Definition
ExportFileExtensionOverride.cpp:31
ExportFileExtensionOverride::ExportFileExtensionOverride
ExportFileExtensionOverride()
Single constructor.
Definition
ExportFileExtensionOverride.cpp:11
ExportToFile
Strategy class for exporting to a file. This strategy is external to the Document class so that class...
Definition
ExportToFile.h:26
Generated on Sat Dec 21 2024 18:04:12 for Engauge Digitizer by
1.10.0