Up to now the UI appearance on all platforms was aligned as much as
possible with stylesheets. Since the base widget styles still were
platform dependent defaults, there were many small differences in
details and controls. Some of them were even broken. Instead of
trying to tweak all platform specific styles, default to one on all
platforms. This guarantees that the UI is truly cross platform and
all styles and fixes cover all platforms at the same time.
For users who want to change the default style, they have now a gui
setting. But it is strongly recommended to stick with the default.
refs #683
Crash handler launches an external crash handler executable called
swift_crashpad_handler. It monitores the parent process and produces
a local dump in case of a crash.
For release builds, the dump is also uploaded to a crash report server.
refs #490
When a plugin is loaded, existing aircrafts should not be added
immediatly, but as soon as the simulator is simulating.
CContextSimulator also handles now the case that no simulator is
attached and all aircraft slots are now doing nothing instead of
raising an assert.
refs #549
* view already filter incomplete data
* as result, info object count values are aligned with data eventually parsed (which will allow to detect changes by comparing counts)
* smaller adjustments to allow airlines with designator
CPluginManagerSimulator::createListener returns nullptr if no
listener could be created, e.g. because the plugin could not be loaded
due to missing dependencies. Handle this scenario properly instead of
raising an assert.
refs #669
Change MetarSet to MetarList:
CMetarSet was implemented as a collection. This only makes sense for values which have one member variable only or hardly ever change. METARs often change and therefore a collection didn’t make much sense.
Additional profiling showed that a sequence has better algorithmic performance.
* removed reverse lookup and moved to matcher
* encapsulated update/adding of thread safe members (remove number of places where lock is obtained)
* removed unused METAR slot
* query FSD values encapsulated
* added functions to callsign / callsign list
* used in aircraft matcher
* also resolve std.livery in matcher
* also allow to find aircraft ICAO designator ending with string (e.g. 737 for B737)
* renamed CAircraftMatcher::reverseLookup -> CAircraftMatcher::reverselLookupModel
* threadsafe isInRange (CAIrspaceMonitor)
With the new Qt5 C++11 syntax, private slots are not really necessary.
Replacing it with a normal private method reduces the generated code
from moc and also syntax issues are raised as compiler errors instead
of runtime asserts.
CMetarSet was implemented as a collection. This only makes sense for
values which have one member variable only or hardly ever change. METARs
often change and therefore a collection didn't make much sense.
Additional profiling showed that a sequence has better algorithmic
performance.
refs #689
* do not init shared URLs before needed
* do not load info objects when DB is unavailable
* adjust reader flags when DB is down
* airport URL available in setup