Commit Graph

3491 Commits

Author SHA1 Message Date
Klaus Basan
e8aa873ea0 Formatting 2016-08-26 21:06:03 +01:00
Klaus Basan
b7d689d63d refs #742, allow to search for color liveries in livery form
(using dialog)
2016-08-26 21:06:01 +01:00
Klaus Basan
c5f60bc582 refs #742, dialog to search for color livery 2016-08-26 21:05:59 +01:00
Klaus Basan
74740991a3 refs #742, allow to search by colors
* color distance in livery
* and in container
2016-08-26 21:05:58 +01:00
Klaus Basan
940137b921 refs #720, tristate checkboxes need to be connected by QCheckBox::clicked 2016-08-26 21:05:56 +01:00
Klaus Basan
231bfea566 refs #741, allow to discard settings
(not saving, but continue closing)
2016-08-26 21:05:55 +01:00
Mathew Sutcliffe
8b1bdbdcf8 refs #721 Use QLatin1String for JSON object keys (disabled until Qt 5.7.1). 2016-08-26 21:05:53 +01:00
Mathew Sutcliffe
e2e1e53d42 refs #721 Avoid looking up the JSON object key twice every time. 2016-08-26 21:05:52 +01:00
Mathew Sutcliffe
0fb7603b58 refs #721 JSON performance samples. 2016-08-26 21:05:51 +01:00
Roland Winklmeier
b25966bac3 Disable QFrame borders in stylesheet 2016-08-26 21:05:50 +01:00
Klaus Basan
f1cd73a268 refs #734, allow to set temp.livery 2016-08-26 21:05:47 +01:00
Klaus Basan
4e381a048f refs #740, GUI settings in own component
* used in client/mapping tool
* reset font possible
2016-08-26 21:05:46 +01:00
Klaus Basan
6037ce85ed Fixes context menu for stashing
(there is no sender when invoking the slot)
2016-08-26 21:05:44 +01:00
Klaus Basan
227190ab42 Minor adjustments
* ignore empty root dir
* check for empty context
2016-08-26 21:05:43 +01:00
Klaus Basan
5789120ecc refs #555, load models from directory
* file dialog
* adjusted signatures to pass directory
2016-08-26 21:05:42 +01:00
Klaus Basan
126df28d0c refs #735, formatting 2016-08-26 21:05:37 +01:00
Klaus Basan
61ac328d10 refs #735, remove invalid objects from stash
* button "remove invalid objects"
* tab order fixed
2016-08-26 21:05:36 +01:00
Klaus Basan
9c2a2de4c5 refs #732, (re)set current distributor preferences from context menu 2016-08-26 21:05:34 +01:00
Klaus Basan
b324a26747 refs #735, allow to reset highlighting
(some leftovers of DB object highlighting also deleted)
2016-08-26 21:05:33 +01:00
Roland Winklmeier
2434c7bbe2 Add swiftdata splash screen
refs #738
2016-08-26 21:05:27 +01:00
Roland Winklmeier
3603bbabe2 Rename CApplication member function to be better readable
The combination of the method's name 'signalStartupAutomatically'
and the default argument, I completely misunderstood the purpose
of the method in case the argument was skipped.
'a.signalStartupAutomatically()' actually disabled automatic signaling.
2016-08-26 21:05:26 +01:00
Roland Winklmeier
fcac3b8137 Fix making a CInfoArea window visible during construction
refs #738
2016-08-26 21:05:25 +01:00
Roland Winklmeier
5486596335 Refactor SECLAL player into new threaded player class
The reason for moving the implementation out from CSoundGenerator into
its own class is, because CSoundGenerator was a very complex and
obscure class. It mixed many tasks in one place. CSelcalPlayer
is designed to play SELCALs only.

The following design changes have been made, compared to CSoundGenerator:
* Use pull mode instead of push mode. QBuffer is used as the QIODevice and
  is a wrapper around QByteArray. Therefore it is not necessary to
  implement our own QIODevice.
* Internally it uses a CThreadedSelcalPlayer to relieve the load of the
  main thread. CThreadedSelcalPlayer inherits CContinuousWorker, no
  low level QThread implementation was necessary.
* Push mode was not implemented.
* It is important that the QAudioOutput is allocated in the worker thread.
  QAudioOutput allocates internal objects, which cannot be moved to
  the worker thread.
* Data caching. The generated seclal audio data is cached.

refs #736
2016-08-26 21:05:24 +01:00
Roland Winklmeier
1ff06a1174 Improve style of QCheckBox and QRadioButton 2016-08-26 21:05:23 +01:00
Roland Winklmeier
7f9c99ca7a Decouple system keyboard/joystick events from connected actions
The Mac OS/X event loop complained that system event processing took
too much time and disabled event taps. This commit speeds up system
event handling by connecting CInputManager with a queued connection.
This calls all (potentially expensive) hotkey actions asynchronously.
2016-08-26 21:05:21 +01:00
Roland Winklmeier
9515109719 Initially fill hotkey settings component from settings
When the component was constructed, the table view with configured
hotkeys was empty even if hotkeys were configured.
This commit reloads the configured settings during component construction
and populates the table.
2016-08-26 21:05:20 +01:00
Roland Winklmeier
c6bfd3b01d [Mac OS/X] Enable event taps in case it got disabled by timeout 2016-08-26 21:05:19 +01:00
Roland Winklmeier
8210423c44 Set selection background color stylesheet to blue
refs #683
2016-08-26 21:05:17 +01:00
Roland Winklmeier
b78b40bbc0 Make widget style configurable with Fusion as default
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
2016-08-26 21:05:16 +01:00
Roland Winklmeier
10810f5003 Explicitly use QTabBar scroll buttons
Even though QTabBar's property usesScrollButtons is set to true in Qt
Designer, it is not set explicitly in generated C++ code. The default
value is style dependent, which caused the scroll buttons to be visibile
everywhere except Mac OS/X.

refs #683
2016-08-26 21:05:09 +01:00
Klaus Basan
c0a898c6c9 refs #555, allow to filter by file name
* also allow to filter by color
* and military
2016-08-26 21:05:08 +01:00
Roland Winklmeier
4e6c4a076a Delay initial weather injection until simulator is connected
Up to know, the initial weather injection was done in the constructor
of ISimulator implementation. This was to early, since in the best case
the injection was not doing anything and in the worst case, crashed
the application because the plugin wasn't ready yet.
This change also replaces ps_reloadSettings with a specific non-slot
version to avoid code duplication.
2016-08-26 21:05:07 +01:00
Klaus Basan
e3fc72d775 refs #720, fixed: display all models when only selected models are consolidated
* in same step fixed location of error message
* minor renaming
2016-08-26 21:05:06 +01:00
Klaus Basan
4582387684 refs #720, treat auto gen. descriptions as "empty" 2016-08-26 21:05:03 +01:00
Klaus Basan
da343d81c1 refs #720, allow to publish when there are errors, but some models pass validation
* return valid and invalid models
* return value "success" when there are any valid models
2016-08-26 21:05:02 +01:00
Klaus Basan
d10fe5ad18 refs #728, hide load indicator when no vPilot rules are loaded 2016-08-26 21:05:01 +01:00
Klaus Basan
364914cc31 refs #720, file name handling in models
* normalize file name before writing to DB
* use local file paths for local models
* display "C" for color liveries
2016-08-26 21:05:00 +01:00
Klaus Basan
1a4b0c5e76 refs #720, show file name in editor (mapping tool) 2016-08-26 21:04:55 +01:00
Klaus Basan
bb8a0ca3f5 refs #724, context menu
* in stash view data from DB can be removed
* it can be stashed from own model set view too
2016-08-26 21:04:53 +01:00
Klaus Basan
89ac38a072 refs #720, ui context menu finetuning
* renaming / formatting
* const predefined subdir menus
2016-08-26 21:04:52 +01:00
Klaus Basan
017c593b67 refs #723, reset order when adding models to own model set 2016-08-26 21:04:51 +01:00
Mathew Sutcliffe
f85db3cffb refs #730 Updated tests. 2016-08-26 21:04:50 +01:00
Mathew Sutcliffe
661254371c refs #730 Avoid duplicate "empty cache value" debug messages. 2016-08-26 21:04:49 +01:00
Mathew Sutcliffe
67b36bbfcf refs #721 Trying the unaltered name first is slower
because in nearly all cases, it just leads to comparing the names twice.
2016-08-26 21:04:48 +01:00
Mathew Sutcliffe
15cf07c1c5 refs #721 For performance, avoid regular expressions where a simple algorithm would suffice. 2016-08-26 21:04:47 +01:00
Mathew Sutcliffe
ffa24411d2 Narrow the explicit iterator category of our iterator adaptors to reflect their implicit category. 2016-08-26 21:04:45 +01:00
Mathew Sutcliffe
4071fcb6d3 Fixed mistake. 2016-08-26 21:04:44 +01:00
Mathew Sutcliffe
a30eb18a9c On Windows, warn if a thread was terminated with its QThread still in running state.
I hope this catches if the data cache serializer is killed in the middle of a save.
2016-08-26 21:04:43 +01:00
Mathew Sutcliffe
f8fc82019d Invert logic of CAtomicFile destructor:
abandon changes if destruction is due to an exception,
instead of applying changes if destruction is NOT due to an exception.
Because otherwise QFile destructor will apply changes regardless,
by calling the close method via virtual dispatch.
2016-08-26 21:04:42 +01:00
Mathew Sutcliffe
3c82bb3a9c Data cache shall emit an error message if it fails to save the revision file. 2016-08-26 21:04:40 +01:00