update deprecated time feature
update from timespec to timezone
This commit is contained in:
@@ -132,7 +132,7 @@ static inline void qwtFloorTime(
|
|||||||
const Qt::TimeSpec timeSpec = dt.timeSpec();
|
const Qt::TimeSpec timeSpec = dt.timeSpec();
|
||||||
|
|
||||||
if ( timeSpec == Qt::LocalTime )
|
if ( timeSpec == Qt::LocalTime )
|
||||||
dt = dt.toTimeSpec( Qt::UTC );
|
dt = dt.toTimeZone(QTimeZone::UTC);
|
||||||
|
|
||||||
const QTime t = dt.time();
|
const QTime t = dt.time();
|
||||||
switch( intervalType )
|
switch( intervalType )
|
||||||
@@ -157,13 +157,13 @@ static inline void qwtFloorTime(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( timeSpec == Qt::LocalTime )
|
if ( timeSpec == Qt::LocalTime )
|
||||||
dt = dt.toTimeSpec( Qt::LocalTime );
|
dt = dt.toTimeZone( QTimeZone::LocalTime );
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline QDateTime qwtToTimeSpec(
|
static inline QDateTime qwtToTimeSpec(
|
||||||
const QDateTime& dt, Qt::TimeSpec spec )
|
const QDateTime& dt, QTimeZone spec )
|
||||||
{
|
{
|
||||||
if ( dt.timeSpec() == spec )
|
if ( dt.timeZone() == spec )
|
||||||
return dt;
|
return dt;
|
||||||
|
|
||||||
const qint64 jd = dt.date().toJulianDay();
|
const qint64 jd = dt.date().toJulianDay();
|
||||||
@@ -175,11 +175,12 @@ static inline QDateTime qwtToTimeSpec(
|
|||||||
// for those dates
|
// for those dates
|
||||||
|
|
||||||
QDateTime dt2 = dt;
|
QDateTime dt2 = dt;
|
||||||
dt2.setTimeSpec( spec );
|
dt2.setTimeZone( spec );
|
||||||
return dt2;
|
return dt2;
|
||||||
}
|
}
|
||||||
|
QDateTime dt_copy = dt;
|
||||||
return dt.toTimeSpec( spec );
|
dt_copy.setTimeZone( spec );
|
||||||
|
return dt_copy;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
@@ -258,7 +259,7 @@ static inline QDate qwtToDate( int year, int month = 1, int day = 1 )
|
|||||||
\sa toDouble(), QDateTime::setMSecsSinceEpoch()
|
\sa toDouble(), QDateTime::setMSecsSinceEpoch()
|
||||||
\note The return datetime for Qt::OffsetFromUTC will be Qt::UTC
|
\note The return datetime for Qt::OffsetFromUTC will be Qt::UTC
|
||||||
*/
|
*/
|
||||||
QDateTime QwtDate::toDateTime( double value, Qt::TimeSpec timeSpec )
|
QDateTime QwtDate::toDateTime( double value, QTimeZone timeSpec )
|
||||||
{
|
{
|
||||||
const int msecsPerDay = 86400000;
|
const int msecsPerDay = 86400000;
|
||||||
|
|
||||||
@@ -277,9 +278,9 @@ QDateTime QwtDate::toDateTime( double value, Qt::TimeSpec timeSpec )
|
|||||||
|
|
||||||
static const QTime timeNull( 0, 0, 0, 0 );
|
static const QTime timeNull( 0, 0, 0, 0 );
|
||||||
|
|
||||||
QDateTime dt( d, timeNull.addMSecs( msecs ), Qt::UTC );
|
QDateTime dt( d, timeNull.addMSecs( msecs ), QTimeZone::UTC );
|
||||||
|
|
||||||
if ( timeSpec == Qt::LocalTime )
|
if ( timeSpec == QTimeZone::LocalTime )
|
||||||
dt = qwtToTimeSpec( dt, timeSpec );
|
dt = qwtToTimeSpec( dt, timeSpec );
|
||||||
|
|
||||||
return dt;
|
return dt;
|
||||||
@@ -299,7 +300,7 @@ double QwtDate::toDouble( const QDateTime& dateTime )
|
|||||||
{
|
{
|
||||||
const int msecsPerDay = 86400000;
|
const int msecsPerDay = 86400000;
|
||||||
|
|
||||||
const QDateTime dt = qwtToTimeSpec( dateTime, Qt::UTC );
|
const QDateTime dt = qwtToTimeSpec( dateTime, QTimeZone::UTC );
|
||||||
|
|
||||||
const double days = dt.date().toJulianDay() - QwtDate::JulianDayForEpoch;
|
const double days = dt.date().toJulianDay() - QwtDate::JulianDayForEpoch;
|
||||||
|
|
||||||
@@ -653,7 +654,7 @@ int QwtDate::utcOffset( const QDateTime& dateTime )
|
|||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
const QDateTime dt1( dateTime.date(), dateTime.time(), Qt::UTC );
|
const QDateTime dt1( dateTime.date(), dateTime.time(), QTimeZone::UTC );
|
||||||
seconds = dateTime.secsTo( dt1 );
|
seconds = dateTime.secsTo( dt1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
#include "qwt_global.h"
|
#include "qwt_global.h"
|
||||||
#include <qdatetime.h>
|
#include <qdatetime.h>
|
||||||
|
#include <qtimezone.h>
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief A collection of methods around date/time values
|
\brief A collection of methods around date/time values
|
||||||
@@ -109,7 +110,7 @@ class QWT_EXPORT QwtDate
|
|||||||
static QDate maxDate();
|
static QDate maxDate();
|
||||||
|
|
||||||
static QDateTime toDateTime( double value,
|
static QDateTime toDateTime( double value,
|
||||||
Qt::TimeSpec = Qt::UTC );
|
QTimeZone = QTimeZone::UTC );
|
||||||
|
|
||||||
static double toDouble( const QDateTime& );
|
static double toDouble( const QDateTime& );
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,8 @@
|
|||||||
class QwtDateScaleDraw::PrivateData
|
class QwtDateScaleDraw::PrivateData
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit PrivateData( Qt::TimeSpec spec )
|
explicit PrivateData( QTimeZone zone )
|
||||||
: timeSpec( spec )
|
: timeZone( zone )
|
||||||
, utcOffset( 0 )
|
, utcOffset( 0 )
|
||||||
, week0Type( QwtDate::FirstThursday )
|
, week0Type( QwtDate::FirstThursday )
|
||||||
{
|
{
|
||||||
@@ -28,7 +28,7 @@ class QwtDateScaleDraw::PrivateData
|
|||||||
dateFormats[ QwtDate::Year ] = "yyyy";
|
dateFormats[ QwtDate::Year ] = "yyyy";
|
||||||
}
|
}
|
||||||
|
|
||||||
Qt::TimeSpec timeSpec;
|
QTimeZone timeZone;
|
||||||
int utcOffset;
|
int utcOffset;
|
||||||
QwtDate::Week0Type week0Type;
|
QwtDate::Week0Type week0Type;
|
||||||
QString dateFormats[ QwtDate::Year + 1 ];
|
QString dateFormats[ QwtDate::Year + 1 ];
|
||||||
@@ -45,9 +45,9 @@ class QwtDateScaleDraw::PrivateData
|
|||||||
|
|
||||||
\sa setTimeSpec(), setWeek0Type()
|
\sa setTimeSpec(), setWeek0Type()
|
||||||
*/
|
*/
|
||||||
QwtDateScaleDraw::QwtDateScaleDraw( Qt::TimeSpec timeSpec )
|
QwtDateScaleDraw::QwtDateScaleDraw( QTimeZone timeZone )
|
||||||
{
|
{
|
||||||
m_data = new PrivateData( timeSpec );
|
m_data = new PrivateData( timeZone );
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Destructor
|
//! Destructor
|
||||||
@@ -62,18 +62,18 @@ QwtDateScaleDraw::~QwtDateScaleDraw()
|
|||||||
\param timeSpec Time specification
|
\param timeSpec Time specification
|
||||||
\sa timeSpec(), setUtcOffset(), toDateTime()
|
\sa timeSpec(), setUtcOffset(), toDateTime()
|
||||||
*/
|
*/
|
||||||
void QwtDateScaleDraw::setTimeSpec( Qt::TimeSpec timeSpec )
|
void QwtDateScaleDraw::setTimeZone( QTimeZone timeZone )
|
||||||
{
|
{
|
||||||
m_data->timeSpec = timeSpec;
|
m_data->timeZone = timeZone;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\return Time specification used for the tick labels
|
\return Time specification used for the tick labels
|
||||||
\sa setTimeSpec(), utcOffset(), toDateTime()
|
\sa setTimeSpec(), utcOffset(), toDateTime()
|
||||||
*/
|
*/
|
||||||
Qt::TimeSpec QwtDateScaleDraw::timeSpec() const
|
QTimeZone QwtDateScaleDraw::timeZone() const
|
||||||
{
|
{
|
||||||
return m_data->timeSpec;
|
return m_data->timeZone;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -268,11 +268,13 @@ QwtDate::IntervalType QwtDateScaleDraw::intervalType(
|
|||||||
*/
|
*/
|
||||||
QDateTime QwtDateScaleDraw::toDateTime( double value ) const
|
QDateTime QwtDateScaleDraw::toDateTime( double value ) const
|
||||||
{
|
{
|
||||||
QDateTime dt = QwtDate::toDateTime( value, m_data->timeSpec );
|
QDateTime dt = QwtDate::toDateTime( value, m_data->timeZone );
|
||||||
if ( m_data->timeSpec == Qt::OffsetFromUTC )
|
if ( m_data->timeZone == QTimeZone::LocalTime )
|
||||||
{
|
{
|
||||||
dt = dt.addSecs( m_data->utcOffset );
|
dt = dt.addSecs( m_data->utcOffset );
|
||||||
#if QT_VERSION >= 0x050200
|
#if QT_VERSION >= 0x060000
|
||||||
|
dt.setTimeZone( QTimeZone(m_data->utcOffset) );
|
||||||
|
#elif QT_VERSION >= 0x050200
|
||||||
dt.setOffsetFromUtc( m_data->utcOffset );
|
dt.setOffsetFromUtc( m_data->utcOffset );
|
||||||
#else
|
#else
|
||||||
dt.setUtcOffset( m_data->utcOffset );
|
dt.setUtcOffset( m_data->utcOffset );
|
||||||
|
|||||||
@@ -52,14 +52,14 @@
|
|||||||
class QWT_EXPORT QwtDateScaleDraw : public QwtScaleDraw
|
class QWT_EXPORT QwtDateScaleDraw : public QwtScaleDraw
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit QwtDateScaleDraw( Qt::TimeSpec = Qt::LocalTime );
|
explicit QwtDateScaleDraw( QTimeZone timeZone = QTimeZone::LocalTime );
|
||||||
virtual ~QwtDateScaleDraw();
|
virtual ~QwtDateScaleDraw();
|
||||||
|
|
||||||
void setDateFormat( QwtDate::IntervalType, const QString& );
|
void setDateFormat( QwtDate::IntervalType, const QString& );
|
||||||
QString dateFormat( QwtDate::IntervalType ) const;
|
QString dateFormat( QwtDate::IntervalType ) const;
|
||||||
|
|
||||||
void setTimeSpec( Qt::TimeSpec );
|
void setTimeZone( QTimeZone );
|
||||||
Qt::TimeSpec timeSpec() const;
|
QTimeZone timeZone() const;
|
||||||
|
|
||||||
void setUtcOffset( int seconds );
|
void setUtcOffset( int seconds );
|
||||||
int utcOffset() const;
|
int utcOffset() const;
|
||||||
|
|||||||
@@ -717,15 +717,15 @@ static QwtScaleDiv qwtDivideToYears(
|
|||||||
class QwtDateScaleEngine::PrivateData
|
class QwtDateScaleEngine::PrivateData
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit PrivateData( Qt::TimeSpec spec )
|
explicit PrivateData( QTimeZone zone )
|
||||||
: timeSpec( spec )
|
: timeZone( zone )
|
||||||
, utcOffset( 0 )
|
, utcOffset( 0 )
|
||||||
, week0Type( QwtDate::FirstThursday )
|
, week0Type( QwtDate::FirstThursday )
|
||||||
, maxWeeks( 4 )
|
, maxWeeks( 4 )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Qt::TimeSpec timeSpec;
|
QTimeZone timeZone;
|
||||||
int utcOffset;
|
int utcOffset;
|
||||||
QwtDate::Week0Type week0Type;
|
QwtDate::Week0Type week0Type;
|
||||||
int maxWeeks;
|
int maxWeeks;
|
||||||
@@ -744,10 +744,10 @@ class QwtDateScaleEngine::PrivateData
|
|||||||
|
|
||||||
\sa setTimeSpec(), setMaxWeeks(), setWeek0Type()
|
\sa setTimeSpec(), setMaxWeeks(), setWeek0Type()
|
||||||
*/
|
*/
|
||||||
QwtDateScaleEngine::QwtDateScaleEngine( Qt::TimeSpec timeSpec )
|
QwtDateScaleEngine::QwtDateScaleEngine( QTimeZone timeZone )
|
||||||
: QwtLinearScaleEngine( 10 )
|
: QwtLinearScaleEngine( 10 )
|
||||||
{
|
{
|
||||||
m_data = new PrivateData( timeSpec );
|
m_data = new PrivateData( timeZone );
|
||||||
}
|
}
|
||||||
|
|
||||||
//! Destructor
|
//! Destructor
|
||||||
@@ -762,18 +762,18 @@ QwtDateScaleEngine::~QwtDateScaleEngine()
|
|||||||
\param timeSpec Time specification
|
\param timeSpec Time specification
|
||||||
\sa timeSpec(), setUtcOffset(), toDateTime()
|
\sa timeSpec(), setUtcOffset(), toDateTime()
|
||||||
*/
|
*/
|
||||||
void QwtDateScaleEngine::setTimeSpec( Qt::TimeSpec timeSpec )
|
void QwtDateScaleEngine::setTimeZone( QTimeZone timeZone )
|
||||||
{
|
{
|
||||||
m_data->timeSpec = timeSpec;
|
m_data->timeZone = timeZone;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\return Time specification used by the engine
|
\return Time specification used by the engine
|
||||||
\sa setTimeSpec(), utcOffset(), toDateTime()
|
\sa setTimeSpec(), utcOffset(), toDateTime()
|
||||||
*/
|
*/
|
||||||
Qt::TimeSpec QwtDateScaleEngine::timeSpec() const
|
QTimeZone QwtDateScaleEngine::timeZone() const
|
||||||
{
|
{
|
||||||
return m_data->timeSpec;
|
return m_data->timeZone;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -1116,7 +1116,7 @@ QDateTime QwtDateScaleEngine::alignDate(
|
|||||||
if ( dateTime.timeSpec() == Qt::OffsetFromUTC )
|
if ( dateTime.timeSpec() == Qt::OffsetFromUTC )
|
||||||
{
|
{
|
||||||
#if QT_VERSION >= 0x050200
|
#if QT_VERSION >= 0x050200
|
||||||
dt.setOffsetFromUtc( 0 );
|
dt.setTimeZone( QTimeZone::UTC );
|
||||||
#else
|
#else
|
||||||
dt.setUtcOffset( 0 );
|
dt.setUtcOffset( 0 );
|
||||||
#endif
|
#endif
|
||||||
@@ -1277,7 +1277,9 @@ QDateTime QwtDateScaleEngine::alignDate(
|
|||||||
|
|
||||||
if ( dateTime.timeSpec() == Qt::OffsetFromUTC )
|
if ( dateTime.timeSpec() == Qt::OffsetFromUTC )
|
||||||
{
|
{
|
||||||
#if QT_VERSION >= 0x050200
|
#if QT_VERSION >= 0x060000
|
||||||
|
dt.setTimeZone( QTimeZone(dateTime.offsetFromUtc()) );
|
||||||
|
#elif QT_VERSION >= 0x050200
|
||||||
dt.setOffsetFromUtc( dateTime.offsetFromUtc() );
|
dt.setOffsetFromUtc( dateTime.offsetFromUtc() );
|
||||||
#else
|
#else
|
||||||
dt.setUtcOffset( dateTime.utcOffset() );
|
dt.setUtcOffset( dateTime.utcOffset() );
|
||||||
@@ -1297,19 +1299,22 @@ QDateTime QwtDateScaleEngine::alignDate(
|
|||||||
*/
|
*/
|
||||||
QDateTime QwtDateScaleEngine::toDateTime( double value ) const
|
QDateTime QwtDateScaleEngine::toDateTime( double value ) const
|
||||||
{
|
{
|
||||||
QDateTime dt = QwtDate::toDateTime( value, m_data->timeSpec );
|
QDateTime dt = QwtDate::toDateTime( value, m_data->timeZone );
|
||||||
if ( !dt.isValid() )
|
if ( !dt.isValid() )
|
||||||
{
|
{
|
||||||
const QDate date = ( value <= 0.0 )
|
const QDate date = ( value <= 0.0 )
|
||||||
? QwtDate::minDate() : QwtDate::maxDate();
|
? QwtDate::minDate() : QwtDate::maxDate();
|
||||||
|
|
||||||
dt = QDateTime( date, QTime( 0, 0 ), m_data->timeSpec );
|
dt = QDateTime( date, QTime( 0, 0 ), m_data->timeZone );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( m_data->timeSpec == Qt::OffsetFromUTC )
|
if ( m_data->timeZone == QTimeZone::LocalTime )
|
||||||
{
|
{
|
||||||
dt = dt.addSecs( m_data->utcOffset );
|
dt = dt.addSecs( m_data->utcOffset );
|
||||||
#if QT_VERSION >= 0x050200
|
|
||||||
|
#if QT_VERSION >= 0x060000
|
||||||
|
dt.setTimeZone( QTimeZone(m_data->utcOffset) );
|
||||||
|
#elif QT_VERSION >= 0x050200
|
||||||
dt.setOffsetFromUtc( m_data->utcOffset );
|
dt.setOffsetFromUtc( m_data->utcOffset );
|
||||||
#else
|
#else
|
||||||
dt.setUtcOffset( m_data->utcOffset );
|
dt.setUtcOffset( m_data->utcOffset );
|
||||||
|
|||||||
@@ -42,11 +42,11 @@
|
|||||||
class QWT_EXPORT QwtDateScaleEngine : public QwtLinearScaleEngine
|
class QWT_EXPORT QwtDateScaleEngine : public QwtLinearScaleEngine
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit QwtDateScaleEngine( Qt::TimeSpec = Qt::LocalTime );
|
explicit QwtDateScaleEngine( QTimeZone = QTimeZone::LocalTime );
|
||||||
virtual ~QwtDateScaleEngine();
|
virtual ~QwtDateScaleEngine();
|
||||||
|
|
||||||
void setTimeSpec( Qt::TimeSpec );
|
void setTimeZone( QTimeZone );
|
||||||
Qt::TimeSpec timeSpec() const;
|
QTimeZone timeZone() const;
|
||||||
|
|
||||||
void setUtcOffset( int seconds );
|
void setUtcOffset( int seconds );
|
||||||
int utcOffset() const;
|
int utcOffset() const;
|
||||||
|
|||||||
Reference in New Issue
Block a user