File indexing completed on 2023-09-24 04:04:48
0001 /* 0002 Copyright 2010 John Layt <john@layt.net> 0003 0004 This library is free software; you can redistribute it and/or 0005 modify it under the terms of the GNU Library General Public 0006 License as published by the Free Software Foundation; either 0007 version 2 of the License, or (at your option) any later version. 0008 0009 This library is distributed in the hope that it will be useful, 0010 but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0012 Library General Public License for more details. 0013 0014 You should have received a copy of the GNU Library General Public License 0015 along with this library; see the file COPYING.LIB. If not, write to 0016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0017 Boston, MA 02110-1301, USA. 0018 */ 0019 0020 #ifndef KDATETIMEFORMATTER_H 0021 #define KDATETIMEFORMATTER_H 0022 0023 #include "klocale.h" 0024 0025 class QChar; 0026 class QString; 0027 class QDate; 0028 class QTime; 0029 0030 class KDateTime; 0031 class KCalendarSystem; 0032 0033 class KDateTimeFormatter 0034 { 0035 public: 0036 KDELIBS4SUPPORT_DEPRECATED explicit KDateTimeFormatter(); 0037 0038 virtual ~KDateTimeFormatter(); 0039 0040 virtual QString formatDate(const QDate &fromDate, 0041 const QString &toFormat, 0042 const KCalendarSystem *calendar = KLocale::global()->calendar(), 0043 const KLocale *locale = KLocale::global(), 0044 KLocale::DigitSet digitSet = KLocale::global()->dateTimeDigitSet(), 0045 KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const; 0046 0047 virtual QString formatTime(const QTime &fromTime, 0048 const QString &toFormat, 0049 KLocale::TimeFormatOptions timeOptions = KLocale::TimeDefault, 0050 const KCalendarSystem *calendar = KLocale::global()->calendar(), 0051 const KLocale *locale = KLocale::global(), 0052 KLocale::DigitSet digitSet = KLocale::global()->dateTimeDigitSet(), 0053 KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const; 0054 0055 virtual QString formatDateTime(const KDateTime &fromDateTime, 0056 const QString &toFormat, 0057 KLocale::TimeFormatOptions timeOptions = KLocale::TimeDefault, 0058 const KCalendarSystem *calendar = KLocale::global()->calendar(), 0059 const KLocale *locale = KLocale::global(), 0060 KLocale::DigitSet digitSet = KLocale::global()->dateTimeDigitSet(), 0061 KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const; 0062 0063 private: 0064 virtual QString formatDateTimePosix(const KDateTime &fromDateTime, 0065 const QString &toFormat, 0066 KLocale::TimeFormatOptions timeOptions, 0067 const KCalendarSystem *calendar, 0068 const KLocale *locale, 0069 KLocale::DigitSet digitSet, 0070 KLocale::DateTimeFormatStandard standard) const; 0071 0072 virtual void initEnglish(const KCalendarSystem *calendar, const KLocale *locale) const; 0073 0074 virtual QString formatDateTimeUnicode(const KDateTime &fromDateTime, 0075 const QString &toFormat, 0076 KLocale::TimeFormatOptions timeOptions, 0077 const KCalendarSystem *calendar, 0078 const KLocale *locale, 0079 KLocale::DigitSet digitSet) const; 0080 0081 virtual QString getUnicodeString(const KDateTime &fromDateTime, 0082 const QString &toFormat, 0083 KLocale::TimeFormatOptions timeOptions, 0084 const KCalendarSystem *calendar, 0085 const KLocale *locale, 0086 KLocale::DigitSet digitSet) const; 0087 0088 virtual QString stringFromInteger(int number, int padWidth, QChar padChar, QChar signChar, 0089 KLocale::DigitSet digitSet, const KLocale *locale) const; 0090 0091 // Is private class, but if ever made public need to move these into a d-> 0092 // Some format modifiers force English names to be returned 0093 mutable KLocale *m_englishLocale; 0094 mutable KCalendarSystem *m_englishCalendar; 0095 }; 0096 0097 #endif // KDATETIMEFORMATTER_H