Continues migration with DDS, Common
This commit is contained in:
1 parent
9b15cee841
commit
fa48db111e
668 files changed
+111841
-2
No files matched your search
+114
@@ -0,0 +1,114 @@
|
||||
#include "lts_msec_date_time_edit.h"
|
||||
|
||||
|
||||
namespace LtsWidgets
|
||||
{
|
||||
|
||||
LtsMSecDateTimeEdit::LtsMSecDateTimeEdit(QWidget *parent)
|
||||
: QDateTimeEdit(parent)
|
||||
{
|
||||
setWrapping(true);
|
||||
setDisplayFormat(QLatin1String("dd.MM.yy HH:mm:ss.zzz"));
|
||||
connect(this, &LtsMSecDateTimeEdit::editingFinished, this, &LtsMSecDateTimeEdit::onEditingFinished);
|
||||
}
|
||||
|
||||
LtsMSecDateTimeEdit::LtsMSecDateTimeEdit(const QDateTime &dt, QWidget *parent)
|
||||
: QDateTimeEdit(dt, parent)
|
||||
{
|
||||
setWrapping(true);
|
||||
setDisplayFormat(QLatin1String("dd.MM.yy HH:mm:ss.zzz"));
|
||||
connect(this, &LtsMSecDateTimeEdit::editingFinished, this, &LtsMSecDateTimeEdit::onEditingFinished);
|
||||
}
|
||||
|
||||
LtsMSecDateTimeEdit::LtsMSecDateTimeEdit(const QDate &d, QWidget *parent)
|
||||
: QDateTimeEdit(d, parent)
|
||||
{
|
||||
setWrapping(true);
|
||||
setDisplayFormat(QLatin1String("dd.MM.yy HH:mm:ss.zzz"));
|
||||
connect(this, &LtsMSecDateTimeEdit::editingFinished, this, &LtsMSecDateTimeEdit::onEditingFinished);
|
||||
}
|
||||
|
||||
LtsMSecDateTimeEdit::LtsMSecDateTimeEdit(const QTime &t, QWidget *parent)
|
||||
: QDateTimeEdit(t, parent)
|
||||
{
|
||||
setWrapping(true);
|
||||
setDisplayFormat(QLatin1String("dd.MM.yy HH:mm:ss.zzz"));
|
||||
connect(this, &LtsMSecDateTimeEdit::editingFinished, this, &LtsMSecDateTimeEdit::onEditingFinished);
|
||||
}
|
||||
|
||||
void LtsMSecDateTimeEdit::stepBy(int steps)
|
||||
{
|
||||
switch (currentSection()) {
|
||||
case QDateTimeEdit::MonthSection:
|
||||
QDateTimeEdit::setDateTime(dateTime().addMonths(steps));
|
||||
break;
|
||||
case QDateTimeEdit::YearSection:
|
||||
QDateTimeEdit::setDateTime(dateTime().addYears(steps));
|
||||
break;
|
||||
case QDateTimeEdit::DaySection:
|
||||
QDateTimeEdit::setDateTime(dateTime().addDays(steps));
|
||||
break;
|
||||
case QDateTimeEdit::HourSection:
|
||||
QDateTimeEdit::setDateTime(dateTime().addSecs(steps * 3600));
|
||||
break;
|
||||
case QDateTimeEdit::MinuteSection:
|
||||
QDateTimeEdit::setDateTime(dateTime().addSecs(steps * 60));
|
||||
break;
|
||||
case QDateTimeEdit::SecondSection:
|
||||
QDateTimeEdit::setDateTime(dateTime().addSecs(steps));
|
||||
break;
|
||||
case QDateTimeEdit::MSecSection:
|
||||
QDateTimeEdit::setDateTime(dateTime().addMSecs(steps * m_msecStepSize));
|
||||
break;
|
||||
case QDateTimeEdit::NoSection:
|
||||
case QDateTimeEdit::AmPmSection:
|
||||
case QDateTimeEdit::TimeSections_Mask:
|
||||
case QDateTimeEdit::DateSections_Mask:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
qint64 LtsMSecDateTimeEdit::msecsSinceEpoch() const
|
||||
{
|
||||
return dateTime().toMSecsSinceEpoch() - (m_timezoneHoursOffset * 3600 * 1000);
|
||||
}
|
||||
|
||||
void LtsMSecDateTimeEdit::setTimezoneHoursOffset(int timezoneHoursOffset)
|
||||
{
|
||||
qint64 b4 = msecsSinceEpoch();
|
||||
m_timezoneHoursOffset = timezoneHoursOffset;
|
||||
setMsecsSinceEpoch(b4);
|
||||
}
|
||||
|
||||
void LtsMSecDateTimeEdit::setDateTime(const QDateTime &dateTime)
|
||||
{
|
||||
|
||||
setMsecsSinceEpoch(QDateTime::fromMSecsSinceEpoch(dateTime.toMSecsSinceEpoch(), Qt::TimeSpec::OffsetFromUTC, m_timezoneHoursOffset * 3600).toMSecsSinceEpoch());
|
||||
}
|
||||
|
||||
void LtsMSecDateTimeEdit::setMsecsSinceEpoch(qint64 msecs)
|
||||
{
|
||||
QDateTimeEdit::setDateTime(QDateTime::fromMSecsSinceEpoch(msecs, Qt::TimeSpec::OffsetFromUTC, m_timezoneHoursOffset * 3600));
|
||||
}
|
||||
|
||||
int LtsMSecDateTimeEdit::msecStepSize() const
|
||||
{
|
||||
return m_msecStepSize;
|
||||
}
|
||||
|
||||
void LtsMSecDateTimeEdit::setMsecStepSize(int msecStepSize)
|
||||
{
|
||||
m_msecStepSize = msecStepSize;
|
||||
}
|
||||
|
||||
void LtsMSecDateTimeEdit::onEditingFinished()
|
||||
{
|
||||
qint64 val = msecsSinceEpoch();
|
||||
if (val % m_msecStepSize == 0)
|
||||
return;
|
||||
val = (val + (m_msecStepSize/2) ) / m_msecStepSize * m_msecStepSize;
|
||||
setMsecsSinceEpoch(val);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user