1
0
Fork 0
Commit graph

1527 commits

Author SHA1 Message Date
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