FlightGear Qt launcher: Difference between revisions

Jump to navigation Jump to search
m
start de-quoting ...
m (start de-quoting ...)
Line 4: Line 4:
{{Note|Could someone on Mac OSX please upload a screen shot ?}}
{{Note|Could someone on Mac OSX please upload a screen shot ?}}
== Announcement ==
== Announcement ==
{{FGCquote
James Turner is currently prototyping (at the suggestion / encouragement of Curt, Torsten D & others) a GUI integration for FlightGear based on Qt 5. This would overlap some areas other folks are working on, so we felt it best to make an announcement to avoid anyone expending their time on areas that might be affected<ref>http://sourceforge.net/p/flightgear/mailman/message/33245028/</ref>.
  | I’m prototyping (at the suggestion / encouragement of Curt, Torsten D & others) a GUI integration for FlightGear based on Qt 5. This would overlap some areas other folks are working on, so we felt it best to make an announcement to avoid anyone expending their time on areas that might be affected.<br/>


  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33245028/
This will be an in-app launcher for Mac initially, based on Qt5. Primarily, because the old Mac launcher doesn’t work on Yosemite, so we are adding a tiny Qt-based launcher inside the main process (no need to fork / exec) which runs before the OSG window is created, this will be merged for 3.4, hopefully with no impact on other platforms.<ref>https://gitorious.org/fg/flightgear/commit/78e8f533124ad38c414d10470abcd2149b6d01e8#src/Main/main.cxx</ref>
    |title=<nowiki>[Flightgear-devel] Gui technologies</nowiki>
    |author=<nowiki>James Turner</nowiki>
    |date=<nowiki>2015-01-20</nowiki>
  }}
}}


In-app launcher for Mac, based on Qt5. The old Mac launcher doesn’t work on Yosemite, add a tiny Qt-based launcher inside the main process (no need to fork / exec) which runs before the OSG window is created. Will be merged for 3.4, hopefully with no impact on other platforms.[https://gitorious.org/fg/flightgear/commit/78e8f533124ad38c414d10470abcd2149b6d01e8#src/Main/main.cxx]
All of this would be a QtQuick 2 GUI, not a Qt widgets GUI. If you don’t know what that terminology means, don’t worry about it, the quick answer is it works the same ways as Canvas does at present (rendering to OpenGL).


{{FGCquote
For now, the goal is to make an *optional* Qt dependency to replace PLIB PUI. Except of course PUI will have to remain for some awkward use cases in the short term (aircraft dialogs, potentially). When compiled without Qt support, you’ll get a fully functional FG (i.e, Qt will never be a requirement to build FG), but without the GUI functions - which is indeed what some people want anyway, e.g. some home cockpit setups.
  |the goal is to make an *optional* Qt dependency to replace PLIB PUI. Except of course PUI will have to remain for some awkward use cases in the short term (aircraft dialogs, potentially). When compiled without Qt support, you’ll get a fully functional FG (i.e, Qt will never be a requirement to build FG), but without the GUI functions - which is indeed what some people want anyway, e.g. some home cockpit setups.<br/>
<br/>
Some code I’ve written in the past year will be obsolete, e.g. the native message box and menubar code, but I can live with that. I don’t expect many issues integrating Canvas layers with a Qt GUI, so there is no wasted development effort there.
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33245028/
    |title=<nowiki>[Flightgear-devel] Gui technologies</nowiki>
    |author=<nowiki>James Turner</nowiki>
    |date=<nowiki>2015-01-20</nowiki>
  }}
}}
{{FGCquote
  |(There is the possibility to make a Canvas backend based upon QPainter, which might be a great way to use spare CPU cycles to unload the GPU, however, as Canvas rendering becomes more intensive)<br/>
<br/>
All of this would be a QtQuick 2 GUI, not a Qt widgets GUI. If you don’t know what that terminology means, don’t worry about it, the quick answer is it works the same ways as Canvas does at present (rendering to OpenGL).<br/>
<br/>
Expect to see a test branch in Git in the next month or so, and hopefully something usable for 3.6. Note that even in this (slightly optimistic) case, there will be some limitations, e.g. multi-window setup will not work in Qt builds without further work. The PLIB code will remain so hopefully it can be a gradual transition.
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33245028/
    |title=<nowiki>[Flightgear-devel] Gui technologies</nowiki>
    |author=<nowiki>James Turner</nowiki>
    |date=<nowiki>2015-01-20</nowiki>
  }}
}}


{{FGCquote
Expect to see a test branch in Git in the next month or so, and hopefully something usable for 3.6. Note that even in this (slightly optimistic) case, there will be some limitations, e.g. multi-window setup will not work in Qt builds without further work. The PLIB code will remain so hopefully it can be a gradual transition<ref>http://sourceforge.net/p/flightgear/mailman/message/33245028/</ref>.
  |For all other aircraft, the intention for both these nightly builds and official releases is to use the aircraft catalog + package system, which is based around HTTP rather than an SCM system. I’m working at the moment on integrating the client parts into the launcher GUI.
 
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33586444/
Some code James has written in the 2014 will be obsolete, e.g. the native message box and menubar code. James isn't expecting many issues integrating Canvas layers with a Qt GUI, so there is no wasted development effort there (There is the possibility to make a Canvas backend based upon QPainter, which might be a great way to use spare CPU cycles to unload the GPU, however, as Canvas rendering becomes more intensive)<ref>http://sourceforge.net/p/flightgear/mailman/message/33245028/</ref>.
    |title=<nowiki>Re: [Flightgear-devel] FGDATA and Jenkins</nowiki>
    |author=<nowiki>James Turner</nowiki>
    |date=<nowiki>2015-03-11</nowiki>
  }}
}}


== Background ==
== Background ==

Navigation menu