Commit Graph

4610 Commits

Author SHA1 Message Date
Mathew Sutcliffe
fd649c0b5c T73 Added virtual final destructors in CMeasurementUnit derived classes.
This fixes the GCC warning "deleting polymorphic object with non-virtual destructor".
They are marked final so the virtual dispatch can be optimized out, because they don't need to be overridden.
2017-05-14 17:21:31 +01:00
Mathew Sutcliffe
07ec7e6bc1 T73 Pass units by value.
Class types which are trivial to copy should be passed by value.
2017-05-14 17:21:30 +01:00
Mathew Sutcliffe
c8d78ada65 T73 Flyweight pattern based on pimpl, to reduce CMeasurementUnit memory usage.
* All members of CMeasurementUnit moved into nested pimpl class Data.
* CMeasurementUnit has only one member: a pointer to a const Data.
* Static const CMeasurementUnits replaced with static const Datas.
* Each CMeasurementUnit singleton method returns by-value a CMeasurementUnit containing a pointer to a static const Data.
* Means CMeasurementUnit is trivial to copy because we never copy the pimpl members.
** Works because the available units are fixed at compile time so we never need to create novel units at runtime.
2017-05-14 17:21:23 +01:00
Mathew Sutcliffe
fef2bc528e T73 Enabled for constexpr, to take advantage of constant-initialization.
* CMeasurementUnit and every one of its members is a literal type.
** This requires using QLatin1String instead of QString.
* Every static const CMeasurementUnit is static constexpr.
** This means they are initialized at compile time, no runtime initialization needed.
2017-05-14 17:13:40 +01:00
Mathew Sutcliffe
5e4349bba6 T73 Style. 2017-05-14 15:08:04 +01:00
Mathew Sutcliffe
48482d8d1e T73 CMeasurementUnit converter strategy based on function pointers.
Because function pointers are literal types, so they can be constexpr.
2017-05-14 15:08:03 +01:00
Mathew Sutcliffe
895190c4d0 T73 Fixed non-threadsafe static initialization. 2017-05-14 15:08:01 +01:00
Roland Winklmeier
8bf9296d51 Remove argument 'self' from static method fix_library_name
Summary:
fix_library_name is a static method and therefore does not accept
argument 'self'.

Reviewers: kbasan, msutcliffe

Reviewed By: msutcliffe

Subscribers: jenkins

Tags: #swift_pilot_client

Differential Revision: https://dev.swift-project.org/D21
2017-05-14 15:08:00 +01:00
Mathew Sutcliffe
e848459ccb Avoiding QRegularExpression for simple stuff [follow-up D11]
Summary: Fixing a snag I noticed while reviewing D11. There is no need to use a regex for such a simple thing as removing `[^A-Z]`. Some other minor optimizations in the same function.

Reviewers: rwinklmeier, kbasan

Reviewed By: rwinklmeier

Subscribers: jenkins

Tags: #swift_pilot_client

Differential Revision: https://dev.swift-project.org/D20
2017-05-14 15:04:32 +01:00
Mathew Sutcliffe
a89e042ff8 Prevent inserting default-constructed elements in CSimulatorFsxCommon::m_simConnectObjects.
Hopefully this fixes null pointer dereference of CSimConnectObject::m_interpolator.
2017-05-14 15:04:31 +01:00
Mathew Sutcliffe
91341890ec Use a blocking queued connection to CLogHandler::logLocalMessage
when logging a fatal message from a worker thread.
Hopefully this will allow assert messages to be recorded in the logs.
2017-05-11 17:39:42 +01:00
Mathew Sutcliffe
f34c48cf6c T79 Improved log messages. 2017-05-11 16:37:54 +01:00
Klaus Basan
57b39dcd37 Unified setting key 2017-05-09 19:13:58 +02:00
Klaus Basan
9b8afdf499 Ref T78, setting and dialog "do not show again"
Applies to automatic update info check
2017-05-09 19:13:57 +02:00
Klaus Basan
0af6a372e3 UI stash text improved and stash shortcuts 2017-05-09 19:13:56 +02:00
Klaus Basan
43bd700687 Ref T63, remember directory 2017-05-09 19:13:56 +02:00
Klaus Basan
a4100d7efa Ref T77, tooltip for models (HTML Summary) 2017-05-09 19:13:54 +02:00
Klaus Basan
afbb87298f Ref T77, prefix for getDbKeyAsStringInParentheses 2017-05-09 19:13:53 +02:00
Klaus Basan
ba85e3851b Ref T75, filter aircraft model by id 2017-05-09 19:13:52 +02:00
Klaus Basan
7df685bbda Ref T75, filter livery by id 2017-05-09 19:13:51 +02:00
Klaus Basan
997d17c459 Ref T75, filter airline ICAO by id 2017-05-09 19:13:50 +02:00
Klaus Basan
55357f9c65 Ref T75, filter aircraft ICAO by id 2017-05-09 19:13:50 +02:00
Klaus Basan
614efd7681 Ref T75, utility function 2017-05-09 19:13:49 +02:00
Klaus Basan
a9938fd7fe Formatting 2017-05-09 19:13:48 +02:00
Klaus Basan
77100fc09e Ref T67, display load status messages 2017-05-09 19:13:47 +02:00
Klaus Basan
927b8bc577 Ref T67, check models against simulator when loading them
* set simulator which the model view accepts for loading
* removed old flags
2017-05-09 19:13:46 +02:00
Klaus Basan
98479e8d17 Ref T67, allow to pass "forced" 2017-05-09 19:13:45 +02:00
Klaus Basan
5558cee4d8 Ref T67, utility functions for simulator info/model list 2017-05-09 19:13:45 +02:00
Klaus Basan
1e0e40186c Formatting, renaming 2017-05-09 19:13:43 +02:00
Klaus Basan
92472e78a6 Ref T58, consolidation fixes
* override simulator, because values can be removed
* DB simulator has priority
2017-05-09 19:13:42 +02:00
Klaus Basan
cdfa2530b6 Ref T72, lenient search for airline ICAO 2017-05-09 19:13:41 +02:00
Mathew Sutcliffe
183d3f58e7 X-Plane model loader: fixed malformed model strings with spurious multiple liveries.
Each livery was being appended to the model string of the previous livery model.
Reported by Alex Beavil.
2017-05-07 21:52:14 +01:00
Mathew Sutcliffe
b1e57e28d0 Fixed QVector out-of-bounds assert in X-Plane model loader. 2017-05-06 20:22:46 +01:00
Mathew Sutcliffe
8b29576752 Bumped version number. 2017-05-05 23:08:45 +01:00
Roland Winklmeier
64b52f7026 [Installer] Run swift in background after installation
Summary:
After installation, swiftlauncher is executed in wizard mode. However, installer
kept running in the background until the launcher was closed. Instead,
run swift in background which allows the installer to quit.

Reviewers: kbasan, msutcliffe

Reviewed By: msutcliffe

Differential Revision: https://dev.swift-project.org/D19
2017-05-05 23:08:42 +01:00
Roland Winklmeier
cf2c0d0f35 Use qt.conf to override plugin path on Mac OS
Summary:
QCoreApplication::addLibraryPath is called before QCoreApplication
was constructed and this caused the returned string to be different
depending from which working directory it was called and not always
the intended binary path.
Using qt.conf has a fixed prefix relative to the binary path
inside the application bundle and therefore is easier to be used
with a relative path.

Reviewers: kbasan, msutcliffe

Reviewed By: msutcliffe

Differential Revision: https://dev.swift-project.org/D18
2017-05-05 23:08:40 +01:00
Roland Winklmeier
f952775665 Use dbus-uuidgen to create dbus machine id after installation
Summary:
The file machine-id was missing on target machines and needs
to be created during installation.

Reviewers: kbasan, msutcliffe

Reviewed By: msutcliffe

Subscribers: jenkins

Tags: #swift_pilot_client

Differential Revision: https://dev.swift-project.org/D17
2017-05-05 23:08:37 +01:00
Mathew Sutcliffe
d5ab73e1bc Replace QRegExp with QRegularExpression
Reviewers: kbasan, msutcliffe

Reviewed By: kbasan, msutcliffe

Subscribers: jenkins

Differential Revision: https://dev.swift-project.org/D11
2017-05-05 23:08:35 +01:00
Klaus Basan
94fbfeefdb Fixed bug in load overview 2017-05-05 23:08:32 +01:00
Klaus Basan
0fd3857b87 Ref T28, allow to set updater to really show if it is "on" 2017-05-05 23:08:28 +01:00
Klaus Basan
e7e984227b Ref T28, allow access to settings component 2017-05-05 23:08:22 +01:00
Klaus Basan
5b3097a2b0 Ref T28, description for cache 2017-05-05 23:08:18 +01:00
Klaus Basan
c9afc68309 Ref T28, do not change simulator selector when only cache update 2017-05-05 23:08:13 +01:00
Klaus Basan
9f4f06a436 Ref T28, consolidated reading
* fixed newer parameter
* unified handling of incremental updates
* skip cache update when there was no incremental data
2017-05-05 23:08:09 +01:00
Klaus Basan
c0320609b3 Ref T28, minor improvements 2017-05-05 23:08:06 +01:00
Klaus Basan
c3ed0bc394 Ref T28, removed areModelFilesUpdated and info if loading was from cache
* removed CacheUntilNewer
* did not really work and had some problems
* cache timestamp not really a good value to compare with
* too slow with remote file
2017-05-05 23:08:04 +01:00
Klaus Basan
6fc48ab160 Ref T53, "bulkadd" role in UI/user 2017-05-05 23:08:02 +01:00
Klaus Basan
66e729b090 Ref T28, using background updater in mapping tool 2017-05-05 23:08:00 +01:00
Klaus Basan
f4af5e6cc1 Ref T28, settings for updater 2017-05-05 23:07:57 +01:00
Klaus Basan
f12b69bb87 Ref T28, background updater: consolidate DB and model data in background
* automatically reload DB data
* consolidate models with DB data
2017-05-05 23:07:55 +01:00