* Replace CheckBox with Pushbutton and Statusbar to enable/disable
* Add Clear button to clear all messages in display and buffer
* Keep all widgets always enabled
ref T240
Once a weather request was finished, its worker gets destroyed automatically
but not immediately. This can cause it to still exist, when the next
request is being processed.
Therefore wait with sending the fetchingFinished() signal, until the
worker is fully destroyed.
ref T235
It won't do much apart from requesting a weather grid. It might be useful
in the future to debug the weather engine. But for now it helps to detect
issues in the request path.
ref T235
* using the existing base classes (interfaces) gives you plenty of useful utility functions
* hint: we do not init with current timestamp as default as this is relatively slow
* changed network config received signature (now with offset time)
* removed code to fix offset time, no longer needed
* using push_frontKeepLatestAdjustedFirst guaranteeing correct order
* track position updates and keep records of offset times
* hence parts and positions can already have a dynamic offset time
* parts config received will include this offset time
* there was already ITimestampWithOffsetBased for objects
* this creates the container version
* functions to add objects (parts/situations) and guarantee the sort order
* moved push_frontMaxElements to CSequence (not specific for timestamp lists)
* added in-place reverse
* all interpolation positions can be logged (3 for spline, 2 for linear)
* interpolated (log) time, setting to real time (i.e. unadjusted time)
* only set logger values with logger attached
* Replaced QListView with QPlainTextEdit
* Added filter options for packet type and text
* Option to globally disable/enable the feature. Default disabled
Maniphest Tasks: Ref T240
* multi format compatible (automatically detect format)
* flag if cache values shall be overridden
* init from resource files (those are the files coming with the installer)
* automatically read in background if reader is (already) in its own thread (otherwise cache.set() ASSERT)