File indexing completed on 2024-05-19 05:55:48

0001 /*
0002  * SPDX-FileCopyrightText: 2020 Han Young <hanyoung@protonmail.com>
0003  * SPDX-FileCopyrightText: 2020 Devin Lin <espidev@gmail.com>
0004  * SPDX-FileCopyrightText: 2021 Nicolas Fella <nicolas.fella@gmx.de>
0005  *
0006  * SPDX-License-Identifier: GPL-2.0-or-later
0007  */
0008 
0009 #pragma once
0010 
0011 #include <QDateTime>
0012 #include <QObject>
0013 #include <qqmlregistration.h>
0014 
0015 class Formatter : public QObject
0016 {
0017     Q_OBJECT
0018     QML_ELEMENT
0019     QML_SINGLETON
0020 public:
0021     Q_INVOKABLE double convertTemp(qreal temperature, const QString &unit) const;
0022     Q_INVOKABLE QString formatTemperatureUnitDegrees(const QString &unit) const;
0023     Q_INVOKABLE QString formatTemperature(qreal temperature, const QString &unit) const;
0024     Q_INVOKABLE QString formatTemperatureRounded(qreal temperature, const QString &unit) const;
0025 
0026     Q_INVOKABLE QString formatWindSpeed(qreal speed, const QString &unit) const;
0027 
0028     Q_INVOKABLE QString formatPressure(qreal pressure, const QString &unit) const;
0029     Q_INVOKABLE QString formatPercent(qreal percentage) const;
0030     Q_INVOKABLE QString formatDouble(qreal number) const;
0031 
0032     Q_INVOKABLE QString formatSunriseTime(QDateTime date, const QString &timeZone) const;
0033     Q_INVOKABLE QString formatPrecipitation(qreal precipitation, const QString &unit) const;
0034     Q_INVOKABLE QString formatHourlyCardDelegateTime(QDateTime date, const QString &timeZone) const;
0035 };