File indexing completed on 2024-05-19 03:56:24

0001 /*
0002     This file is part of the KDE Frameworks
0003 
0004     SPDX-FileCopyrightText: 2013 Alex Merry <alex.merry@kdemail.net>
0005     SPDX-FileCopyrightText: 2013 John Layt <jlayt@kde.org>
0006     SPDX-FileCopyrightText: 2010 Michael Leupold <lemma@confuego.org>
0007     SPDX-FileCopyrightText: 2009 Michael Pyne <mpyne@kde.org>
0008     SPDX-FileCopyrightText: 2008 Albert Astals Cid <aacid@kde.org>
0009 
0010     SPDX-License-Identifier: LGPL-2.0-or-later
0011 */
0012 
0013 #ifndef KFORMATPRIVATE_P_H
0014 #define KFORMATPRIVATE_P_H
0015 
0016 #include "kformat.h"
0017 
0018 #include <QCoreApplication> // for Q_DECLARE_TR_FUNCTIONS
0019 
0020 class KFormatPrivate : public QSharedData
0021 {
0022     Q_DECLARE_TR_FUNCTIONS(KFormat)
0023 
0024 public:
0025     explicit KFormatPrivate(const QLocale &locale);
0026     virtual ~KFormatPrivate();
0027 
0028     QString formatByteSize(double size, int precision, KFormat::BinaryUnitDialect dialect, KFormat::BinarySizeUnits units) const;
0029 
0030     QString
0031     formatValue(double value, KFormat::Unit unit, QString unitString, int precision, KFormat::UnitPrefix prefix, KFormat::BinaryUnitDialect dialect) const;
0032 
0033     QString formatDuration(quint64 msecs, KFormat::DurationFormatOptions options) const;
0034 
0035     QString formatDecimalDuration(quint64 msecs, int decimalPlaces) const;
0036 
0037     QString formatSpelloutDuration(quint64 msecs) const;
0038 
0039     QString formatRelativeDate(const QDate &date, QLocale::FormatType format) const;
0040 
0041     QString formatRelativeDateTime(const QDateTime &dateTime, QLocale::FormatType format) const;
0042 
0043 private:
0044     QLocale m_locale;
0045 };
0046 
0047 #endif // KFORMATPRIVATE_P_H