2023-02-16 13:51:55 +08:00
|
|
|
// Copyright (C) 2011 ~ 2018 Deepin Technology Co., Ltd.
|
|
|
|
// SPDX-FileCopyrightText: 2018 - 2023 UnionTech Software Technology Co., Ltd.
|
2022-09-06 11:36:55 +08:00
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: LGPL-3.0-or-later
|
2017-09-18 14:33:44 +08:00
|
|
|
|
2016-06-27 14:33:21 +08:00
|
|
|
#ifndef DATETIMEWIDGET_H
|
|
|
|
#define DATETIMEWIDGET_H
|
|
|
|
|
2022-11-18 17:08:32 +08:00
|
|
|
#include "org_deepin_dde_timedate1.h"
|
2020-07-30 17:41:20 +08:00
|
|
|
|
2016-06-27 14:33:21 +08:00
|
|
|
#include <QWidget>
|
|
|
|
|
2022-11-18 17:08:32 +08:00
|
|
|
using Timedate = org::deepin::dde::Timedate1;
|
2020-07-30 17:41:20 +08:00
|
|
|
|
2016-06-27 14:33:21 +08:00
|
|
|
class DatetimeWidget : public QWidget
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
explicit DatetimeWidget(QWidget *parent = 0);
|
|
|
|
|
2017-03-30 16:48:34 +08:00
|
|
|
bool is24HourFormat() const { return m_24HourFormat; }
|
2019-09-10 15:58:34 +08:00
|
|
|
QSize sizeHint() const;
|
2017-03-30 16:48:34 +08:00
|
|
|
|
2021-09-08 12:34:02 +08:00
|
|
|
protected:
|
|
|
|
void resizeEvent(QResizeEvent *event);
|
|
|
|
void paintEvent(QPaintEvent *e);
|
|
|
|
|
2016-09-21 10:24:42 +08:00
|
|
|
signals:
|
2017-06-26 15:20:16 +08:00
|
|
|
void requestUpdateGeometry() const;
|
2016-09-21 10:24:42 +08:00
|
|
|
|
2017-03-30 16:48:34 +08:00
|
|
|
public slots:
|
2018-11-20 14:45:35 +08:00
|
|
|
void set24HourFormat(const bool value);
|
2017-03-30 16:48:34 +08:00
|
|
|
|
2020-07-30 17:41:20 +08:00
|
|
|
private Q_SLOTS:
|
|
|
|
void setShortDateFormat(int type);
|
|
|
|
void setShortTimeFormat(int type);
|
|
|
|
|
2016-06-27 14:33:21 +08:00
|
|
|
private:
|
2019-09-10 15:58:34 +08:00
|
|
|
QSize curTimeSize() const;
|
2016-08-19 10:19:38 +08:00
|
|
|
|
|
|
|
private:
|
2017-03-30 16:48:34 +08:00
|
|
|
bool m_24HourFormat;
|
2019-09-12 17:04:53 +08:00
|
|
|
mutable QFont m_timeFont;
|
2020-01-13 17:59:55 +08:00
|
|
|
mutable QFont m_dateFont;
|
2020-03-12 12:34:09 +08:00
|
|
|
mutable int m_timeOffset;
|
2020-07-30 17:41:20 +08:00
|
|
|
Timedate *m_timedateInter;
|
|
|
|
QString m_shortDateFormat;
|
|
|
|
QString m_shortTimeFormat;
|
2016-06-27 14:33:21 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // DATETIMEWIDGET_H
|