mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-24 10:52:49 +00:00
kdecore: de-virtualize KDateTimeFormatter, KDateTimeParser and KDayPeriod
the classes are private and the methods are no reimplemented Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
f452e2e50b
commit
798a73eb0b
6 changed files with 102 additions and 121 deletions
|
@ -32,8 +32,8 @@
|
|||
#include "kdebug.h"
|
||||
|
||||
KDateTimeFormatter::KDateTimeFormatter()
|
||||
: m_englishLocale(0),
|
||||
m_englishCalendar(0)
|
||||
: m_englishLocale(nullptr),
|
||||
m_englishCalendar(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -34,60 +34,59 @@ class KCalendarSystem;
|
|||
class KDateTimeFormatter
|
||||
{
|
||||
public:
|
||||
explicit KDateTimeFormatter();
|
||||
KDateTimeFormatter();
|
||||
~KDateTimeFormatter();
|
||||
|
||||
virtual ~KDateTimeFormatter();
|
||||
QString formatDate(const QDate &fromDate,
|
||||
const QString &toFormat,
|
||||
const KCalendarSystem *calendar = KGlobal::locale()->calendar(),
|
||||
const KLocale *locale = KGlobal::locale(),
|
||||
KLocale::DigitSet digitSet = KGlobal::locale()->dateTimeDigitSet(),
|
||||
KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const;
|
||||
|
||||
virtual QString formatDate(const QDate &fromDate,
|
||||
const QString &toFormat,
|
||||
const KCalendarSystem *calendar = KGlobal::locale()->calendar(),
|
||||
const KLocale *locale = KGlobal::locale(),
|
||||
KLocale::DigitSet digitSet = KGlobal::locale()->dateTimeDigitSet(),
|
||||
KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const;
|
||||
QString formatTime(const QTime &fromTime,
|
||||
const QString &toFormat,
|
||||
KLocale::TimeFormatOptions timeOptions = 0,
|
||||
const KCalendarSystem *calendar = KGlobal::locale()->calendar(),
|
||||
const KLocale *locale = KGlobal::locale(),
|
||||
KLocale::DigitSet digitSet = KGlobal::locale()->dateTimeDigitSet(),
|
||||
KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const;
|
||||
|
||||
virtual QString formatTime(const QTime &fromTime,
|
||||
const QString &toFormat,
|
||||
KLocale::TimeFormatOptions timeOptions = 0,
|
||||
const KCalendarSystem *calendar = KGlobal::locale()->calendar(),
|
||||
const KLocale *locale = KGlobal::locale(),
|
||||
KLocale::DigitSet digitSet = KGlobal::locale()->dateTimeDigitSet(),
|
||||
KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const;
|
||||
|
||||
virtual QString formatDateTime(const KDateTime &fromDateTime,
|
||||
const QString &toFormat,
|
||||
KLocale::TimeFormatOptions timeOptions = 0,
|
||||
const KCalendarSystem *calendar = KGlobal::locale()->calendar(),
|
||||
const KLocale *locale = KGlobal::locale(),
|
||||
KLocale::DigitSet digitSet = KGlobal::locale()->dateTimeDigitSet(),
|
||||
KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const;
|
||||
QString formatDateTime(const KDateTime &fromDateTime,
|
||||
const QString &toFormat,
|
||||
KLocale::TimeFormatOptions timeOptions = 0,
|
||||
const KCalendarSystem *calendar = KGlobal::locale()->calendar(),
|
||||
const KLocale *locale = KGlobal::locale(),
|
||||
KLocale::DigitSet digitSet = KGlobal::locale()->dateTimeDigitSet(),
|
||||
KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const;
|
||||
|
||||
private:
|
||||
virtual QString formatDateTimePosix(const KDateTime &fromDateTime,
|
||||
const QString &toFormat,
|
||||
KLocale::TimeFormatOptions timeOptions,
|
||||
const KCalendarSystem *calendar,
|
||||
const KLocale *locale,
|
||||
KLocale::DigitSet digitSet,
|
||||
KLocale::DateTimeFormatStandard standard) const;
|
||||
QString formatDateTimePosix(const KDateTime &fromDateTime,
|
||||
const QString &toFormat,
|
||||
KLocale::TimeFormatOptions timeOptions,
|
||||
const KCalendarSystem *calendar,
|
||||
const KLocale *locale,
|
||||
KLocale::DigitSet digitSet,
|
||||
KLocale::DateTimeFormatStandard standard) const;
|
||||
|
||||
virtual void initEnglish(const KCalendarSystem *calendar, const KLocale *locale) const;
|
||||
void initEnglish(const KCalendarSystem *calendar, const KLocale *locale) const;
|
||||
|
||||
virtual QString formatDateTimeUnicode(const KDateTime &fromDateTime,
|
||||
const QString &toFormat,
|
||||
KLocale::TimeFormatOptions timeOptions,
|
||||
const KCalendarSystem *calendar,
|
||||
const KLocale *locale,
|
||||
KLocale::DigitSet digitSet) const;
|
||||
QString formatDateTimeUnicode(const KDateTime &fromDateTime,
|
||||
const QString &toFormat,
|
||||
KLocale::TimeFormatOptions timeOptions,
|
||||
const KCalendarSystem *calendar,
|
||||
const KLocale *locale,
|
||||
KLocale::DigitSet digitSet) const;
|
||||
|
||||
virtual QString getUnicodeString(const KDateTime &fromDateTime,
|
||||
const QString &toFormat,
|
||||
KLocale::TimeFormatOptions timeOptions,
|
||||
const KCalendarSystem *calendar,
|
||||
const KLocale *locale,
|
||||
KLocale::DigitSet digitSet) const;
|
||||
QString getUnicodeString(const KDateTime &fromDateTime,
|
||||
const QString &toFormat,
|
||||
KLocale::TimeFormatOptions timeOptions,
|
||||
const KCalendarSystem *calendar,
|
||||
const KLocale *locale,
|
||||
KLocale::DigitSet digitSet) const;
|
||||
|
||||
virtual QString stringFromInteger(int number, int padWidth, QChar padChar, QChar signChar,
|
||||
KLocale::DigitSet digitSet, const KLocale *locale) const;
|
||||
QString stringFromInteger(int number, int padWidth, QChar padChar, QChar signChar,
|
||||
KLocale::DigitSet digitSet, const KLocale *locale) const;
|
||||
|
||||
// Is private class, but if ever made public need to move these into a d->
|
||||
// Some format modifiers force English names to be returned
|
||||
|
|
|
@ -29,10 +29,6 @@ KDateTimeParser::KDateTimeParser()
|
|||
{
|
||||
}
|
||||
|
||||
KDateTimeParser::~KDateTimeParser()
|
||||
{
|
||||
}
|
||||
|
||||
// Parse a DateTime input string and return just the Date component
|
||||
QDate KDateTimeParser::parseDate(const QString &inputString,
|
||||
const QString &formatString,
|
||||
|
@ -43,7 +39,7 @@ QDate KDateTimeParser::parseDate(const QString &inputString,
|
|||
{
|
||||
DateTimeComponents result;
|
||||
if (formatStandard == KLocale::UnicodeFormat) {
|
||||
result = parseDateUnicode(inputString, formatString, calendar, locale, digitSet);
|
||||
result = parseDateUnicode(inputString, formatString);
|
||||
} else {
|
||||
result = parseDatePosix(inputString, formatString, calendar, locale, digitSet, formatStandard);
|
||||
}
|
||||
|
@ -319,14 +315,8 @@ DateTimeComponents KDateTimeParser::parseDatePosix(const QString &inputString,
|
|||
|
||||
// Parse an input string to match a UNICODE DateTime format string and return any components found
|
||||
DateTimeComponents KDateTimeParser::parseDateUnicode(const QString &inputString,
|
||||
const QString &formatString,
|
||||
const KCalendarSystem *calendar,
|
||||
const KLocale *locale,
|
||||
KLocale::DigitSet digitSet) const
|
||||
const QString &formatString) const
|
||||
{
|
||||
Q_UNUSED(calendar);
|
||||
Q_UNUSED(locale);
|
||||
Q_UNUSED(digitSet);
|
||||
QString str = inputString.simplified().toLower();
|
||||
QString fmt = formatString.simplified();
|
||||
int dd = -1;
|
||||
|
|
|
@ -31,7 +31,8 @@
|
|||
class KDateTime;
|
||||
class KCalendarSystem;
|
||||
|
||||
struct DateTimeComponents {
|
||||
struct DateTimeComponents
|
||||
{
|
||||
int day;
|
||||
int month;
|
||||
int year;
|
||||
|
@ -49,32 +50,27 @@ struct DateTimeComponents {
|
|||
class KDateTimeParser
|
||||
{
|
||||
public:
|
||||
explicit KDateTimeParser();
|
||||
KDateTimeParser();
|
||||
|
||||
virtual ~KDateTimeParser();
|
||||
|
||||
virtual QDate parseDate(const QString &dateString,
|
||||
const QString &format,
|
||||
const KCalendarSystem *calendar = KGlobal::locale()->calendar(),
|
||||
const KLocale *locale = KGlobal::locale(),
|
||||
KLocale::DigitSet digitSet = KLocale::ArabicDigits,
|
||||
KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const;
|
||||
QDate parseDate(const QString &dateString,
|
||||
const QString &format,
|
||||
const KCalendarSystem *calendar = KGlobal::locale()->calendar(),
|
||||
const KLocale *locale = KGlobal::locale(),
|
||||
KLocale::DigitSet digitSet = KLocale::ArabicDigits,
|
||||
KLocale::DateTimeFormatStandard standard = KLocale::KdeFormat) const;
|
||||
|
||||
private:
|
||||
virtual DateTimeComponents parseDatePosix(const QString &dateString,
|
||||
const QString &format,
|
||||
const KCalendarSystem *calendar,
|
||||
const KLocale *locale,
|
||||
KLocale::DigitSet digitSet,
|
||||
KLocale::DateTimeFormatStandard standard) const;
|
||||
DateTimeComponents parseDatePosix(const QString &dateString,
|
||||
const QString &format,
|
||||
const KCalendarSystem *calendar,
|
||||
const KLocale *locale,
|
||||
KLocale::DigitSet digitSet,
|
||||
KLocale::DateTimeFormatStandard standard) const;
|
||||
|
||||
virtual DateTimeComponents parseDateUnicode(const QString &inputString,
|
||||
const QString &format,
|
||||
const KCalendarSystem *calendar,
|
||||
const KLocale *locale,
|
||||
KLocale::DigitSet digitSet) const;
|
||||
DateTimeComponents parseDateUnicode(const QString &inputString,
|
||||
const QString &format) const;
|
||||
|
||||
virtual int integerFromString(const QString &string, int maxLength, int &readLength) const;
|
||||
int integerFromString(const QString &string, int maxLength, int &readLength) const;
|
||||
};
|
||||
|
||||
#endif // KDATETIMEPARSER_H
|
||||
|
|
|
@ -50,28 +50,28 @@ KDayPeriodPrivate::KDayPeriodPrivate(const QString &periodCode,
|
|||
const QTime &periodEnd,
|
||||
int offsetFromStart,
|
||||
int offsetIfZero)
|
||||
: QSharedData(),
|
||||
m_periodCode(periodCode),
|
||||
m_longName(longName),
|
||||
m_shortName(shortName),
|
||||
m_narrowName(narrowName),
|
||||
m_periodStart(periodStart),
|
||||
m_periodEnd(periodEnd),
|
||||
m_offsetFromStart(offsetFromStart),
|
||||
m_offsetIfZero(offsetIfZero)
|
||||
: QSharedData(),
|
||||
m_periodCode(periodCode),
|
||||
m_longName(longName),
|
||||
m_shortName(shortName),
|
||||
m_narrowName(narrowName),
|
||||
m_periodStart(periodStart),
|
||||
m_periodEnd(periodEnd),
|
||||
m_offsetFromStart(offsetFromStart),
|
||||
m_offsetIfZero(offsetIfZero)
|
||||
{
|
||||
}
|
||||
|
||||
KDayPeriodPrivate::KDayPeriodPrivate(const KDayPeriodPrivate &other)
|
||||
: QSharedData(other),
|
||||
m_periodCode(other.m_periodCode),
|
||||
m_longName(other.m_longName),
|
||||
m_shortName(other.m_shortName),
|
||||
m_narrowName(other.m_narrowName),
|
||||
m_periodStart(other.m_periodStart),
|
||||
m_periodEnd(other.m_periodEnd),
|
||||
m_offsetFromStart(other.m_offsetFromStart),
|
||||
m_offsetIfZero(other.m_offsetIfZero)
|
||||
: QSharedData(other),
|
||||
m_periodCode(other.m_periodCode),
|
||||
m_longName(other.m_longName),
|
||||
m_shortName(other.m_shortName),
|
||||
m_narrowName(other.m_narrowName),
|
||||
m_periodStart(other.m_periodStart),
|
||||
m_periodEnd(other.m_periodEnd),
|
||||
m_offsetFromStart(other.m_offsetFromStart),
|
||||
m_offsetIfZero(other.m_offsetIfZero)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -87,24 +87,24 @@ KDayPeriod::KDayPeriod(const QString &periodCode,
|
|||
const QTime &periodEnd,
|
||||
int offsetFromStart,
|
||||
int offsetIfZero)
|
||||
: d(new KDayPeriodPrivate(periodCode,
|
||||
longName,
|
||||
shortName,
|
||||
narrowName,
|
||||
periodStart,
|
||||
periodEnd,
|
||||
offsetFromStart,
|
||||
offsetIfZero))
|
||||
: d(new KDayPeriodPrivate(periodCode,
|
||||
longName,
|
||||
shortName,
|
||||
narrowName,
|
||||
periodStart,
|
||||
periodEnd,
|
||||
offsetFromStart,
|
||||
offsetIfZero))
|
||||
{
|
||||
}
|
||||
|
||||
KDayPeriod::KDayPeriod()
|
||||
: d(new KDayPeriodPrivate(QString(), QString(), QString(), QString(), QTime(), QTime(), -1, -1))
|
||||
: d(new KDayPeriodPrivate(QString(), QString(), QString(), QString(), QTime(), QTime(), -1, -1))
|
||||
{
|
||||
}
|
||||
|
||||
KDayPeriod::KDayPeriod(const KDayPeriod &rhs)
|
||||
: d(rhs.d)
|
||||
: d(rhs.d)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -141,9 +141,8 @@ QString KDayPeriod::periodName(KLocale::DateTimeComponentFormat format) const
|
|||
return d->m_longName;
|
||||
} else if (format == KLocale::NarrowName) {
|
||||
return d->m_narrowName;
|
||||
} else {
|
||||
return d->m_shortName;
|
||||
}
|
||||
return d->m_shortName;
|
||||
}
|
||||
|
||||
int KDayPeriod::hourInPeriod(const QTime &time) const
|
||||
|
@ -173,12 +172,11 @@ QTime KDayPeriod::time(int hip, int minute, int second, int millisecond) const
|
|||
} else {
|
||||
hour = hip;
|
||||
}
|
||||
time = QTime(hour, minute, second, millisecond);
|
||||
time = QTime(hour, minute, second, millisecond);
|
||||
if (time.isValid() && isValid(time)) {
|
||||
return time;
|
||||
} else {
|
||||
return QTime();
|
||||
}
|
||||
return QTime();
|
||||
}
|
||||
return time;
|
||||
}
|
||||
|
@ -195,12 +193,10 @@ bool KDayPeriod::isValid(const QTime &time) const
|
|||
if (isValid()) {
|
||||
if (periodStart() <= periodEnd()) {
|
||||
return time >= periodStart() && time <= periodEnd();
|
||||
} else {
|
||||
return ((time >= periodStart() && time <= QTime(23, 59, 59, 999)) ||
|
||||
(time >= QTime(0, 0, 0) && time <= periodEnd()));
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
return ((time >= periodStart() && time <= QTime(23, 59, 59, 999)) ||
|
||||
(time >= QTime(0, 0, 0) && time <= periodEnd()));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ public:
|
|||
/**
|
||||
* Constructs a null KDayPeriod
|
||||
*/
|
||||
explicit KDayPeriod();
|
||||
KDayPeriod();
|
||||
|
||||
/**
|
||||
* Copy Constructor
|
||||
|
@ -91,7 +91,7 @@ public:
|
|||
/**
|
||||
* Destructor.
|
||||
*/
|
||||
virtual ~KDayPeriod();
|
||||
~KDayPeriod();
|
||||
|
||||
/**
|
||||
* Assignment operator
|
||||
|
|
Loading…
Add table
Reference in a new issue