Commit 730b5f6
Changed files (5)
lib
l10n
screens
subsettings
lib/l10n/app_en.arb
@@ -399,5 +399,11 @@
"maximum": "Maximum",
"@maximum": {},
"minimum": "Minimum",
- "@minimum": {}
+ "@minimum": {},
+ "exportPdfExportTitle": "Headline",
+ "@exportPdfExportTitle": {},
+ "exportPdfExportStatistics": "Statistics",
+ "@exportPdfExportStatistics": {},
+ "exportPdfExportData": "Data table",
+ "@exportPdfExportData": {}
}
lib/model/export_import.dart
@@ -146,9 +146,12 @@ class ExportFileCreator {
pageFormat: PdfPageFormat.a4,
build: (pw.Context context) {
return [
- _buildPdfTitle(dateFormatter, analyzer),
- _buildPdfStatistics(analyzer),
- _buildPdfTable(data, dateFormatter),
+ if (settings.exportPdfExportTitle)
+ _buildPdfTitle(dateFormatter, analyzer),
+ if (settings.exportPdfExportStatistics)
+ _buildPdfStatistics(analyzer),
+ if (settings.exportPdfExportData)
+ _buildPdfTable(data, dateFormatter),
];
}));
return await pdf.save();
lib/model/ram_only_implementations.dart
@@ -429,6 +429,45 @@ class RamSettings extends ChangeNotifier implements Settings {
notifyListeners();
}
+ bool _exportPdfExportTitle = true;
+
+ @override
+ bool get exportPdfExportTitle {
+ return _exportPdfExportTitle;
+ }
+
+ @override
+ set exportPdfExportTitle(bool value) {
+ _exportPdfExportTitle = value;
+ notifyListeners();
+ }
+
+ bool _exportPdfExportStatistics = false;
+
+ @override
+ bool get exportPdfExportStatistics {
+ return _exportPdfExportStatistics;
+ }
+
+ @override
+ set exportPdfExportStatistics(bool value) {
+ _exportPdfExportStatistics = value;
+ notifyListeners();
+ }
+
+ bool _exportPdfExportData = true;
+
+ @override
+ bool get exportPdfExportData {
+ return _exportPdfExportData;
+ }
+
+ @override
+ set exportPdfExportData(bool value) {
+ _exportPdfExportData = value;
+ notifyListeners();
+ }
+
@override
void changeStepSize(TimeStep value) {
graphStepSize = value;
lib/model/settings_store.dart
@@ -536,6 +536,33 @@ class Settings extends ChangeNotifier {
_prefs.setDouble('exportPdfCellFontSize', value);
notifyListeners();
}
+
+ bool get exportPdfExportTitle {
+ return _prefs.getBool('exportPdfExportTitle') ?? true;
+ }
+
+ set exportPdfExportTitle(bool value) {
+ _prefs.setBool('exportPdfExportTitle', value);
+ notifyListeners();
+ }
+
+ bool get exportPdfExportStatistics {
+ return _prefs.getBool('exportPdfExportStatistics') ?? false;
+ }
+
+ set exportPdfExportStatistics(bool value) {
+ _prefs.setBool('exportPdfExportStatistics', value);
+ notifyListeners();
+ }
+
+ bool get exportPdfExportData {
+ return _prefs.getBool('exportPdfExportData') ?? true;
+ }
+
+ set exportPdfExportData(bool value) {
+ _prefs.setBool('exportPdfExportData', value);
+ notifyListeners();
+ }
}
enum TimeStep {
lib/screens/subsettings/export_import_screen.dart
@@ -95,6 +95,30 @@ class ExportImportScreen extends StatelessWidget {
settings.exportCsvHeadline = value;
}
),
+ SwitchSettingsTile(
+ title: Text(localizations.exportPdfExportTitle),
+ initialValue: settings.exportPdfExportTitle,
+ disabled: settings.exportFormat != ExportFormat.pdf,
+ onToggle: (value) {
+ settings.exportPdfExportTitle = value;
+ }
+ ),
+ SwitchSettingsTile(
+ title: Text(localizations.exportPdfExportStatistics),
+ initialValue: settings.exportPdfExportStatistics,
+ disabled: settings.exportFormat != ExportFormat.pdf,
+ onToggle: (value) {
+ settings.exportPdfExportStatistics = value;
+ }
+ ),
+ SwitchSettingsTile(
+ title: Text(localizations.exportPdfExportData),
+ initialValue: settings.exportPdfExportData,
+ disabled: settings.exportFormat != ExportFormat.pdf,
+ onToggle: (value) {
+ settings.exportPdfExportData = value;
+ }
+ ),
InputSettingsTile(
initialValue: settings.exportPdfHeaderHeight.toString(),
title: Text(localizations.exportPdfHeaderHeight),
@@ -102,7 +126,7 @@ class ExportImportScreen extends StatelessWidget {
final pV = double.tryParse(value??'');
if (pV != null) settings.exportPdfHeaderHeight = pV;
},
- disabled: (settings.exportFormat != ExportFormat.pdf),
+ disabled: !(settings.exportFormat == ExportFormat.pdf && settings.exportPdfExportData),
keyboardType: TextInputType.number,
inputWidth: 40,
),
@@ -113,7 +137,7 @@ class ExportImportScreen extends StatelessWidget {
final pV = double.tryParse(value??'');
if (pV != null) settings.exportPdfCellHeight = pV;
},
- disabled: (settings.exportFormat != ExportFormat.pdf),
+ disabled: !(settings.exportFormat == ExportFormat.pdf && settings.exportPdfExportData),
keyboardType: TextInputType.number,
inputWidth: 40,
),
@@ -124,7 +148,7 @@ class ExportImportScreen extends StatelessWidget {
final pV = double.tryParse(value??'');
if (pV != null) settings.exportPdfHeaderFontSize = pV;
},
- disabled: (settings.exportFormat != ExportFormat.pdf),
+ disabled: !(settings.exportFormat == ExportFormat.pdf && settings.exportPdfExportData),
keyboardType: TextInputType.number,
inputWidth: 40,
),
@@ -135,7 +159,7 @@ class ExportImportScreen extends StatelessWidget {
final pV = double.tryParse(value??'');
if (pV != null) settings.exportPdfCellFontSize = pV;
},
- disabled: (settings.exportFormat != ExportFormat.pdf),
+ disabled: !(settings.exportFormat == ExportFormat.pdf && settings.exportPdfExportData),
keyboardType: TextInputType.number,
inputWidth: 40,
),
@@ -183,12 +207,14 @@ class _ExportFieldCustomisationSettingState extends State<ExportFieldCustomisati
SwitchSettingsTile(
title: Text(localizations.exportCustomEntries),
initialValue: settings.exportCustomEntries,
- disabled: ![ExportFormat.csv, ExportFormat.pdf].contains(settings.exportFormat),
+ disabled: !(settings.exportFormat == ExportFormat.csv || settings.exportFormat == ExportFormat.pdf &&
+ settings.exportPdfExportData),
onToggle: (value) {
settings.exportCustomEntries = value;
}
),
- (settings.exportCustomEntries && [ExportFormat.csv, ExportFormat.pdf].contains(settings.exportFormat)) ?
+ (settings.exportCustomEntries && (settings.exportFormat == ExportFormat.csv || settings.exportFormat == ExportFormat.pdf &&
+ settings.exportPdfExportData)) ?
ExportItemsCustomizer(
shownItems: activeFields,
disabledItems: hiddenFields,