Commit Graph

1182 Commits

Author SHA1 Message Date
Mathew Sutcliffe
c6a038aaa8 refs #601 Simplify syncLoad and rename to synchronize.
Now it doesn't return anything, it just causes the next async get() to be synchronized with the latest loaded value.
It does this by hooking into the queue introduced in the previous commit.
2016-03-18 01:07:38 +00:00
Mathew Sutcliffe
06ad77ee9d refs #601 CDataCache overrides connectPage to provide a queue that is more flexible than the usual Qt::QueuedConnection. 2016-03-18 01:07:32 +00:00
Mathew Sutcliffe
899d94ca74 refs #601 Refactor signal/slot connections from CValuePage constructor into virtual method of CValueCache
so that derived classes can override the behaviour.
2016-03-18 01:07:27 +00:00
Mathew Sutcliffe
f680cee8ed refs #601 Slot inhibitor no longer needed, this reverts commit:bc2e0faa. 2016-03-18 01:07:24 +00:00
Mathew Sutcliffe
a47a2681bd refs #601 Fixed thread safety of get() by adding getCopy(). 2016-03-17 19:45:15 +00:00
Klaus Basan
3e21b718d9 refs #601, #618 Fixed mistake. 2016-03-17 19:45:12 +00:00
Klaus Basan
a6840f12a1 refs #601, #600 CValuePage::getPageFor finds direct children only.
Fixes assert "can't have two CCached in the same object referring to the same value".
2016-03-17 19:45:09 +00:00
Klaus Basan
144ba62572 refs #601, #600, #485 Status message handling.
* follow up of debug session, added failure/success to status message
* return status messages instead of directly logging in functions returning CStatusMessage.
* Ignore empty preformatted messages.
* new log category
2016-03-17 19:45:04 +00:00
Mathew Sutcliffe
f490504f52 refs #601, #600 Fixed mistake in CValueCache::saveToFiles. 2016-03-07 17:04:41 +00:00
Klaus Basan
83082d3f63 refs #601, #600 Fixed inverted conditions in CValueCache and CSettingsCache. 2016-03-03 22:32:19 +00:00
Roland Winklmeier
39285541b7 Fix CTime unit test failure with MinGW build 2016-03-02 23:04:46 +01:00
Roland Winklmeier
48fdfbea3e Cloud layers have a base and a top
refs #579
2016-03-02 23:04:29 +01:00
Roland Winklmeier
16315ec2ec Implement hardcoded weather grids
* Cavok
* Thunderstorm

refs #579
2016-03-02 23:04:05 +01:00
Roland Winklmeier
04292c2002 Add initializer list constructors
refs #579
2016-03-02 23:03:57 +01:00
Roland Winklmeier
03abfec7c6 Add precipitation and cloud type to CCloudLayer
refs #579
2016-03-02 23:03:50 +01:00
Roland Winklmeier
af3b8f7f0c Add dew point to CTemperatureLayer
refs #579
2016-03-02 23:03:33 +01:00
Roland Winklmeier
af28db9e97 Add CVisibilityLayer and CVisibilityLayerList
refs #579
2016-03-02 22:58:38 +01:00
Roland Winklmeier
f82895501f Fix build on Mac OS X El Capitan (10.11) 2016-02-21 23:09:31 +01:00
Roland Winklmeier
61e68860f8 Fix removing of old log files
The modification date of the log files was invalid, since QFileInfo
was constructed with a filename only and absolute path. Hence no file
was ever removed from disk.
2016-02-21 20:16:51 +01:00
Roland Winklmeier
17324f718d Replace fatals by warnings in CAircraftModelLoaderXPlane
The warning message is there in order to tell developers that one of the
rare cases not yet implemeneted were called. This should not cause
the application to stop.

refs #574, #582
2016-02-21 20:16:50 +01:00
Roland Winklmeier
b185d10463 Simplify XPlane CSL model strings
Before this change, the model strings were assembled via some
relatives pathes - long and very hard to read. Now it is assembled
via the pattern

<package root dir> <dir> ... <objectname> <texturename>

<package root dir> = the parent directory of xsb_aircrafts.txt
<dir> ... = directory hierarchy down to the object file

refs #574
2016-02-21 20:16:48 +01:00
Roland Winklmeier
d8eda7ea4b Improve ModelLoader to find and parse XPlane flyable planes
refs #582
2016-02-21 20:16:37 +01:00
Roland Winklmeier
7cac547f1e Utility method to get XPlane root directory 2016-02-16 21:09:30 +01:00
Roland Winklmeier
5670ba925a Fix MinGW warnings 2016-02-16 20:01:36 +01:00
Roland Winklmeier
1ea2f34f75 Fix doxygen documentation in src, samples and tests
refs #594
2016-02-16 20:01:33 +01:00
Roland Winklmeier
bd251b5de6 Fix license headers 2016-02-16 20:01:21 +01:00
Roland Winklmeier
7953d550ea Fix linux clang errors and warnings
refs #596
2016-02-15 18:35:34 +01:00
Roland Winklmeier
141efdbf43 Fix missing dbus type registration in CValueCachePacket 2016-02-12 21:13:39 +01:00
Mathew Sutcliffe
641e469c9e refs #584 Doxygen. 2016-02-08 17:28:24 +00:00
Mathew Sutcliffe
451b90e4f9 refs #584 Moved make_unique to makeunique.h 2016-02-08 17:28:22 +00:00
Mathew Sutcliffe
3bdcd7e386 refs #584 Moved hash related stuff to dictionary.h
This also means moving Mixin::Icon from CContainerBase one step down the inheritance hierarchy
to resolve what would otherwise have been a circular include dependency.
2016-02-08 17:26:45 +00:00
Mathew Sutcliffe
c7a0aa2fb4 refs #584 Moved Mixin::String to stringutils.h 2016-02-08 17:26:40 +00:00
Roland Winklmeier
858320da4d Workaround doxygen link request failure warning
Doxygen raises a warnings saying "explicit link request to
'iterator' could not be resolved".
2016-02-08 01:53:17 +01:00
Roland Winklmeier
055e4aae17 Fix source code not in sync with doxygen doc
refs #544
2016-02-08 01:53:17 +01:00
Roland Winklmeier
794bf0cd74 Fix doxygen copydoc documentation
The following issues were fixed
* Fixed wrong/missing namespaces
* Fixed obvious typos in documentation
* Documentation not in sync with source code

refs #544
2016-02-08 01:53:17 +01:00
Mathew Sutcliffe
208c5ff3b4 refs #581, #592, #545 Remembered to use QFile::Text mode. 2016-02-06 19:45:52 +00:00
Mathew Sutcliffe
bef19a5240 refs #581, #592 Allow to renew a stale value by updating the timestamp on disk without altering the value. 2016-02-06 19:45:51 +00:00
Mathew Sutcliffe
3175e640bb refs #581, #592, #545 CAtomicFile can support ReadWrite mode by first copying the file. 2016-02-06 19:45:51 +00:00
Mathew Sutcliffe
3bc145cc0c refs #581, #592 Should use CAtomicFile for writing the revision file. 2016-02-06 19:45:50 +00:00
Mathew Sutcliffe
a58dddfa19 refs #581, #592 Make sure syncLoad checks if the next load would load the value, if it is not currently loading. 2016-02-06 19:45:49 +00:00
Mathew Sutcliffe
5a0db69415 refs #581 Bugfix: timestamps of uninitialized cache values should be zero. 2016-02-06 19:45:49 +00:00
Mathew Sutcliffe
071dbda4b7 refs #581 Store a TTL value in the data cache revision file, skip loading a cached value if its timestamp is too old. 2016-02-06 19:45:48 +00:00
Mathew Sutcliffe
e0607eb83c refs #581 Synchronous loading of data cache value by returning a future.
CDataCacheRevision maintains a list of promises corresponding to the futures, so they can be delivered
when the loading is finished. Corresponding notification slot is inhibited to avoid duplicate notification.
2016-02-06 19:45:47 +00:00
Mathew Sutcliffe
bc2e0faa36 refs #581 CValueCachePacket contains an inhibitions list that can be used to disable specific notification slots. 2016-02-06 19:45:47 +00:00
Mathew Sutcliffe
c1d3e2aabb refs #581 Refactoring: extract method applyDeferredChanges. 2016-02-06 19:45:46 +00:00
Mathew Sutcliffe
e1b40f54cb refs #581 Allow setting the timestamp when putting a value in the cache. 2016-02-06 19:45:45 +00:00
Mathew Sutcliffe
97fad301ae refs #581 Use JSON to store timestamps in data cache revision file. 2016-02-06 19:45:45 +00:00
Mathew Sutcliffe
ef38c1620f refs #581 Refactor data cache revision file logic into new class CDataCacheRevision. 2016-02-06 19:45:44 +00:00
Mathew Sutcliffe
f9ee637a1e refs #583 as_const 2016-02-06 19:45:43 +00:00
Mathew Sutcliffe
d6b9fe6f95 refs #539 Time-based file search utility functions. 2016-02-06 19:45:42 +00:00