File indexing completed on 2024-05-12 16:43:40
0001 /* 0002 SPDX-FileCopyrightText: 2018 Thomas Baumgart <tbaumgart@kde.org> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 // ---------------------------------------------------------------------------- 0007 // QT Includes 0008 0009 #include <QRegExp> 0010 #include <QFontDatabase> 0011 0012 // ---------------------------------------------------------------------------- 0013 // KDE Includes 0014 0015 #include <KColorScheme> 0016 0017 // ---------------------------------------------------------------------------- 0018 // Project Includes 0019 0020 QFont KMyMoneySettings::listCellFontEx() 0021 { 0022 if (useSystemFont()) { 0023 return QFontDatabase::systemFont(QFontDatabase::GeneralFont); 0024 } else { 0025 return listCellFont(); 0026 } 0027 } 0028 0029 QFont KMyMoneySettings::listHeaderFontEx() 0030 { 0031 if (useSystemFont()) { 0032 QFont font = QFontDatabase::systemFont(QFontDatabase::GeneralFont); 0033 font.setBold(true); 0034 return font; 0035 } else { 0036 return listHeaderFont(); 0037 } 0038 } 0039 0040 QColor KMyMoneySettings::schemeColor(const SchemeColor color) 0041 { 0042 switch(color) { 0043 case SchemeColor::ListBackground1: 0044 return KColorScheme (QPalette::Active, KColorScheme::View).background(KColorScheme::NormalBackground).color(); 0045 case SchemeColor::ListBackground2: 0046 return KColorScheme (QPalette::Active, KColorScheme::View).background(KColorScheme::AlternateBackground).color(); 0047 case SchemeColor::ListGrid: 0048 return KColorScheme (QPalette::Active, KColorScheme::View).foreground(KColorScheme::InactiveText).color(); 0049 case SchemeColor::ListHighlightText: 0050 return KColorScheme (QPalette::Active, KColorScheme::Selection).foreground(KColorScheme::NormalText).color(); 0051 case SchemeColor::ListHighlight: 0052 return KColorScheme (QPalette::Active, KColorScheme::Selection).background(KColorScheme::NormalBackground).color(); 0053 case SchemeColor::WindowText: 0054 return KColorScheme (QPalette::Active, KColorScheme::Window).foreground(KColorScheme::NormalText).color(); 0055 case SchemeColor::WindowBackground: 0056 return KColorScheme (QPalette::Active, KColorScheme::Window).background(KColorScheme::NormalBackground).color(); 0057 case SchemeColor::Positive: 0058 return KColorScheme (QPalette::Active, KColorScheme::View).foreground(KColorScheme::PositiveText).color(); 0059 case SchemeColor::Negative: 0060 return KColorScheme (QPalette::Active, KColorScheme::View).foreground(KColorScheme::NegativeText).color(); 0061 case SchemeColor::TransactionImported: 0062 if (useCustomColors()) 0063 return transactionImportedColor(); 0064 else 0065 return KColorScheme (QPalette::Active, KColorScheme::View).background(KColorScheme::LinkBackground).color(); 0066 case SchemeColor::TransactionMatched: 0067 if (useCustomColors()) 0068 return transactionMatchedColor(); 0069 else 0070 return KColorScheme (QPalette::Active, KColorScheme::View).background(KColorScheme::LinkBackground).color(); 0071 case SchemeColor::TransactionErroneous: 0072 if (useCustomColors()) 0073 return transactionErroneousColor(); 0074 else 0075 return KColorScheme (QPalette::Active, KColorScheme::View).foreground(KColorScheme::NegativeText).color(); 0076 case SchemeColor::FieldRequired: 0077 if (useCustomColors()) 0078 return fieldRequiredColor(); 0079 else 0080 return KColorScheme (QPalette::Active, KColorScheme::View).background(KColorScheme::NeutralBackground).color(); 0081 case SchemeColor::GroupMarker: 0082 if (useCustomColors()) 0083 return groupMarkerColor(); 0084 else 0085 return KColorScheme (QPalette::Active, KColorScheme::Selection).background(KColorScheme::LinkBackground).color(); 0086 case SchemeColor::MissingConversionRate: 0087 if (useCustomColors()) 0088 return missingConversionRateColor(); 0089 else 0090 return KColorScheme (QPalette::Active, KColorScheme::Complementary).foreground(KColorScheme::LinkText).color(); 0091 default: 0092 return QColor(); 0093 0094 } 0095 } 0096 0097 QStringList KMyMoneySettings::listOfItems() 0098 { 0099 bool prevValue = self()->useDefaults(true); 0100 QStringList all = itemList().split(',', QString::SkipEmptyParts); 0101 self()->useDefaults(prevValue); 0102 QStringList list = itemList().split(',', QString::SkipEmptyParts); 0103 0104 // now add all from 'all' that are missing in 'list' 0105 QRegExp exp("-?(\\d+)"); 0106 QStringList::iterator it_s; 0107 for (it_s = all.begin(); it_s != all.end(); ++it_s) { 0108 if ((exp.indexIn(*it_s) != -1) && !list.contains(exp.cap(1)) && !list.contains(QString("-%1").arg(exp.cap(1)))) { 0109 list << *it_s; 0110 } 0111 } 0112 return list; 0113 } 0114 0115 int KMyMoneySettings::firstFiscalMonth() 0116 { 0117 return fiscalYearBegin() + 1; 0118 } 0119 0120 int KMyMoneySettings::firstFiscalDay() 0121 { 0122 return fiscalYearBeginDay(); 0123 } 0124 0125 QDate KMyMoneySettings::firstFiscalDate() 0126 { 0127 QDate date = QDate(QDate::currentDate().year(), firstFiscalMonth(), firstFiscalDay()); 0128 if (date > QDate::currentDate()) 0129 date = date.addYears(-1); 0130 return date; 0131 } 0132