- Removed the 'L' in the format strings, so the C locale is used.
- Added `1 + digits` to the `fieldWidth`, as this actually includes the
decimal point and the digits after it.
* use SimulatedObject object if NON ATC type failed (for helicopters)
* SimObject can handle SimulatedObject type (compared to NonATC)
* Send ATC data to simulator
QSysInfo::machineUniqueId() was added in Qt 5.11 and is using DBus independent unique machine ids everywhere except on Linux. This prevents running into an assert in case DBus is not properly installed at a very early stage of the application without any chance to give the user a warning and handle it gracefully.
- `debug()`, `warning()`, `error()` etc. overloaded on `const char16_t[]` to accept UTF-16 string literals.
- Overloads on `const char *` are deleted to avoid accidents.
- Message is stored as QString and/or QStringView depending which overload is used.
- The multiplexing between QString and QStringView is handled by a special value class, to keep the metaclass simple.
- QStringView does not have `arg()` method, so had to implement our own.
Test Plan:
- Check that the new shared libraries are packaged in all platform installers.
- check that plugins are loaded properly on all platforms.
Reviewers: #swift_pilot_client, msutcliffe
Reviewed By: #swift_pilot_client, msutcliffe
Maniphest Tasks: T471
Differential Revision: https://dev.swift-project.org/D79
The config is loaded from json files by qmake, and we define the qmake
function `swiftConfig` for checking whether a feature is enabled.
This function can be directly used in `buildconfig_gen.cpp.in`,
so the trick with C++ comment tokens in variables is not needed.
On Windows we ship 7za.exe in our binaries.
On MacOS we do the same, but the executable needs to be called with the full path.
On Linux we don't ship anything but assume it to be available from the distribution.
* Use correct version of loadAndResolveP3DSimConnect/loadAndResolveFsxSimConnect
* use CLogCategory::driver() for SimConnectSymbols
* added load(common_pre/post)
When flying in shared cockpit mode, both pilots log into the network.
One as pilot to be visible to ATC and other pilots. The other one as
observer. For the observing user, the pilots aircraft needs to be filtered.
Filter algorithm is using the same schema as vPilot does.
ref T427
This is an intermediate step to have smaller unit tests. It is a trade off
between having many many test executables compared to a few bigger ones. But
this comes a lot closer to what QtTest is meant to be used.
Ref T309, found that QDateTime::fromString returns a QDateTime object with local timestamp. Using a optimized version returns UTC objects now.
- The bug was found writing a unit test for Ref T308
- Slack: https://swift-project.slack.com/archives/G7GD2UP9C/p1534848725000100
Remark: Sometimes we have up to 25% overhead on MacOS
QDEBUG :BlackMiscTest::CTestAircraftSituation::sortHint() MacOS: "yes"
QDEBUG : BlackMiscTest::CTestAircraftSituation::sortHint() Access without hint 48 ms
QDEBUG : BlackMiscTest::CTestAircraftSituation::sortHint() Access with hint 60 ms
QDEBUG : BlackMiscTest::CTestAircraftSituation::sortHint() Access ratio 1.25
FAIL! : BlackMiscTest::CTestAircraftSituation::sortHint() 'hint <= noHint' returned FALSE. (Expected hinted sort being faster)
* constructor can pass network accessibility as default
* ping URL now constructed in global setup
* watchdog will prevent unnecessary signals by checking if state has really changed (there are redundant QAM signals for QNetworkAccessManager::networkAccessibleChanged)
* refactorings, thread checks