1
0
Fork 0
Commit graph

1587 commits

Author SHA1 Message Date
James Turner
1b4ae1e46b Launcher: detect command line scenery/acft paths 2021-04-28 11:25:49 +01:00
James Turner
28f562d0ec Sentry: correct breadcrumbs for menu item activates. 2021-04-08 07:16:13 +01:00
James Turner
0a1f6d406c Launcher: missed import/style fixes 2021-04-06 09:13:50 +01:00
James Turner
4b9f903f8f Launcher: fix include of FlightGear module files 2021-04-04 16:53:45 +01:00
James Turner
019d6cc53a Launcher: tweak how Qt Fatal log messages are handled 2021-04-04 16:34:46 +01:00
James Turner
ff65689eb6 Launcher: fix some missing hard-coded styles 2021-04-02 14:57:01 +01:00
James Turner
5dae2d129e Launcher: fix compatability with older Qt
QQmlEngine::singletonInstance is >= 5.12. Work-around using a little
component+instance to achieve the same result.
2021-04-02 10:13:56 +01:00
James Turner
df0f3e1b47 Launcher: fix QML warnings closing notifications 2021-04-01 17:36:34 +01:00
James Turner
5738d8cca9 Launcher: remove obsolete PNG assets
Also switch to using the colored provider for the C++-derived icons,
especially the carrier.
2021-04-01 17:14:59 +01:00
James Turner
209898cb89 Coloring support for SVG icons 2021-04-01 15:53:20 +01:00
James Turner
cec9ab5039 Launcher: convert most icons to masked.
Still need to add SVG support, but this improves feedback (eg hover)
for many icons in the launcher. Will remove the redundant PNGs in
another commit once other pieces are done.
2021-04-01 12:14:22 +01:00
James Turner
3276c9a754 Map widget: tweaks to property creation
Allow these values to be auto-saved without getting over-written.
2021-03-26 10:44:27 +00:00
James Turner
c1f54779ac Packages: allow localised URIs
Requested by Michael D, allow localisation of home/help/wiki URLs
for aircraft.
2021-03-23 17:50:54 +00:00
James Turner
1dd6ab3cfb Launcher: tip for drag/zoom of diagrams 2021-03-17 12:58:24 +00:00
James Turner
b76b6548a1 Launcher: detect user-entered aircraft args
Avoid double-setting or conflicting aircraft arguments being passed:
when the user enters an aircraft related argument manually, disable
the launcher setting them.
2021-03-17 12:42:54 +00:00
James Turner
85da09d5d5 Launcher: improve feedback entering invalid hangar URL.
Catch XML validation/parse errors, and mention the possibility that
the URL is not correct, in the feedback message.
2021-03-17 12:11:30 +00:00
James Turner
c5c7532179 Launcher: make help docs link point to online location 2021-03-11 20:35:46 +00:00
James Turner
9fc45e598f Remove Qt includes from fgfsObjects build
Sink all Qt classes into the specific libraries, so the main objects
don’t need the includes available.
2021-03-09 21:54:47 +00:00
James Turner
33e205f123 Switch to using OBJECT library for main build
Allows sharing object files between the fgfs and test_suite targets, in
a follow-up commit.
2021-03-08 16:59:14 +00:00
James Turner
ee5b49668a Add a notification when catalog refresh fails 2021-03-08 11:01:08 +00:00
James Turner
497a99f8d7 FGHTTP: add getOrCreate helper
Avoids duplicate creation when launcher & remote-tape are used
2021-03-07 13:08:29 +00:00
Scott Giese
cc2336c5fa Maintenance: FGPUIDialog
Inconsistent whitespace.
2021-02-26 21:09:13 -06:00
James Turner
fadc900a0a Revert "NaturalEarthLoader: free the thread, oops"
THis doesn't work in all timing conditions, because the thread
can commit suicide.

This reverts commit aeca129034.
2021-02-25 09:02:58 +00:00
James Turner
2178de9d0d Rework OpenGL check to avoid potential problems
A few versions of the Windows Intel drivers seem to crash while 
performing the OpenGL check; re-order the code to try and prevent
this.

Sentry-Id: FLIGHTGEAR-K7R
2021-02-24 11:41:33 +00:00
Automatic Release Builder
41f9884b70 Launcher: improve automatic language selection
Don’t fail to select the language, when the UI language includes
a ‘script’ value, as happens for Chinese on macOS. 

Thanks to Sidi Liang for reporting.
2021-02-22 10:43:36 +00:00
Automatic Release Builder
8551654cf0 Guard against ancient Intel OpenGL drivers
If we get back Intel < 2.1, bail out with the ‘drivers update needed’
warning.
2021-02-22 10:41:34 +00:00
James Turner
d30f5d63fe Launcher: Getting started tips updates 2021-02-22 10:37:52 +00:00
James Turner
aeca129034 NaturalEarthLoader: free the thread, oops
Used the wrong smart pointer type, use the regular C++ one now.
2021-02-21 19:15:55 +00:00
Scott Giese
2414397073 Maintenance: gui_funcs
Improved type choice.
Suppress compile warning.
2021-02-21 09:10:36 -06:00
James Turner
c2c4e6f126 Fix crash when menu item has no label 2021-02-21 12:13:00 +00:00
Scott Giese
4ce8be87a0 Maintenance: DefaultAircraftLocator
type correctness during comparison
2021-02-20 22:50:56 -06:00
Scott Giese
2c9e2d86db Maintenance: MPServersModel
type correctness
2021-02-20 22:29:55 -06:00
James Turner
caad29e7c8 Add error reporting to common failure points.
Not exhaustive by far, but adds many of the common failure points
witnessed on Sentry.
2021-02-20 20:06:27 +00:00
James Turner
a0ff4adbc6 Tweaks to sentry integration
Report menu item activation, and define a RAII helper for setting
the XML error reporting state.
2021-02-20 20:05:51 +00:00
James Turner
130cd2ae41 Fix crash spotted on Sentry 2021-02-11 09:26:38 +00:00
James Turner
ab95c8149a Change code to use copyProperties 2021-02-10 13:42:50 +00:00
James Turner
0cc465d39f Tweak Natural-earth loading to reduce DB contention
Reduce ‘SQLITE BUSY’ issues with multiple running copies of FG
2021-02-05 11:14:34 +00:00
James Turner
7f5f7e0b11 Sentry: add reporting for common path errors
Adding bread-crumbs preceding common failures seen on Sentry, around
addon and aircraft loading.
2021-02-04 11:49:25 +00:00
James Turner
b86baa68c0 Launcher: quit if OpenGL 2.1 isn’t available
Avoid crashing if no OpenGL drivers are available, instead show a
warning message to alert the user.

Sentry-Id: FLIGHTGEAR-76
2021-02-04 11:49:25 +00:00
James Turner
9e07b57c45 Launcher: additional bread-crumbs around catalogs 2021-02-04 11:49:25 +00:00
James Turner
203a9fe918 Launcher: fix a QML bug setting animation easing 2021-02-04 11:49:25 +00:00
James Turner
f45f41d4ec Guard against crash reported by Sentry
Avoid inserting null FGPositioned entries into the recent items
list, since this causes a crash in the model code

Sentry-Id: FLIGHTGEAR-1BM
2021-02-04 11:49:25 +00:00
Automatic Release Builder
6b6defbead Add getting-started tips to the launcher
QML implementation of getting started tips, with a nice styled
background box. Tips are defined+positioned inline, and displayed
when their enclosing scope is active.
2021-02-04 11:49:25 +00:00
James Turner
89de1defa0 Launcher: fix crash on slow update check
Cancel the update check HTTP request when the launcher ends, so we
don’t crash if the response arrives.

Sentry-Id: FLIGHTGEAR-DYT
2021-02-04 10:39:34 +00:00
James Turner
3fd54b2477 macOS: detect and warn if running translocated
Translocation forces us to rebuild the nav-cache each launch, and might
mess up some other details, so let’s warn the user they should copy
the app to Applications or similar.
2021-02-04 10:34:59 +00:00
Automatic Release Builder
31bb36b347 Increase log-level of language messages
This is to help in-field debug of incorrect language selection, eg
as reported by Sidi Liang
2021-02-04 10:31:08 +00:00
Automatic Release Builder
f1ab977ceb Avoid double-invoke of Launcher Fly! button
If the user double-clicks, and their system is slow, the action can
fire twice, which then breaks because we add options twice.

Sentry-Id: FLIGHTGEAR-HKV
2021-02-04 10:30:59 +00:00
James Turner
8ec91b3220 Launcher: remove obsolete winter/ALS settings 2021-01-23 14:40:00 +00:00
Slawek Mikula
354d7d02d2 #2177 - launcher - added flightplan info to summary window:
- Summary.qml - new row with Flight Plan info
- LauncherController.hxx, Launcher.qml - signals to show flightPlan & 
  exposing flight plan object
- FlightPlan.qml - add red color to information about airport mismatch
- FlightPlanController.cxx, FlightPlanController.hxx - description
  handling, support to loading flight-plan from command line argument 
  'flight-plan', saving last used dir when loading/saving flightplans
2021-01-18 12:38:58 +00:00
James Turner
c478a80c5c Launcher: don’t set empty METAR
When an invalid custom METAR is entered, don’t pass it to FlightGear
2020-12-30 17:01:29 +00:00
Automatic Release Builder
769dcb1454 Launcher: FlightPlann: fix ‘view route’ enable 2020-12-22 10:34:58 +00:00
Automatic Release Builder
a85a02069f Launcher: allow different texts for Fly! button
Requested by Michael Danilov for Russian translation
2020-12-22 10:34:58 +00:00
James Turner
7aa160c4e3 Write max-texture-units to properties 2020-12-07 17:11:17 +00:00
Automatic Release Builder
8f9f0cbb19 Change default Windows download-dir to
$HOME/FlightGear/Downloads

Add a launcher warning about this, to request users to relocate existing
files, they already downloaded.
2020-12-02 17:36:12 +00:00
Nathaniel Warner
88a8cada51 Rebase photoscenery patch on next 2020-11-23 17:53:35 -06:00
Julian Smith
f62e5b9ce3 CompositeViewer: Support for multiple view windows using osgViewer::CompositeViewer.
Overview:

    Previously Flightgear always used a single osgViewer::Viewer(), which
    inherits from both osgViewer::ViewerBase and osgViewer::View, giving a
    single view window.

    If CompositeViewer is enabled, we instead use a osgViewer::CompositeViewer
    which contains a list of osgViewer::View's. Each of these View's can have
    its own eye position, so we can have multiple different views of the same
    scene.

    Enable at runtime with: --composite-viewer=1

Changes to allow use of osgViewer::CompositeViewer:

    Previously FGRenderer had this method:

        osgViewer::Viewer* getViewer();

    This has been replaced by these two new methods:

        osgViewer::ViewerBase* getViewerBase();
        osgViewer::View* getView();

    If CompositeViewer is not enabled (the default), the actual runtime state
    is unchanged, and getViewerBase() and getView() both return a pointer to
    the singleton osgViewer::Viewer() object.

    If CompositeViewer is enabled, getViewerBase() returns a pointer to a
    singleton osgViewer::CompositeViewer object, and getView() returns a
    pointer to the first osgViewer::View in the osgViewer::CompositeViewer's
    list.

    The other significant change to FGRenderer() is the new method:

        osg::FrameStamp* getFrameStamp()

    If CompositeViewer is not enabled, this simply returns
    getView()->getFrameStamp(). If CompositeViewer is enabled it returns
    getViewerBase()->getFrameStamp(). It is important that code that previously
    called getView()->getFrameStamp() is changed to use the new method, because
    when CompositeViewer is enabled individual osgViewer::View's appear to
    return an osg::FrameStamp with zero frame number).

    All code that uses FGRenderer has been patched up to use the new methods so
    that things work as before regardless of whether CompositeViewer is enabled
    or not.

    We make FGRenderer::update() call SviewUpdate() which updates any extra
    views.

Extra view windows:

    If CompositeViewer is enabled, one can create top-level extra view windows
    by calling SviewCreate(). See src/Viewer/sview.hxx for details.

    Each extra view window has its own simgear::compositor::Compositor
    instance.

    Currently SviewCreate() can create extra view windows that clone the
    current view, or view from one point to another (e.g. from one multiplayer
    aircraft to the user's aircradt) or keep two aircraft in view, one at a
    fixed distance in the foreground.

    SviewCreate() can be called from nasal via new nasal commands "view-clone",
    "view-last-pair", "view-last-pair-double" and "view-push". Associated
    changes to fgdata gives access to these via the View menu. The "view-push"
    command tags the current view for later use by "view-last-pair" and
    "view-last-pair-double".

    Extra view windows created by SviewCreate() use a new view system called
    Sview, which allows views to be constructed at runtime instead of being
    hard-coded in *-set.xml files. This is work in progress and views aren't
    all fully implemented. For example Pilot view gets things slightly wrong
    with large roll values, Tower View AGL is not implemented, and we don't
    implement damping. See top of src/Viewer/sview.cxx for an overview.

OpenSceneGraph-3.4 issues:

    OSG-3.4's event handling seems to be incorrect with CompositeViewer -
    events get sent for the wrong window which causes issues with resize and
    closing. It doesn't seem to be possible to work around this, so closing
    extra view windows can end up closing the main window for example.

    OSG-3.6 seems to fix the problems.

    We warn if CompositeViewer is enabled and OpenSceneGraph is 3.4.
2020-11-21 13:27:02 +00:00
Automatic Release Builder
3dd4971056 Launcher: skip missing add-ons in collectArgs
Avoid passing missing add-ons to FlightGear. Since we only write a
cleaned list back to QSettings upon some user change, we can persist
bad paths.

Sentry-Id: FLIGHTGEAR-NG
2020-11-18 09:52:56 +00:00
Fernando García Liñán
b0a64e119a Restore Launcher renderer settings to pre-Compositor state 2020-11-16 18:37:05 +01:00
Fernando García Liñán
255d193bc8 Make Compositor default
- Removed the ENABLE_COMPOSITOR CMake flag.
- Removed /sim/version/compositor-support.
- Removed miscellaneous branching to check if the Compositor is enabled.
- Removed custom resource loader since Compositor Effects are now located in $FG_ROOT/Effects.
- Removed splash screen warning.
- Only use the Compositor versions of CameraGroup and FGRenderer.
- Fix redout/blackout not appearing under certain circumstances.
2020-11-16 13:25:29 +01:00
Automatic Release Builder
5b08a780f6 Sentry: add some extra bread-crumbs 2020-11-12 09:35:37 +00:00
Automatic Release Builder
21e6c06a0c Fix a glitch in adding the default catalog 2020-11-12 09:35:32 +00:00
Automatic Release Builder
74e27eec16 SetupRootDialog: fix download URI 2020-11-12 09:35:03 +00:00
Automatic Release Builder
81150ff6a1 Sentry: don't report more XML errors
Don't report XML errors when parsing Nasal-loaded content,
or n the launcher when scanning aircraft information.
2020-11-12 09:34:18 +00:00
James Turner
c63594acec Launcher: abandon NautralEarth loading on ‘fly!’
Otherwise we waste time trying to commit loaded data during FG main
startup, which causes races on the NavCache, and is pointless.
2020-11-12 09:33:07 +00:00
James Turner
3c1594ead4 Launcher add-ons: drop missing paths on load
Don’t probe for, or pass, missing paths to FlightGear. Since we don’t
show such paths in the UI, they hang around forever, causing exceptions

Sentry-Id: FLIGHTGEAR-NG
2020-11-12 09:32:58 +00:00
James Turner
e62c64859c Launcher FirstRun: add ‘scroll to bottom’ hint 2020-11-12 09:31:44 +00:00
James Turner
d29f25c391 Launcher: missed translations MichaelD spotted 2020-11-12 09:30:23 +00:00
James Turner
ca103e7fce UI NumericalEdit: tweak marings 2020-11-12 09:30:12 +00:00
James Turner
134e06af68 Avoid NavCache races on multiple copies rebuilding
If impatient users start multiple copies of FlightGear when a cache
rebuild is required, we can get into a mess. Use an additional
named mutex on Windows to avoid this situation, and block the secondary
copies until the primary instance has completed its cache rebuild.

Sentry-Id: FLIGHTGEAR-8D
Sentry-Id: FLIGHTGEAR-FY
2020-11-10 23:25:04 +00:00
Julian Smith
cf55c5f4f5 src/GUI/new_gui.cxx: disable rescan of style files because causes problems. 2020-11-02 10:53:38 +00:00
Julian Smith
68938ddb4b src/GUI/QtLauncher.cxx: fix call to sglog() to pass __FUNCTION__. 2020-11-01 00:03:03 +00:00
Julian Smith
4ec80297bf src/Viewer/FGEventHandler.cxx: NewGUI::setStyle(): added code to rescan style files.
Changing style will reload style from filesystem, so one can edit styles and
see results without restarting fg.

Note that this duplicates initial populating of /gui/styles/ from
defaults.xml's <sim><gui>...</gui></sim> section, so it's a bit of a hack.
2020-11-01 00:02:43 +00:00
Julian Smith
43468727ad Added command 'dialog-toggle' - toggles display of dialogue.
E.g. useful for keyboard shortcuts.
2020-10-31 17:23:28 +00:00
Julian Smith
f04f902b66 src/GUI/MessageBox.cxx:modalMessageBox(): If no gui, use SG_POPUP to ensure message is printed to terminal. 2020-10-31 17:23:28 +00:00
Automatic Release Builder
6d2f1d33d8 Launcher: fix L10N issues found by Michael D
Address parts of the issues mentioned in:
https://sourceforge.net/p/flightgear/codetickets/2386/
2020-10-29 21:21:40 +00:00
James Turner
29d171e73a Launcher: port the QQC2 check to next
Since we require QQC2 on next, make it a critical warning.
2020-10-29 21:21:00 +00:00
James Turner
4075ea02e9 Launcher: Fix scrollbar for next 2020-10-29 21:12:36 +00:00
James Turner
3af8d11e1b Fix for renamed file 2020-10-29 16:26:36 +00:00
Automatic Release Builder
f8aea84541 Launcher: nicer back button.
Avoid localisation issues for the back button, by switching to an 
icon.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
9855e89109 Launcher: Validate restored aircraft state on load
Otherwise a stray state can enter the logic, unless the user
re-selects it.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
f0e2a297ae Launcher: Fix excessively large mouse area
The notifications catch are was blocking the summary pane; fix the
size to follow the active notifications.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
9f3f1a8f58 Launcher: Fix translation tag Michael D spotted. 2020-10-29 16:24:41 +00:00
Automatic Release Builder
f78d644a61 Launcher: fix feedback adding default catalog
When adding the default catalog from the aircraft browse tab, 
the list on the add-ons page didn’t refresh correctly.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
8c371cf3bb Launcher: Separate recent-foo data by version
Since our data encoding is incompatible between 2018 and 2020, use
different settings keys so running both versions in parallel is easier.
Without this, each version screws up the data for the other.
2020-10-29 16:24:41 +00:00
Automatic Release Builder
9776c56faa Fix a crash (race condition) closing the launcher
When local aircraft scanning is slow, we can end up clearing
the locale while a scan is in progress, which crashes. Ensure we
abandon any in-progress scan when closing the launcher.

Sentry-Id: FLIGHTGEAR-CH
2020-10-29 16:24:41 +00:00
Automatic Release Builder
df42c6f026 Launcher: UI feedback for hangar migrations
Add pop-up notification when we migrate to a new version of a hangar.
Convert the ‘new version available’ message to use a pop-up
notification as well.
2020-10-29 16:24:39 +00:00
Stuart Buchanan
c71f281a58 Launcher: First Run capitalization and grammar. 2020-10-29 16:23:26 +00:00
Automatic Release Builder
3e72fb230f Sentry: block XML parse errors from the launcher
Avoid filling up the logs when the launcher parses broken aircraft XML;
wait until the user actually pick one to fly with, before reporting
XML errors.
2020-10-29 16:23:26 +00:00
Automatic Release Builder
b35b8c6147 Splash screens: support more, and JPEGs 2020-10-29 16:23:26 +00:00
Automatic Release Builder
378fc54b61 Launcher: first-run wording tweaks
As discussed on the devel list, also switch to HTTPS.
2020-10-29 16:23:20 +00:00
Automatic Release Builder
9de60e5729 Change error reporting for -set.xml parsing
Avoid exceptions in the ‘not actually a -set.xml’ case, since this
occurs somewhat frequently.

Sentry-Id: FLIGHTGEAR-3W
2020-10-29 16:22:35 +00:00
Automatic Release Builder
e0df583c14 Launcher: fix appearance of disabled add-ons.
Spotted by Michael Danilov
2020-10-29 16:22:35 +00:00
Automatic Release Builder
4ac8523bed SetupRootDialog: avoid calling exit()
This causes QApplication to become unhappy and crash, so use a
graceful exit via a new return code and FG_OPTIONS_EXIT instead.

Sentry-Id: FLIGHTGEAR-6B
2020-10-29 16:22:35 +00:00
Automatic Release Builder
582d539a1a Launcher: overhaul local -set.xml parsing
Fix the include context when -set.xml are parsed by the launcher to
extract states and other data. Ensure aircraft paths are available
and handled consistently with normal -set.xml parsing. Without this,
many -set.xmls fail to parse.

Sentry-Id: FLIGHTGEAR-4H
Sentry-Id: FLIGHTGEAR-3B
Sentry-Id: FLIGHTGEAR-3R
Sentry-Id: FLIGHTGEAR-3Q
Sentry-Id: FLIGHTGEAR-3F
Sentry-Id: FLIGHTGEAR-2R
Sentry-Id: FLIGHTGEAR-65
Sentry-Id: FLIGHTGEAR-42
2020-10-29 16:22:35 +00:00
Automatic Release Builder
632d5bc836 Launcher: first-run & help updates
Adjust the wording and links for these pages, after a review session
with Stuart and others. Include a link to the manual and short-ref
from the local installation.
2020-10-29 16:22:35 +00:00
Automatic Release Builder
78c659ec87 Launcher: fix some minor glitches in Aircraft list
- updating of 'no results' box
- sizing of the headers when empty
- double-click to select of the search box when focused
2020-10-29 16:22:33 +00:00
Automatic Release Builder
9748b57971 Launcher: add update checker UI 2020-10-29 16:21:47 +00:00
Automatic Release Builder
1ef6578ad4 Fix scrolling of Launcxher FirstRun
Johnathan R pointed out that for wider windows, the button was
invisible, fix this will a scrollbar.
2020-10-29 14:54:04 +00:00
Automatic Release Builder
f8222da1da Launcher: add help page
Collect some standard information directly in the launcher. Text to be
reviewed, this is just a first draft.
2020-10-29 14:53:51 +00:00
Automatic Release Builder
cc2178f349 Launhcer: fix enabling/disabling hangars
Part of:
https://sourceforge.net/p/flightgear/codetickets/2380/
2020-10-29 14:53:01 +00:00