2024-01-05 13:01:34 +01:00
|
|
|
#include <QString>
|
2015-07-29 14:19:43 +02:00
|
|
|
#include <QTextStream>
|
|
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
/// Specialized read operation for Bool`s
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
2020-06-19 07:53:59 +02:00
|
|
|
QTextStream& operator>>( QTextStream& str, bool& value )
|
2015-07-29 14:19:43 +02:00
|
|
|
{
|
|
|
|
|
QString text;
|
|
|
|
|
str >> text;
|
2020-06-19 07:53:59 +02:00
|
|
|
if ( text == "True" || text == "true" || text == "1" || text == "Yes" || text == "yes" )
|
|
|
|
|
value = true;
|
|
|
|
|
else
|
|
|
|
|
value = false;
|
2015-07-29 14:19:43 +02:00
|
|
|
|
|
|
|
|
return str;
|
|
|
|
|
}
|
|
|
|
|
|
2020-06-19 07:53:59 +02:00
|
|
|
QTextStream& operator<<( QTextStream& str, const bool& value )
|
2015-07-29 14:19:43 +02:00
|
|
|
{
|
2020-06-19 07:53:59 +02:00
|
|
|
if ( value )
|
|
|
|
|
str << "True ";
|
|
|
|
|
else
|
|
|
|
|
str << "False ";
|
2015-07-29 14:19:43 +02:00
|
|
|
|
|
|
|
|
return str;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
/// Specialized read operation for QDateTimes`s
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
#include <QDateTime>
|
2020-06-19 07:53:59 +02:00
|
|
|
QTextStream& operator>>( QTextStream& str, QDateTime& value )
|
2015-07-29 14:19:43 +02:00
|
|
|
{
|
|
|
|
|
QString text;
|
|
|
|
|
str >> text;
|
2020-06-19 07:53:59 +02:00
|
|
|
value = QDateTime::fromString( text, "yyyy_MM_dd-HH:mm:ss" );
|
|
|
|
|
value.setTimeSpec( Qt::UTC );
|
2015-07-29 14:19:43 +02:00
|
|
|
return str;
|
|
|
|
|
}
|
|
|
|
|
|
2020-06-19 07:53:59 +02:00
|
|
|
QTextStream& operator<<( QTextStream& str, const QDateTime& value )
|
2015-07-29 14:19:43 +02:00
|
|
|
{
|
2020-06-19 07:53:59 +02:00
|
|
|
QString text = value.toString( "yyyy_MM_dd-HH:mm:ss" );
|
2015-07-29 14:19:43 +02:00
|
|
|
str << text;
|
|
|
|
|
return str;
|
|
|
|
|
}
|
2019-08-19 09:37:42 +02:00
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
/// Specialized read operation for QDates
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
#include <QDate>
|
2020-06-19 07:53:59 +02:00
|
|
|
QTextStream& operator>>( QTextStream& str, QDate& value )
|
2019-08-19 09:37:42 +02:00
|
|
|
{
|
2020-06-19 07:53:59 +02:00
|
|
|
QString text;
|
|
|
|
|
str >> text;
|
|
|
|
|
value = QDate::fromString( text, "yyyy_MM_dd" );
|
|
|
|
|
return str;
|
2019-08-19 09:37:42 +02:00
|
|
|
}
|
|
|
|
|
|
2020-06-19 07:53:59 +02:00
|
|
|
QTextStream& operator<<( QTextStream& str, const QDate& value )
|
2019-08-19 09:37:42 +02:00
|
|
|
{
|
2020-06-19 07:53:59 +02:00
|
|
|
QString text = value.toString( "yyyy_MM_dd" );
|
|
|
|
|
str << text;
|
|
|
|
|
return str;
|
2019-08-19 09:37:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
/// Specialized read operation for QTimes
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
#include <QTime>
|
2020-06-19 07:53:59 +02:00
|
|
|
QTextStream& operator>>( QTextStream& str, QTime& value )
|
2019-08-19 09:37:42 +02:00
|
|
|
{
|
2020-06-19 07:53:59 +02:00
|
|
|
QString text;
|
|
|
|
|
str >> text;
|
|
|
|
|
value = QTime::fromString( text, "HH:mm:ss" );
|
|
|
|
|
return str;
|
2019-08-19 09:37:42 +02:00
|
|
|
}
|
|
|
|
|
|
2020-06-19 07:53:59 +02:00
|
|
|
QTextStream& operator<<( QTextStream& str, const QTime& value )
|
2019-08-19 09:37:42 +02:00
|
|
|
{
|
2020-06-19 07:53:59 +02:00
|
|
|
QString text = value.toString( "HH:mm:ss" );
|
|
|
|
|
str << text;
|
|
|
|
|
return str;
|
2019-08-19 09:37:42 +02:00
|
|
|
}
|