#pragma once #include #include "lts_widgets_export.h" namespace LtsWidgets { class LTSWIDGETS_EXPORT LtsMSecDateTimeEdit : public QDateTimeEdit { Q_OBJECT Q_PROPERTY(int msecStepSize READ msecStepSize WRITE setMsecStepSize) public: explicit LtsMSecDateTimeEdit(QWidget *parent = nullptr); explicit LtsMSecDateTimeEdit(const QDateTime &dt, QWidget *parent = nullptr); explicit LtsMSecDateTimeEdit(const QDate &d, QWidget *parent = nullptr); explicit LtsMSecDateTimeEdit(const QTime &t, QWidget *parent = nullptr); qint64 msecsSinceEpoch() const; int timezoneHoursOffset() const { return m_timezoneHoursOffset; } void stepBy(int steps) override; int msecStepSize() const; public slots: void setDateTime(const QDateTime &dateTime); void setMsecsSinceEpoch(qint64 msecs); void setMsecStepSize(int msecStepSize); void setTimezoneHoursOffset(int timezoneHoursOffset); private slots: void onEditingFinished(); private: int m_msecStepSize = 10; int m_timezoneHoursOffset = 0; }; }