Changeset View
Changeset View
Standalone View
Standalone View
kmymoney/plugins/xmlhelper/xmlstoragehelper.cpp
Show First 20 Lines • Show All 81 Lines • ▼ Show 20 Line(s) | 71 | enum class Report { | |||
---|---|---|---|---|---|
82 | LogYAxis, ChartLineWidth, ColumnType, RowType, | 82 | LogYAxis, ChartLineWidth, ColumnType, RowType, | ||
83 | DataRangeStart, DataRangeEnd, | 83 | DataRangeStart, DataRangeEnd, | ||
84 | DataMajorTick, DataMinorTick, | 84 | DataMajorTick, DataMinorTick, | ||
85 | YLabelsPrecision, QueryColumns, | 85 | YLabelsPrecision, QueryColumns, | ||
86 | Tax, Loans, HideTransactions, InvestmentSum, | 86 | Tax, Loans, HideTransactions, InvestmentSum, | ||
87 | SettlementPeriod, ShowSTLTCapitalGains, TermsSeparator, | 87 | SettlementPeriod, ShowSTLTCapitalGains, TermsSeparator, | ||
88 | Pattern, CaseSensitive, RegEx, InvertText, State, | 88 | Pattern, CaseSensitive, RegEx, InvertText, State, | ||
89 | From, To, | 89 | From, To, | ||
90 | Validity, | 90 | Validity, ChartPalette, | ||
91 | // insert new entries above this line | 91 | // insert new entries above this line | ||
92 | LastAttribute | 92 | LastAttribute | ||
93 | }; | 93 | }; | ||
94 | 94 | | |||
95 | enum class Budget { | 95 | enum class Budget { | ||
96 | ID = 0, | 96 | ID = 0, | ||
97 | Name, | 97 | Name, | ||
98 | Start, | 98 | Start, | ||
▲ Show 20 Lines • Show All 69 Lines • ▼ Show 20 Line(s) | 148 | static const QMap<Attribute::Report, QString> attributeNames { | |||
168 | {Attribute::Report::MixedTime, QStringLiteral("mixedtime")}, | 168 | {Attribute::Report::MixedTime, QStringLiteral("mixedtime")}, | ||
169 | {Attribute::Report::Investments, QStringLiteral("investments")}, | 169 | {Attribute::Report::Investments, QStringLiteral("investments")}, | ||
170 | {Attribute::Report::Budget, QStringLiteral("budget")}, | 170 | {Attribute::Report::Budget, QStringLiteral("budget")}, | ||
171 | {Attribute::Report::ShowRowTotals, QStringLiteral("showrowtotals")}, | 171 | {Attribute::Report::ShowRowTotals, QStringLiteral("showrowtotals")}, | ||
172 | {Attribute::Report::ShowColumnTotals, QStringLiteral("showcolumntotals")}, | 172 | {Attribute::Report::ShowColumnTotals, QStringLiteral("showcolumntotals")}, | ||
173 | {Attribute::Report::Detail, QStringLiteral("detail")}, | 173 | {Attribute::Report::Detail, QStringLiteral("detail")}, | ||
174 | {Attribute::Report::ColumnsAreDays, QStringLiteral("columnsaredays")}, | 174 | {Attribute::Report::ColumnsAreDays, QStringLiteral("columnsaredays")}, | ||
175 | {Attribute::Report::ChartType, QStringLiteral("charttype")}, | 175 | {Attribute::Report::ChartType, QStringLiteral("charttype")}, | ||
176 | {Attribute::Report::ChartPalette, QStringLiteral("chartpalette")}, | ||||
176 | {Attribute::Report::ChartCHGridLines, QStringLiteral("chartchgridlines")}, | 177 | {Attribute::Report::ChartCHGridLines, QStringLiteral("chartchgridlines")}, | ||
177 | {Attribute::Report::ChartSVGridLines, QStringLiteral("chartsvgridlines")}, | 178 | {Attribute::Report::ChartSVGridLines, QStringLiteral("chartsvgridlines")}, | ||
178 | {Attribute::Report::ChartDataLabels, QStringLiteral("chartdatalabels")}, | 179 | {Attribute::Report::ChartDataLabels, QStringLiteral("chartdatalabels")}, | ||
179 | {Attribute::Report::ChartByDefault, QStringLiteral("chartbydefault")}, | 180 | {Attribute::Report::ChartByDefault, QStringLiteral("chartbydefault")}, | ||
180 | {Attribute::Report::LogYAxis, QStringLiteral("logYaxis")}, | 181 | {Attribute::Report::LogYAxis, QStringLiteral("logYaxis")}, | ||
181 | {Attribute::Report::ChartLineWidth, QStringLiteral("chartlinewidth")}, | 182 | {Attribute::Report::ChartLineWidth, QStringLiteral("chartlinewidth")}, | ||
182 | {Attribute::Report::ColumnType, QStringLiteral("columntype")}, | 183 | {Attribute::Report::ColumnType, QStringLiteral("columntype")}, | ||
183 | {Attribute::Report::RowType, QStringLiteral("rowtype")}, | 184 | {Attribute::Report::RowType, QStringLiteral("rowtype")}, | ||
▲ Show 20 Lines • Show All 214 Lines • ▼ Show 20 Line(s) | 398 | { | |||
398 | return typeAttributeLUT().value(textID); | 399 | return typeAttributeLUT().value(textID); | ||
399 | } | 400 | } | ||
400 | 401 | | |||
401 | int stringToTypeAttribute(const QString &text) | 402 | int stringToTypeAttribute(const QString &text) | ||
402 | { | 403 | { | ||
403 | return typeAttributeLUT().key(text, 4); | 404 | return typeAttributeLUT().key(text, 4); | ||
404 | } | 405 | } | ||
405 | 406 | | |||
407 | QHash<eMyMoney::Report::ChartPalette, QString> chartPaletteLUT() | ||||
408 | { | ||||
409 | static const QHash<eMyMoney::Report::ChartPalette, QString> lut { | ||||
410 | {eMyMoney::Report::ChartPalette::Application, QStringLiteral("appplication")}, | ||||
411 | {eMyMoney::Report::ChartPalette::Default, QStringLiteral("default")}, | ||||
412 | {eMyMoney::Report::ChartPalette::Rainbow, QStringLiteral("rainbow")}, | ||||
413 | {eMyMoney::Report::ChartPalette::Subdued, QStringLiteral("subdued")}, | ||||
414 | }; | ||||
415 | return lut; | ||||
416 | } | ||||
417 | | ||||
418 | QString reportNames(eMyMoney::Report::ChartPalette textID) | ||||
419 | { | ||||
420 | return chartPaletteLUT().value(textID); | ||||
421 | } | ||||
422 | | ||||
423 | eMyMoney::Report::ChartPalette stringToChartPalette(const QString &text) | ||||
424 | { | ||||
425 | return chartPaletteLUT().key(text, eMyMoney::Report::ChartPalette::End); | ||||
426 | } | ||||
427 | | ||||
428 | QHash<int, QString> paletteAttributeLUT() | ||||
429 | { | ||||
430 | static const QHash<int, QString> lut { | ||||
431 | {0, QStringLiteral("application")}, | ||||
432 | {1, QStringLiteral("default")}, | ||||
433 | {2, QStringLiteral("rainbow")}, | ||||
434 | {3, QStringLiteral("subdued")}, | ||||
435 | }; | ||||
436 | return lut; | ||||
437 | } | ||||
438 | | ||||
439 | QString paletteAttributeToString(int textID) | ||||
440 | { | ||||
441 | return paletteAttributeLUT().value(textID); | ||||
442 | } | ||||
443 | | ||||
444 | int stringToPaletteAttribute(const QString &text) | ||||
445 | { | ||||
446 | return paletteAttributeLUT().key(text, 4); | ||||
447 | } | ||||
448 | | ||||
406 | QHash<int, QString> stateAttributeLUT() | 449 | QHash<int, QString> stateAttributeLUT() | ||
407 | { | 450 | { | ||
408 | static const QHash<int, QString> lut { | 451 | static const QHash<int, QString> lut { | ||
409 | {0, QStringLiteral("all")}, | 452 | {0, QStringLiteral("all")}, | ||
410 | {1, QStringLiteral("notreconciled")}, | 453 | {1, QStringLiteral("notreconciled")}, | ||
411 | {2, QStringLiteral("cleared")}, | 454 | {2, QStringLiteral("cleared")}, | ||
412 | {3, QStringLiteral("reconciled")}, | 455 | {3, QStringLiteral("reconciled")}, | ||
413 | {4, QStringLiteral("frozen")}, | 456 | {4, QStringLiteral("frozen")}, | ||
▲ Show 20 Lines • Show All 294 Lines • ▼ Show 20 Line(s) | 713 | if (report.reportType() == eMyMoney::Report::ReportType::PivotTable) { | |||
708 | 751 | | |||
709 | // read chart tab | 752 | // read chart tab | ||
710 | const auto chartTypeFromXML = stringToChartType(node.attribute(attributeName(Attribute::Report::ChartType))); | 753 | const auto chartTypeFromXML = stringToChartType(node.attribute(attributeName(Attribute::Report::ChartType))); | ||
711 | if (chartTypeFromXML != eMyMoney::Report::ChartType::End) | 754 | if (chartTypeFromXML != eMyMoney::Report::ChartType::End) | ||
712 | report.setChartType(chartTypeFromXML); | 755 | report.setChartType(chartTypeFromXML); | ||
713 | else | 756 | else | ||
714 | report.setChartType(eMyMoney::Report::ChartType::None); | 757 | report.setChartType(eMyMoney::Report::ChartType::None); | ||
715 | 758 | | |||
759 | const auto chartPaletteFromXML = stringToChartPalette(node.attribute(attributeName(Attribute::Report::ChartPalette))); | ||||
760 | if (chartPaletteFromXML != eMyMoney::Report::ChartPalette::End) | ||||
761 | report.setChartPalette(chartPaletteFromXML); | ||||
762 | else | ||||
763 | report.setChartPalette(eMyMoney::Report::ChartPalette::Application); | ||||
764 | | ||||
716 | report.setChartCHGridLines(node.attribute(attributeName(Attribute::Report::ChartCHGridLines), "1").toUInt()); | 765 | report.setChartCHGridLines(node.attribute(attributeName(Attribute::Report::ChartCHGridLines), "1").toUInt()); | ||
717 | report.setChartSVGridLines(node.attribute(attributeName(Attribute::Report::ChartSVGridLines), "1").toUInt()); | 766 | report.setChartSVGridLines(node.attribute(attributeName(Attribute::Report::ChartSVGridLines), "1").toUInt()); | ||
718 | report.setChartDataLabels(node.attribute(attributeName(Attribute::Report::ChartDataLabels), "1").toUInt()); | 767 | report.setChartDataLabels(node.attribute(attributeName(Attribute::Report::ChartDataLabels), "1").toUInt()); | ||
719 | report.setChartByDefault(node.attribute(attributeName(Attribute::Report::ChartByDefault), "0").toUInt()); | 768 | report.setChartByDefault(node.attribute(attributeName(Attribute::Report::ChartByDefault), "0").toUInt()); | ||
720 | report.setLogYAxis(node.attribute(attributeName(Attribute::Report::LogYAxis), "0").toUInt()); | 769 | report.setLogYAxis(node.attribute(attributeName(Attribute::Report::LogYAxis), "0").toUInt()); | ||
721 | report.setChartLineWidth(node.attribute(attributeName(Attribute::Report::ChartLineWidth), QString(MyMoneyReport::lineWidth())).toUInt()); | 770 | report.setChartLineWidth(node.attribute(attributeName(Attribute::Report::ChartLineWidth), QString(MyMoneyReport::lineWidth())).toUInt()); | ||
722 | 771 | | |||
723 | // read range tab | 772 | // read range tab | ||
▲ Show 20 Lines • Show All 182 Lines • ▼ Show 20 Line(s) | 937 | if (report.reportType() == eMyMoney::Report::ReportType::PivotTable) { | |||
906 | if (report.isIncludingMovingAverage()) | 955 | if (report.isIncludingMovingAverage()) | ||
907 | el.setAttribute(attributeName(Attribute::Report::MovingAverageDays), report.movingAverageDays()); | 956 | el.setAttribute(attributeName(Attribute::Report::MovingAverageDays), report.movingAverageDays()); | ||
908 | 957 | | |||
909 | el.setAttribute(attributeName(Attribute::Report::IncludesSchedules), report.isIncludingSchedules()); | 958 | el.setAttribute(attributeName(Attribute::Report::IncludesSchedules), report.isIncludingSchedules()); | ||
910 | el.setAttribute(attributeName(Attribute::Report::IncludesTransfers), report.isIncludingTransfers()); | 959 | el.setAttribute(attributeName(Attribute::Report::IncludesTransfers), report.isIncludingTransfers()); | ||
911 | el.setAttribute(attributeName(Attribute::Report::IncludesUnused), report.isIncludingUnusedAccounts()); | 960 | el.setAttribute(attributeName(Attribute::Report::IncludesUnused), report.isIncludingUnusedAccounts()); | ||
912 | el.setAttribute(attributeName(Attribute::Report::ColumnsAreDays), report.isColumnsAreDays()); | 961 | el.setAttribute(attributeName(Attribute::Report::ColumnsAreDays), report.isColumnsAreDays()); | ||
913 | el.setAttribute(attributeName(Attribute::Report::ChartType), reportNames(report.chartType())); | 962 | el.setAttribute(attributeName(Attribute::Report::ChartType), reportNames(report.chartType())); | ||
963 | el.setAttribute(attributeName(Attribute::Report::ChartPalette), reportNames(report.chartPalette())); | ||||
914 | el.setAttribute(attributeName(Attribute::Report::ChartCHGridLines), report.isChartCHGridLines()); | 964 | el.setAttribute(attributeName(Attribute::Report::ChartCHGridLines), report.isChartCHGridLines()); | ||
915 | el.setAttribute(attributeName(Attribute::Report::ChartSVGridLines), report.isChartSVGridLines()); | 965 | el.setAttribute(attributeName(Attribute::Report::ChartSVGridLines), report.isChartSVGridLines()); | ||
916 | el.setAttribute(attributeName(Attribute::Report::ChartDataLabels), report.isChartDataLabels()); | 966 | el.setAttribute(attributeName(Attribute::Report::ChartDataLabels), report.isChartDataLabels()); | ||
917 | el.setAttribute(attributeName(Attribute::Report::ChartByDefault), report.isChartByDefault()); | 967 | el.setAttribute(attributeName(Attribute::Report::ChartByDefault), report.isChartByDefault()); | ||
918 | el.setAttribute(attributeName(Attribute::Report::LogYAxis), report.isLogYAxis()); | 968 | el.setAttribute(attributeName(Attribute::Report::LogYAxis), report.isLogYAxis()); | ||
919 | el.setAttribute(attributeName(Attribute::Report::ChartLineWidth), report.chartLineWidth()); | 969 | el.setAttribute(attributeName(Attribute::Report::ChartLineWidth), report.chartLineWidth()); | ||
920 | el.setAttribute(attributeName(Attribute::Report::ColumnType), reportNames(report.columnType())); | 970 | el.setAttribute(attributeName(Attribute::Report::ColumnType), reportNames(report.columnType())); | ||
921 | el.setAttribute(attributeName(Attribute::Report::DataLock), reportNames(report.dataFilter())); | 971 | el.setAttribute(attributeName(Attribute::Report::DataLock), reportNames(report.dataFilter())); | ||
▲ Show 20 Lines • Show All 334 Lines • Show Last 20 Lines |