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:
Ivailo Monev 2023-07-21 10:55:09 +03:00
parent f452e2e50b
commit 798a73eb0b
6 changed files with 102 additions and 121 deletions

View file

@ -32,8 +32,8 @@
#include "kdebug.h"
KDateTimeFormatter::KDateTimeFormatter()
: m_englishLocale(0),
m_englishCalendar(0)
: m_englishLocale(nullptr),
m_englishCalendar(nullptr)
{
}

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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;
}

View file

@ -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