2
* Copyright 2013 Canonical Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; version 3.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
* Author: Lars Uebernickel <lars.uebernickel@canonical.com>
19
#ifndef TIME_FORMATTER_H
20
#define TIME_FORMATTER_H
24
// TODO - bug #1260728
25
class TimeFormatter : public QObject
28
Q_PROPERTY(QString format READ format WRITE setFormat NOTIFY formatChanged)
29
Q_PROPERTY(QString timeString READ timeString NOTIFY timeStringChanged)
30
Q_PROPERTY(qint64 time READ time WRITE setTime NOTIFY timeChanged)
33
TimeFormatter(QObject *parent = 0);
34
virtual ~TimeFormatter();
36
virtual QString format() const;
37
QString timeString() const;
40
void setFormat(const QString &format);
41
void setTime(qint64 time);
46
void formatChanged(const QString &format);
47
void timeStringChanged(const QString &timeString);
48
void timeChanged(qint64 time);
51
TimeFormatter(const QString &initialFormat, QObject *parent = 0);
53
virtual QString formatTime() const;
56
struct TimeFormatterPrivate *priv;
59
class GDateTimeFormatter : public TimeFormatter
62
GDateTimeFormatter(QObject *parent = 0);
65
QString formatTime() const override;