Add own Time class (similar QTime)
This commit is contained in:
		
							
								
								
									
										58
									
								
								library/include/mobilisis/atb_time.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								library/include/mobilisis/atb_time.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
			
		||||
#ifndef ATB_TIME_H_INCLUDED
 | 
			
		||||
#define ATB_TIME_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <QDateTime>
 | 
			
		||||
 | 
			
		||||
class ATBTime {
 | 
			
		||||
    QDateTime const m_end;
 | 
			
		||||
    mutable QDateTime m_time;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    explicit ATBTime();
 | 
			
		||||
    explicit ATBTime(int h, int m, int s = 0, int ms = 0);
 | 
			
		||||
 | 
			
		||||
    int hour() const { return m_time.time().hour(); }
 | 
			
		||||
    int minute() const { return m_time.time().minute(); }
 | 
			
		||||
    int second() const { return m_time.time().second(); }
 | 
			
		||||
    int msec() const { return m_time.time().msec(); }
 | 
			
		||||
 | 
			
		||||
    int secsTo(QTime t) const { return m_time.time().secsTo(t); }
 | 
			
		||||
    int msecsTo(QTime t) const { return m_time.time().msecsTo(t); }
 | 
			
		||||
 | 
			
		||||
    bool setHMS(int h, int m, int s, int ms = 0);
 | 
			
		||||
 | 
			
		||||
    bool isNull() const { return m_time.time().isNull(); }
 | 
			
		||||
    bool isValid() const { return m_time.time().isValid(); }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    QTime addMSecs(int ms) const;
 | 
			
		||||
    QTime addMSecs(int ms);
 | 
			
		||||
 | 
			
		||||
    QTime addSecs(int s) const;
 | 
			
		||||
    QTime addSecs(int s);
 | 
			
		||||
 | 
			
		||||
    int msecsSinceStartOfDay() const;
 | 
			
		||||
    QString toString(Qt::DateFormat format = Qt::TextDate) const;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    static bool isValid(int h, int m, int s, int ms = 0);
 | 
			
		||||
 | 
			
		||||
    static QTime currentTime() { return QDateTime::currentDateTime().time(); }
 | 
			
		||||
 | 
			
		||||
    static constexpr QTime fromMSecsSinceStartOfDay(int msecs);
 | 
			
		||||
 | 
			
		||||
    static QTime fromString(QString const &string, Qt::DateFormat format = Qt::TextDate);
 | 
			
		||||
    static QTime fromString(QString const &string, const QString &format);
 | 
			
		||||
 | 
			
		||||
    friend bool operator!=(const ATBTime &lhs, const ATBTime &rhs) noexcept;
 | 
			
		||||
    friend bool operator<(const ATBTime &lhs, const ATBTime &rhs) noexcept;
 | 
			
		||||
    friend bool operator<=(const ATBTime &lhs, const ATBTime &rhs) noexcept;
 | 
			
		||||
    friend bool operator<(const ATBTime &lhs, const ATBTime &rhs) noexcept;
 | 
			
		||||
    friend bool operator>(const ATBTime &lhs, const ATBTime &rhs) noexcept;
 | 
			
		||||
    friend bool operator==(const ATBTime &lhs, const ATBTime &rhs) noexcept;
 | 
			
		||||
    friend QDataStream &operator<<(QDataStream &out, ATBTime time);
 | 
			
		||||
    friend QDataStream &operator>>(QDataStream &in, ATBTime &time);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif // ATB_TIME_H_INCLUDED
 | 
			
		||||
		Reference in New Issue
	
	Block a user