1
0
Fork 0
Commit graph

1112 commits

Author SHA1 Message Date
James Turner
3ffed7d867 Style singleton for the QML UI 2017-12-05 21:30:09 +00:00
James Turner
31c781257b Remove obsolete UI files 2017-12-04 22:34:39 +00:00
James Turner
d34edaa569 Pure QtQuick aircraft-UI
Moves previews, searching, rating handling and extended aircraft
information entirely into QQ. Many cosmetic tweaks and improvements
still to come.
2017-12-04 22:34:39 +00:00
James Turner
041b9527d3 Seperate aircraft cache from the model.
Allows exposing aircraft data to QML (via a helper object) outside the
context of the model.
2017-12-04 21:48:20 +00:00
Gijs de Rooy
8ca9dd89c9 QtLauncher: fix aircraft ratings
Index of rating indicators starts at 0 while ratings that correspond to a point/star/dot start at 1
2017-11-22 16:35:21 +01:00
Florent Rougon
0537d569d5 Remove method FGAirport::isAirportType()
FGAirport::isAirportType() was redundant with
FGPositioned::isAirportType(). Remove the former and change existing
calls to use the latter.
2017-11-16 20:28:00 +01:00
James Turner
8fc04fdfb3 Fix Windows build for launcher changes 2017-11-15 22:04:03 +00:00
James Turner
2d663f2509 Fix crash with adding catalogs in the launcher
Change how we get notified about catalog changes, so we can remove
our hook and hence not leave a dangling pointer.

Fixes https://sourceforge.net/p/flightgear/codetickets/1994/
2017-11-15 21:46:57 +00:00
James Turner
72ca36535a Fix the PUI map ruler feature, use right-click
The OSG Ctrl to right-click mapping was breaking this on Mac, but
changing that will break other things, so move the ruler feature from
‘ctrl left click’ to a simple ‘right click’ which ends up being the
same on Mac anyway.
2017-11-15 17:02:25 +00:00
James Turner
78bacefb60 Advanced weather support in the launcher 2017-11-14 17:54:22 +00:00
James Turner
daedf1e546 PUI dialog correct positioning on HiDPI displays
Apply the device-pixel-ratio when calculating the initial position of
PUI dialogs, so they appear correctly (eg, centered) when running with
device-pixel-ratio != 1.0
2017-11-14 17:30:31 +00:00
James Turner
b870b3f022 Fix wrong launcher aircraft name on startup
The mapping from aircraft URI to name was wrong for local (non-package)
aircraft, as spotted by Thorsten Renk. Note other data (thumbnail) is
still incorrect, but another change I have pending will replace this 
code anyway so only doing the simple fix for now.
2017-11-14 17:30:31 +00:00
James Turner
e090427591 Better fix for CanvasWidget transparency
Use osg GLExtensions to retrieve glBlendFuncSeperate on Win32
2017-10-22 19:25:46 +01:00
James Turner
c1df6e9d15 Hack to fix Windows build.
glBlendFuncSeperate will need some ugly trick to use in CanvasWidget, I better find another way.
2017-10-20 17:25:06 +01:00
James Turner
804dc4e74a Steps to make PUI optional, HiDPI tolerant.
Move all PUI event and rendering into a custom camera, which can be
rendered via an FBO to account for display-resolution scaling (HiDPI).

Start wrapping PUI calls in #ifdefs so PUI can be disabled at compile
time; a run-time switch is trivial now but not implemented yet.
2017-10-20 12:10:51 +01:00
Richard Harrison
9d590feaf3 Add support for fonts from the property tree for PUI dialog.
This permits, for example the following

		<font>
            <property>sim/gui/selected-style/fonts/nasal-editor</property>
		</font>
2017-10-15 21:50:41 +02:00
Richard Harrison
5af55a1409 Copy currently selected gui style tree to sim/gui/selected-style
This makes it considerably easier to reference an item from the currently selected style without having to lookup the selected style index and then use that to select the appropriate element from the styles/ tree
2017-10-15 21:49:40 +02:00
James Turner
2d5f56a05d Fix build with Qt < 5.6 2017-10-09 12:15:40 +01:00
James Turner
2e37fabd80 Fix crash with Qt < 5.9 in thumbnail items.
Qt 5.4, etc will work now
2017-10-09 10:37:50 +01:00
James Turner
e022e4fed5 Command / property bridges for QML / QtQuick 2017-10-05 12:38:27 +01:00
James Turner
2eab935dff Canvas proxy for QtQuick rendering
Has zero testing so far, still a work in progress.
2017-10-05 12:37:43 +01:00
James Turner
45cb6849b2 QtQuick drawable for OpenSceneGraph
Still work in progress, especially different threading modes are not
supported yet, and may crash doing QSG synchronisation.
2017-10-05 12:36:19 +01:00
James Turner
386c13a84d Fix Windows compilation 2017-09-29 09:51:20 +01:00
James Turner
78d735a97b Fix Linux compilation 2017-09-28 15:49:42 +01:00
James Turner
4c4cfb3b44 Clean up CocoaMenuBar code
- remove use of Boost
- remove work-around for macOS < 10.7
2017-09-28 14:02:53 +01:00
James Turner
3b1b43f864 Include default airport in the location history
Only a quick hack, need to show more context to make this really
useful as a feature.
2017-09-26 16:52:48 +01:00
James Turner
c47325183c Simplify Qt version checks by requiring 5.4 2017-09-26 16:52:48 +01:00
James Turner
3a8d3506d6 Replace launcher aircraft list with QtQuick version
Improves various flow / layout / usability issues, since delegates
in ListView can do full event interaction.
2017-09-26 16:52:48 +01:00
James Turner
6db901a67f Add missing tr/qsTr wrappers to the launcher
Ensure all user-facing strings are annotated with translation macros,
so they can be translated soon.
2017-09-22 09:32:47 +01:00
James Turner
c4aa3434ab Fix WS 2.0 paths to live inside a Terrain/ prefix 2017-09-21 17:48:30 +01:00
James Turner
32cc9be007 Enable auto-save migration.
When performing the migration, let the user know it happened, and to
be alert for any issues that might occur.
2017-09-20 17:57:25 +01:00
James Turner
351f6063c9 Permit more screenshots. (More than 1000) 2017-09-19 06:55:22 +01:00
James Turner
b6bfe45759 Change how anti-aliasing is requested by the launcher.
This seems to fix https://sourceforge.net/p/flightgear/codetickets/1971/ 
for me, but I have some reservations about my testing of this, so
pushing this change to get wider feedback.
2017-08-29 14:22:32 +01:00
James Turner
c000f1fb43 Fix back-slashes in quoted args in the launcher
Logic was messed up, back-slashed got ignored due to the
escaping logic.
2017-07-25 10:00:31 +01:00
James Turner
5ba953ad61 Fix custom download-dir in launcher
Updating the value takes immediately, as it did in 2017.1 and prior.
Additionally, passing —download-dir on the command-line is detected
and handled specially; the UI option is disabled, and no changes are
made to the value passed in. (The launcher does not override the value
with any value it has saved)
2017-07-19 19:24:33 +01:00
James Turner
8fdb56a185 Only qInfo was added in 5.5
Other logging operators are present in 5.0, so simplify this code.
2017-07-19 13:21:06 +01:00
Torsten Dreyer
c9eff67409 Hopefully fix "qInfo not defined" 2017-07-07 11:50:06 +02:00
Richard Harrison
2c8aad12ba Model relative property tree root binding.
Change fgcommand to take an optional property tree root element.

This fixes the animation bindings to use the defined property tree root - to support multiplayer (or other) model that can bind to the correct part of the property tree.

Requires a corresponding fix in sg to allow the command methods to take an optional root parameter.

What this means is that when inside someone else's multiplayer model (e.g. backseat, or co-pilot), the multipalyer (AI) model will correctly modify properties inside the correct part of the property tree inside (/ai), rather than modifying the properties inside the same part of the tree as the non-ai model.

This means that a properly setup model will operate within it's own space in the property tree; and permit more generic multiplayer code to be written.

This is probably responsible for some of the pollution of the root property tree with MP aircraft properties.
2017-07-05 11:37:17 +02:00
James Turner
aef9bc4e06 Launcher: more robust preview downloading.
Tolerate download failures, which seem to happen due to Ibiblio rate-
limiting, more gracefully.
2017-06-21 23:50:04 +01:00
James Turner
0c59583b32 Fix intermittent crash on exit with Qt+XCB
We can still crash on exit(-1) code paths since we can’t run this from
atexit, but at least the non-error paths are ok.
2017-06-07 17:52:47 +01:00
James Turner
7951abefe2 Auto-select built-in FGdata when possible.
As spotted by Thorsten, reduce user annoyance by asking about FGData
when the built-in data is acceptable. (Advanced users can use the
launcher or other options to change FGdata as normal).
2017-05-30 10:02:41 +01:00
James Turner
27b34182c7 Launcher: Enable DPI-scaling
(for Windows especially)
2017-05-22 08:53:27 +01:00
James Turner
15c84139fa Fix launcher failure with custom MP server
When the user specified an MP server without providing a port, the
launcher would pass a malformed command line, leading the the simulator
bailing out. 

(Should go to the release branch)
2017-05-22 08:53:27 +01:00
James Turner
18b8b59af6 Validate MP callsign with a reg-exp 2017-05-22 08:53:27 +01:00
James Turner
42508619ee Validation of METAR in the launcher 2017-05-22 08:53:27 +01:00
James Turner
3c8bedb9c3 Make launcher summary version dynamic. 2017-05-16 13:25:51 +01:00
Florent Rougon
4b48aca411 Rename flightgear.desktop to org.flightgear.FlightGear.desktop; improve it
This closes ticket #1961
(<https://sourceforge.net/p/flightgear/codetickets/1961/>). To be sure
the file is found, call app->setDesktopFileName() in
src/GUI/QtLauncher.cxx if the Qt version is 5.7 or later.

See <https://sourceforge.net/p/flightgear/mailman/message/35840997/> and
<https://sourceforge.net/p/flightgear/mailman/message/35841007/> for the
small changes to the desktop file contents.
2017-05-16 13:58:37 +02:00
Florent Rougon
6ef8b5bf94 Qt launcher: more spelling fixes 2017-05-13 17:17:32 +02:00
Alessandro Menti
42495e3251
Qt launcher: spelling fixes 2017-05-13 10:24:17 +02:00
James Turner
00845b17b9 Prevent PUI menubar obscuring startup tips
Add an additional visibility flag to the menubar implementations, 
conditional on whether or not the menubar overlaps the window content.
(I.e for PUI but not Cocoa). This flag is linked to a new property
/sim/menubar/overlap-hide, which the renderer drives off the splash-
screen visibility.
2017-05-11 08:39:48 +01:00
Florent Rougon
4dc2e4fc09 Disable use of the WindowsFileDialog class
On Windows, use:
  - QtFileDialog if FG was built with Qt support;
  - PUIFileDialog otherwise.

Behavior on other platforms is unchanged. This change is motivated by
the fact that some Windows users have reported[1][2] weird,
non-deterministic behavior of WindowsFileDialog and unfortunately, no
one seems to be willing and able to fix the problem. The Qt
implementation comes for free and should be quite robust. Of course, if
someone wants to maintain the WindowsFileDialog class again, the change
can be reverted.

See discussion at [3].

[1] https://forum.flightgear.org/viewtopic.php?f=25&t=31945
[2] https://sourceforge.net/p/flightgear/mailman/message/35761650/
[3] https://sourceforge.net/p/flightgear/mailman/message/35759819/
2017-05-11 00:12:20 +02:00
Alessandro Menti
c00f98b0d1
QT Launcher spelling/style fixes
Fix a couple of spelling mistakes, as well as some terms which are
styled differently in the main FG interface.
2017-05-08 21:29:42 +02:00
James Turner
cbdbe2882b Fix disabled appearance of toolbox buttons.
Ensures ‘fly’ button appears disabled as appropriate in the 
launcher.
2017-04-19 13:31:45 +01:00
James Turner
a05860608b Fix erroneous button highlighting. 2017-04-19 13:12:48 +01:00
James Turner
b006ef5c78 Launcher: fix navaid map default scaling. 2017-04-15 14:18:02 +01:00
James Turner
f2d5f18da6 Title label for location airport/nav pages. 2017-04-15 14:18:02 +01:00
James Turner
5fa9242d7a Launcher: fix handling of prop custom args.
The parser wasn’t special case these, and they have to be handled
differently to work now.
2017-04-15 08:39:18 +01:00
James Turner
ec9989c244 FIx build issue with previous commit. 2017-04-14 22:16:22 +01:00
James Turner
95a6d31e18 Launcher: update all aircraft UI.
Replaces more complex previous attempt, which was also not hooked
up properly, ooops.
2017-04-14 18:31:23 +01:00
James Turner
c19fc6bc06 Launcher: add ‘show console’ setting on Windows
This entailed fixing the handling of the visibility property with an
override from the QWidget basic version.
2017-04-14 17:36:28 +01:00
James Turner
ac38f29ae3 Launcher: exit/quit item on non-Mac
(Mac gets one automatically)
2017-04-13 13:01:29 +01:00
James Turner
5f8f2886dc Launcher: fix bugs around paths setting.
We now show paths in ‘view command line’ and set them through the
standard mechanism. Re-ordering the paths also notifies the rest of
the system correctly.
2017-04-13 12:55:51 +01:00
James Turner
dd0b9adbfc Comsetic launcher tweaks. 2017-04-13 09:19:19 +01:00
James Turner
8dbd3f8bd5 Fix QRC URL creation for older Qt versions 2017-04-11 08:06:45 +01:00
James Turner
fac0341e04 Kill use of private header. 2017-04-10 22:18:19 +01:00
James Turner
68ef30d3af Linux / Qt 5.2 fixes 2017-04-10 14:39:27 +01:00
James Turner
d1e9d357b9 Trying to reduce int types warnings. 2017-04-10 14:38:57 +01:00
James Turner
427f662dca Settings searching support.
Also tightened up the layouts.
2017-04-10 14:38:57 +01:00
James Turner
3732930269 QML-driven settings UI. 2017-04-10 14:38:57 +01:00
James Turner
5c713a6b55 Split the launcher main window into its own file.
Reduces QtLauncher.cxx down to the public API and the static helper
methods; the main window lives in its own file.
2017-04-10 14:38:57 +01:00
James Turner
4234876789 Move some Launcher helpers into their own files.
Suggested be Sebastian, and it’s a good idea indeed, the main
launcher file has grown slightly.
2017-04-10 14:38:57 +01:00
James Turner
bf1ffb8875 Proof-of-concept for new settings UI. 2017-04-10 14:38:57 +01:00
Florent Rougon
4b494a69bd Rename fatalMessageBox() to fatalMessageBoxWithoutExit(), add exiting variant
- Rename fatalMessageBox() to fatalMessageBoxWithoutExit(). This should
  prevent the kind of bug that prompted this set of changes: someone
  calling fatalMessageBox(), assuming the program would stop at that
  point, whereas in reality it did not.

- Add new function fatalMessageBoxThenExit(). This is not vital of
  course, but allows one to spare one line here and there and to apply
  the DRY principle for such fatal exits.

- Replace every existing call to fatalMessageBox() with one or the other
  of the two new functions. Improve formatting along the way. This
  fixes a few bugs of the kind explained above.
2017-04-10 02:29:48 +02:00
Florent Rougon
680f940378 Revert commit "Make fatalMessageBox() end with std::abort() [...]"
This reverts commit 9e6a3ebc6b ("Make
fatalMessageBox() end with std::abort() and declare it [[noreturn]]").

After reflexion, it seems better to let fatalMessageBox() return,
because there is existing code that appears to be relying on this aspect
to do some work after having called fatalMessageBox() (cf. main() in
bootstrap.cxx). Also, the way of exiting from fatalMessageBox() after
commit 9e6a3ebc6b (std::abort()) was probably too brutal for a
controlled exit---as opposed to a terminate handler.
2017-04-10 02:29:48 +02:00
James Turner
09dd24c139 Fix build with Qt 5.2 2017-04-09 23:55:47 +01:00
Florent Rougon
9e6a3ebc6b Make fatalMessageBox() end with std::abort() and declare it [[noreturn]]
Many places calling fatalMessageBox() assume it doesn't return, so make
it behave this way. See discussion around:

  https://sourceforge.net/p/flightgear/mailman/message/35766691/

for some context.
2017-04-08 14:34:26 +02:00
James Turner
962ede1c43 Fix how launcher resets heading-deg.
This ensures finalisePosition logic runs as expected, ensuring
real-world METAR usage kicks in.
2017-03-19 11:55:10 +00:00
James Turner
6880761f7b Launcher diagram: faster boundary computation.
No need to completely rebuild in these cases.
2017-03-16 22:42:58 +00:00
James Turner
a1bc99ec84 Fix slow launcher diagram with bad airport data. 2017-03-16 22:41:59 +00:00
Florent Rougon
f4788cddb4 Qt launcher: accept scenery paths containing either of: Buildings, Roads, Pylons
When adding a scenery path in the built-in launcher, accept folders
containing any of the new directories populated by osm2city. Also try to
improve the message that is displayed when the sanity check conditions
for the added scenery path aren't met (cf. discussion around
<https://sourceforge.net/p/flightgear/mailman/message/35716946/>).
2017-03-15 00:42:36 +01:00
Szymon Acedański
14611e905e GUI: do not complain if only NavData is present in scenery folder 2017-03-09 00:10:26 +01:00
James Turner
8d68741ee9 On-disk support for multiple primary aircraft.
Also add support for customised / per-variant thumbnails in on-disk
aircraft; equivalent support for catalog aircraft still to be done.
2017-03-05 22:02:25 +02:00
James Turner
39b239957e Startup-tip system.
Replace the license / website text with a startup tip. Tips are shown
based on the day of the year, can be changed easily.
2017-03-03 23:21:18 +02:00
James Turner
bd17a64487 Fix a typo in launcher console handling. 2017-02-27 23:31:08 +00:00
James Turner
314844e3c8 Make —console work in the launcher.
As discussed on the ML, due to how this options is processed, the
launcher setting it doesn’t make it take effect, so deal with it
manually.
2017-02-27 00:06:41 +00:00
Bertrand Coconnier
6e9d4e8ae4 Linux/Unix are case sensitive. 2017-02-26 01:39:33 +01:00
James Turner
17fe0460a9 Previews displayed in the launcher. 2017-02-25 21:47:58 +00:00
James Turner
006ca7186b Fix updating of add-on aircraft in the launcher.
Kick off a re-scan when adding or removing paths.
2017-02-22 17:09:24 +00:00
James Turner
72988a6bb7 Add the default hangar automatically on first-run.
Slightly ungainly but ensures we start with the default hangar
available. It can still be removed and re-added as normal.
2017-02-22 17:09:23 +00:00
James Turner
a83947edbf Basic validation of added scenery paths.
Try to catch uses adding parent directories and hence missing
scenery.
2017-02-10 23:04:00 +00:00
James Turner
0f3659818b QtInfoMsg requires Qt 5.5 2017-02-01 17:36:48 +01:00
James Turner
8f7c0d6801 Scenery extraction: set progress text
Fixes bug:https://sourceforge.net/p/flightgear/codetickets/1938/
2017-01-31 17:11:44 +01:00
James Turner
658074f78e Map Qt log to the Simgear log. 2017-01-30 08:01:20 +01:00
James Turner
70e79a849e Tweak launcher to be a MainWindow
For unknown reasons this seems to alleviate the word-wrap / min-height
bug on Windows. Committing so we can test and verify this is really
the case before the next release.
2017-01-26 00:38:19 +00:00
James Turner
fb1a29200a Merge /u/setvisible/flightgear/ branch next into next
https://sourceforge.net/p/flightgear/flightgear/merge-requests/72/
2017-01-25 23:36:52 +00:00
James Turner
a0f2726a39 Set default airport/aircraft in the launcher.
Parse the defaults file to set the desired default aircraft and
airport when no previous state exists.

Fixes:
https://sourceforge.net/p/flightgear/codetickets/1936/
2017-01-25 20:41:40 +00:00
setvisible
7d02ffecab Changed aircraft list's scrolling policy to *ScroolPerPixels*, because items have non-regular height. 2017-01-25 18:40:40 +01:00
setvisible
928567650f Added the missing FG icons to the Qt dialogs 2017-01-25 18:18:11 +01:00
setvisible
5ce85c2248 fixed the missing FG icon (QtLauncher's mainwindow) 2017-01-21 19:23:21 +01:00
James Turner
8472a8c38a Launcher smoothly scales thumbnails.
Was accidentally using nearest, not linear, interpolation when
resizing thumbnails. Very pixels. Much ugly.
2017-01-17 22:18:35 +00:00