Unverified Commit 858a4dce authored by Gus Grubba's avatar Gus Grubba Committed by GitHub

Merge pull request #8074 from stefandunca/pr-fix_advanced_tuning

Fix advanced tuning without side effects
parents 219cfa67 0436f8c0
...@@ -64,8 +64,8 @@ SetupPage { ...@@ -64,8 +64,8 @@ SetupPage {
ExclusiveGroup { id: returnAltRadioGroup } ExclusiveGroup { id: returnAltRadioGroup }
Component.onCompleted: { Component.onCompleted: {
// Advanced tuning is hacked out due to Qt crash with Qml Charts and a QGuiApplication // We use QtCharts only on Desktop platforms
//showAdvanced = !ScreenTools.isMobile showAdvanced = !ScreenTools.isMobile
// Qml Sliders have a strange behavior in which they first set Slider::value to some internal // Qml Sliders have a strange behavior in which they first set Slider::value to some internal
// setting and then set Slider::value to the bound properties value. If you have an onValueChanged // setting and then set Slider::value to the bound properties value. If you have an onValueChanged
......
...@@ -29,8 +29,8 @@ SetupPage { ...@@ -29,8 +29,8 @@ SetupPage {
width: availableWidth width: availableWidth
Component.onCompleted: { Component.onCompleted: {
// Advanced tuning is hacked out due to Qt crash with Qml Charts and a QGuiApplication // We use QtCharts only on Desktop platforms
//showAdvanced = !ScreenTools.isMobile showAdvanced = !ScreenTools.isMobile
} }
FactPanelController { FactPanelController {
......
...@@ -29,8 +29,8 @@ SetupPage { ...@@ -29,8 +29,8 @@ SetupPage {
width: availableWidth width: availableWidth
Component.onCompleted: { Component.onCompleted: {
// Advanced tuning is hacked out due to Qt crash with Qml Charts and a QGuiApplication // We use QtCharts only on Desktop platforms
//showAdvanced = !ScreenTools.isMobile showAdvanced = !ScreenTools.isMobile
} }
FactPanelController { FactPanelController {
......
...@@ -158,7 +158,11 @@ static QObject* shapeFileHelperSingletonFactory(QQmlEngine*, QJSEngine*) ...@@ -158,7 +158,11 @@ static QObject* shapeFileHelperSingletonFactory(QQmlEngine*, QJSEngine*)
} }
QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting) QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting)
#if defined(__mobile__)
: QGuiApplication (argc, argv) : QGuiApplication (argc, argv)
#else
: QApplication (argc, argv)
#endif
, _runningUnitTests (unitTesting) , _runningUnitTests (unitTesting)
{ {
_app = this; _app = this;
...@@ -555,9 +559,6 @@ bool QGCApplication::_initForNormalAppBoot() ...@@ -555,9 +559,6 @@ bool QGCApplication::_initForNormalAppBoot()
QSettings settings; QSettings settings;
// Exit main application when last window is closed
connect(this, &QGCApplication::lastWindowClosed, this, QGCApplication::quit);
_qmlAppEngine = toolbox()->corePlugin()->createRootWindow(this); _qmlAppEngine = toolbox()->corePlugin()->createRootWindow(this);
// Safe to show popup error messages now that main window is created // Safe to show popup error messages now that main window is created
......
...@@ -35,7 +35,25 @@ class QGCSingleton; ...@@ -35,7 +35,25 @@ class QGCSingleton;
class QGCToolbox; class QGCToolbox;
class QGCFileDownload; class QGCFileDownload;
class QGCApplication : public QGuiApplication /**
* @brief The main application and management class.
*
* This class is started by the main method and provides
* the central management unit of the groundstation application.
*
* Needs QApplication base to support QtCharts module. This way
* we avoid application crashing on 5.12 when using the module.
* We don't have QtWidgets on mobile, avoid using it.
*
* Note: `lastWindowClosed` will be sent by MessageBox popups and other
* dialogs, that are spawned in QML, when they are closed
**/
class QGCApplication :
#if defined(__mobile__)
public QGuiApplication
#else
public QApplication
#endif
{ {
Q_OBJECT Q_OBJECT
......
...@@ -285,7 +285,7 @@ void QmlObjectListModel::clearAndDeleteContents() ...@@ -285,7 +285,7 @@ void QmlObjectListModel::clearAndDeleteContents()
endResetModel(); endResetModel();
} }
void QmlObjectListModel::beginReset(void) void QmlObjectListModel::beginReset()
{ {
if (_externalBeginResetModel) { if (_externalBeginResetModel) {
qWarning() << "QmlObjectListModel::beginReset already set"; qWarning() << "QmlObjectListModel::beginReset already set";
...@@ -294,7 +294,7 @@ void QmlObjectListModel::beginReset(void) ...@@ -294,7 +294,7 @@ void QmlObjectListModel::beginReset(void)
beginResetModel(); beginResetModel();
} }
void QmlObjectListModel::endReset(void) void QmlObjectListModel::endReset()
{ {
if (!_externalBeginResetModel) { if (!_externalBeginResetModel) {
qWarning() << "QmlObjectListModel::endReset begin not set"; qWarning() << "QmlObjectListModel::endReset begin not set";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment