File indexing completed on 2024-05-19 09:41:38
0001 /* 0002 CT Day Of Week Implementation 0003 -------------------------------------------------------------------- 0004 SPDX-FileCopyrightText: 1999 Gary Meyer <gary@meyer.net> 0005 -------------------------------------------------------------------- 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #include "ctdow.h" 0010 #include <KLocalizedString> 0011 0012 QList<QString> CTDayOfWeek::shortName; 0013 0014 QList<QString> CTDayOfWeek::longName; 0015 0016 CTDayOfWeek::CTDayOfWeek(const QString &tokStr) 0017 : CTUnit(CTDayOfWeek::MINIMUM, CTDayOfWeek::MAXIMUM, tokStr) 0018 { 0019 // Compensate for cron supporting Sunday as both 0 and 7. 0020 0021 if (isEnabled(0)) { 0022 setEnabled(0, false); 0023 setEnabled(7, true); 0024 } 0025 } 0026 0027 void CTDayOfWeek::initialize(const QString &tokStr) 0028 { 0029 CTUnit::initialize(tokStr); 0030 0031 // Compensate for cron supporting Sunday as both 0 and 7. 0032 0033 if (isEnabled(0)) { 0034 setEnabled(0, false); 0035 setEnabled(7, true); 0036 apply(); 0037 } 0038 } 0039 0040 QString CTDayOfWeek::describe() const 0041 { 0042 initializeNames(); 0043 if (enabledCount() == CTDayOfWeek::MAXIMUM) { 0044 return i18n("every day "); 0045 } else { 0046 return CTUnit::genericDescribe(shortName); 0047 } 0048 } 0049 0050 QString CTDayOfWeek::getName(const int ndx, const bool format) 0051 { 0052 initializeNames(); 0053 return (format == shortFormat) ? shortName.at(ndx) : longName.at(ndx); 0054 } 0055 0056 void CTDayOfWeek::initializeNames() 0057 { 0058 if (shortName.isEmpty()) { 0059 shortName << QLatin1String("") << i18n("Mon") << i18n("Tue") << i18n("Wed") << i18n("Thu") << i18n("Fri") << i18n("Sat") << i18n("Sun"); 0060 0061 longName << QLatin1String("") << i18n("Monday") << i18n("Tuesday") << i18n("Wednesday") << i18n("Thursday") << i18n("Friday") << i18n("Saturday") 0062 << i18n("Sunday"); 0063 } 0064 }