mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 01:40:04 +00:00 
			
		
		
		
	QDate::toStdSysDays is needlessly behind __cpp_lib_chrono >= 201907L
This commit is contained in:
		
							parent
							
								
									1479525c4a
								
							
						
					
					
						commit
						5a078800e4
					
				
					 4 changed files with 56 additions and 4 deletions
				
			
		|  | @ -186,7 +186,8 @@ set(HDR_UTIL source/scwx/qt/util/color.hpp | ||||||
|              source/scwx/qt/util/streams.hpp |              source/scwx/qt/util/streams.hpp | ||||||
|              source/scwx/qt/util/texture_atlas.hpp |              source/scwx/qt/util/texture_atlas.hpp | ||||||
|              source/scwx/qt/util/q_file_buffer.hpp |              source/scwx/qt/util/q_file_buffer.hpp | ||||||
|              source/scwx/qt/util/q_file_input_stream.hpp) |              source/scwx/qt/util/q_file_input_stream.hpp | ||||||
|  |              source/scwx/qt/util/time.hpp) | ||||||
| set(SRC_UTIL source/scwx/qt/util/color.cpp | set(SRC_UTIL source/scwx/qt/util/color.cpp | ||||||
|              source/scwx/qt/util/file.cpp |              source/scwx/qt/util/file.cpp | ||||||
|              source/scwx/qt/util/font.cpp |              source/scwx/qt/util/font.cpp | ||||||
|  | @ -195,7 +196,8 @@ set(SRC_UTIL source/scwx/qt/util/color.cpp | ||||||
|              source/scwx/qt/util/json.cpp |              source/scwx/qt/util/json.cpp | ||||||
|              source/scwx/qt/util/texture_atlas.cpp |              source/scwx/qt/util/texture_atlas.cpp | ||||||
|              source/scwx/qt/util/q_file_buffer.cpp |              source/scwx/qt/util/q_file_buffer.cpp | ||||||
|              source/scwx/qt/util/q_file_input_stream.cpp) |              source/scwx/qt/util/q_file_input_stream.cpp | ||||||
|  |              source/scwx/qt/util/time.cpp) | ||||||
| set(HDR_VIEW source/scwx/qt/view/level2_product_view.hpp | set(HDR_VIEW source/scwx/qt/view/level2_product_view.hpp | ||||||
|              source/scwx/qt/view/level3_product_view.hpp |              source/scwx/qt/view/level3_product_view.hpp | ||||||
|              source/scwx/qt/view/level3_radial_view.hpp |              source/scwx/qt/view/level3_radial_view.hpp | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| #include "animation_dock_widget.hpp" | #include "animation_dock_widget.hpp" | ||||||
| #include "ui_animation_dock_widget.h" | #include "ui_animation_dock_widget.h" | ||||||
| 
 | 
 | ||||||
|  | #include <scwx/qt/util/time.hpp> | ||||||
| #include <scwx/util/logger.hpp> | #include <scwx/util/logger.hpp> | ||||||
| 
 | 
 | ||||||
| #include <QTimer> | #include <QTimer> | ||||||
|  | @ -65,7 +66,7 @@ AnimationDockWidget::AnimationDockWidget(QWidget* parent) : | ||||||
|    ui->dateEdit->setDate(currentDate); |    ui->dateEdit->setDate(currentDate); | ||||||
|    ui->timeEdit->setTime(currentTime); |    ui->timeEdit->setTime(currentTime); | ||||||
|    ui->dateEdit->setMaximumDate(currentDateTime.date()); |    ui->dateEdit->setMaximumDate(currentDateTime.date()); | ||||||
|    p->selectedDate_ = currentDate.toStdSysDays(); |    p->selectedDate_ = util::SysDays(currentDate); | ||||||
|    p->selectedTime_ = |    p->selectedTime_ = | ||||||
|       std::chrono::seconds(currentTime.msecsSinceStartOfDay() / 1000); |       std::chrono::seconds(currentTime.msecsSinceStartOfDay() / 1000); | ||||||
| 
 | 
 | ||||||
|  | @ -129,7 +130,7 @@ void AnimationDockWidgetImpl::ConnectSignals() | ||||||
|       { |       { | ||||||
|          if (date.isValid()) |          if (date.isValid()) | ||||||
|          { |          { | ||||||
|             selectedDate_ = date.toStdSysDays(); |             selectedDate_ = util::SysDays(date); | ||||||
|             emit self_->DateTimeChanged(selectedDate_ + selectedTime_); |             emit self_->DateTimeChanged(selectedDate_ + selectedTime_); | ||||||
|          } |          } | ||||||
|       }); |       }); | ||||||
|  |  | ||||||
							
								
								
									
										24
									
								
								scwx-qt/source/scwx/qt/util/time.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								scwx-qt/source/scwx/qt/util/time.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,24 @@ | ||||||
|  | #include <scwx/qt/util/time.hpp> | ||||||
|  | 
 | ||||||
|  | namespace scwx | ||||||
|  | { | ||||||
|  | namespace qt | ||||||
|  | { | ||||||
|  | namespace util | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  | std::chrono::sys_days SysDays(const QDate& date) | ||||||
|  | { | ||||||
|  |    using namespace std::chrono; | ||||||
|  |    using sys_days             = time_point<system_clock, days>; | ||||||
|  |    constexpr auto julianEpoch = sys_days {-4713y / November / 24d}; | ||||||
|  |    constexpr auto unixEpoch   = sys_days {1970y / January / 1d}; | ||||||
|  |    constexpr auto offset      = std::chrono::days(julianEpoch - unixEpoch); | ||||||
|  | 
 | ||||||
|  |    return std::chrono::sys_days(std::chrono::days(date.toJulianDay()) + | ||||||
|  |                                 julianEpoch); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | } // namespace util
 | ||||||
|  | } // namespace qt
 | ||||||
|  | } // namespace scwx
 | ||||||
							
								
								
									
										25
									
								
								scwx-qt/source/scwx/qt/util/time.hpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								scwx-qt/source/scwx/qt/util/time.hpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,25 @@ | ||||||
|  | #pragma once | ||||||
|  | 
 | ||||||
|  | #include <chrono> | ||||||
|  | 
 | ||||||
|  | #include <QDateTime> | ||||||
|  | 
 | ||||||
|  | namespace scwx | ||||||
|  | { | ||||||
|  | namespace qt | ||||||
|  | { | ||||||
|  | namespace util | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  | /**
 | ||||||
|  |  * @brief Convert QDate to std::chrono::sys_days. | ||||||
|  |  * | ||||||
|  |  * @param [in] date Date to convert | ||||||
|  |  * | ||||||
|  |  * @return Days | ||||||
|  |  */ | ||||||
|  | std::chrono::sys_days SysDays(const QDate& date); | ||||||
|  | 
 | ||||||
|  | } // namespace util
 | ||||||
|  | } // namespace qt
 | ||||||
|  | } // namespace scwx
 | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat