diff --git a/src/AutoPilotPlugins/PX4/AirframeComponent.qml b/src/AutoPilotPlugins/PX4/AirframeComponent.qml index b2c3a5a6f04bb42cb09d12fce0d7cb4429254ba2..f14ed8f698126a2b94404b9c6da57f2e31991d2d 100644 --- a/src/AutoPilotPlugins/PX4/AirframeComponent.qml +++ b/src/AutoPilotPlugins/PX4/AirframeComponent.qml @@ -96,30 +96,18 @@ QGCView { readonly property real spacerHeight: ScreenTools.defaultFontPixelHeight - QGCLabel { - id: header - width: parent.width - font.pixelSize: ScreenTools.largeFontPixelSize - text: "AIRFRAME CONFIG" - } - - Item { - id: headingSpacer - anchors.top: header.bottom - height: parent.spacerHeight - width: 20 - } - Item { id: helpApplyRow - anchors.top: headingSpacer.bottom - width: parent.width + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right height: Math.max(helpText.contentHeight, applyButton.height) QGCLabel { id: helpText width: parent.width - applyButton.width - 5 text: "Please select your airframe type. Click 'Apply and Restart' to reboot the autopilot. Please re-connect then manually." + font.pixelSize: ScreenTools.mediumFontPixelSize wrapMode: Text.WordWrap } diff --git a/src/AutoPilotPlugins/PX4/FlightModesComponent.qml b/src/AutoPilotPlugins/PX4/FlightModesComponent.qml index 7dd4a04cb7c8a2aba06b16465f93111d50695996..5178b1ca699c1c49bbad8301f4f6f66cc6e19cc1 100644 --- a/src/AutoPilotPlugins/PX4/FlightModesComponent.qml +++ b/src/AutoPilotPlugins/PX4/FlightModesComponent.qml @@ -42,7 +42,7 @@ QGCView { // User visible strings - readonly property string title: "FLIGHT MODES CONFIG" + readonly property string title: "FLIGHT MODES" property string topHelpText: "Assign Flight Modes to radio control channels and adjust the thresholds for triggering them. " + @@ -216,23 +216,8 @@ QGCView { id: scrollItem width: scroll.viewport.width - QGCLabel { - id: header - width: parent.width - font.pixelSize: ScreenTools.largeFontPixelSize - text: title - } - - Item { - id: headingSpacer - anchors.top: header.bottom - height: ScreenTools.defaultFontPixelHeight - width: 20 - } - Item { id: helpApplyRow - anchors.top: headingSpacer.bottom width: parent.width height: Math.max(helpText.contentHeight, applyButton.height) @@ -242,6 +227,7 @@ QGCView { anchors.left: parent.left anchors.right: applyButton.left text: topHelpText + font.pixelSize: ScreenTools.mediumFontPixelSize wrapMode: Text.WordWrap } diff --git a/src/AutoPilotPlugins/PX4/PowerComponent.qml b/src/AutoPilotPlugins/PX4/PowerComponent.qml index 241ee2538fe17047c4b97947dc0dd30d316df215..c2fe072390b38d7dfb6aefba1ee493628d7da7bd 100644 --- a/src/AutoPilotPlugins/PX4/PowerComponent.qml +++ b/src/AutoPilotPlugins/PX4/PowerComponent.qml @@ -115,11 +115,6 @@ QGCView { anchors.right: parent.right spacing: ScreenTools.defaultFontPixelHeight - QGCLabel { - text: "POWER CONFIG" - font.pixelSize: ScreenTools.largeFontPixelSize - } - QGCLabel { text: "Battery" font.pixelSize: ScreenTools.mediumFontPixelSize diff --git a/src/AutoPilotPlugins/PX4/RadioComponent.qml b/src/AutoPilotPlugins/PX4/RadioComponent.qml index aa88b2d2b82ec2dba6bb87648417c8320a3d5ddb..e59449ec6af4f7062732ae91c19be013725d0141 100644 --- a/src/AutoPilotPlugins/PX4/RadioComponent.qml +++ b/src/AutoPilotPlugins/PX4/RadioComponent.qml @@ -42,7 +42,7 @@ QGCView { QGCPalette { id: qgcPal; colorGroupEnabled: panel.enabled } - readonly property string dialogTitle: "Radio Config" + readonly property string dialogTitle: "Radio" readonly property real labelToMonitorMargin: defaultTextWidth * 3 property bool controllerCompleted: false property bool controllerAndViewReady: false @@ -269,23 +269,10 @@ QGCView { // Main view Qml starts here - QGCLabel { - id: header - font.pixelSize: ScreenTools.largeFontPixelSize - text: "RADIO CONFIG" - } - - Item { - id: spacer - anchors.top: header.bottom - width: parent.width - height: 10 - } - // Left side column Column { id: leftColumn - anchors.top: spacer.bottom + anchors.top: parent.top anchors.left: parent.left anchors.right: columnSpacer.left spacing: 10 @@ -504,7 +491,7 @@ QGCView { // Right side column Column { id: rightColumn - anchors.top: spacer.bottom + anchors.top: parent.top anchors.right: parent.right width: defaultTextWidth * 35 spacing: 10 diff --git a/src/AutoPilotPlugins/PX4/SafetyComponent.qml b/src/AutoPilotPlugins/PX4/SafetyComponent.qml index 89a27a51399115ed2ac146c5290bee2a9f47d429..9c6ca9601f465f667bb85b0efae9282ad14e2c62 100644 --- a/src/AutoPilotPlugins/PX4/SafetyComponent.qml +++ b/src/AutoPilotPlugins/PX4/SafetyComponent.qml @@ -56,13 +56,6 @@ QGCView { Column { anchors.fill: parent - QGCLabel { - text: "SAFETY CONFIG" - font.pixelSize: ScreenTools.largeFontPixelSize - } - - Item { height: 20; width: 10 } // spacer - //----------------------------------------------------------------- //-- Return Home Triggers diff --git a/src/AutoPilotPlugins/PX4/SensorsComponent.qml b/src/AutoPilotPlugins/PX4/SensorsComponent.qml index ddf214c72814c1944880351f053e3e7c01337123..c08e7acb732a1c44ab15fe65ec7802fa97d58df7 100644 --- a/src/AutoPilotPlugins/PX4/SensorsComponent.qml +++ b/src/AutoPilotPlugins/PX4/SensorsComponent.qml @@ -278,13 +278,6 @@ QGCView { Column { anchors.fill: parent - QGCLabel { - text: "SENSORS CONFIG" - font.pixelSize: ScreenTools.largeFontPixelSize - } - - Item { height: ScreenTools.defaultFontPixelHeight; width: 10 } // spacer - Row { readonly property int buttonWidth: ScreenTools.defaultFontPixelWidth * 15 diff --git a/src/QGCApplication.cc b/src/QGCApplication.cc index ec577fb27979e9fd7ce09286db0bdce6613b8655..e3e6fba534f69b96fce5f10ccd8da912a7ba4106 100644 --- a/src/QGCApplication.cc +++ b/src/QGCApplication.cc @@ -296,8 +296,9 @@ QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting) QSettings::setDefaultFormat(QSettings::IniFormat); QSettings settings; + qDebug() << "Settings location" << settings.fileName() << settings.isWritable(); + #ifdef UNITTEST_BUILD - qDebug() << "Settings location" << settings.fileName(); Q_ASSERT(settings.isWritable()); #endif // The setting will delete all settings on this boot @@ -316,7 +317,6 @@ QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting) // Initialize Video Streaming initializeVideoStreaming(argc, argv); - } QGCApplication::~QGCApplication() @@ -421,6 +421,8 @@ void QGCApplication::_initCommon(void) } qDebug() << "Saved files location" << savedFilesLocation; settings.setValue(_savedFilesLocationKey, savedFilesLocation); + + settings.sync(); } bool QGCApplication::_initForNormalAppBoot(void) diff --git a/src/QGCMessageBox.h b/src/QGCMessageBox.h index 646fdc8548ff8c9058e48a792457dc36b9b2ff22..e74295f726693b9f67a250d143e3167a68634d2d 100644 --- a/src/QGCMessageBox.h +++ b/src/QGCMessageBox.h @@ -107,10 +107,11 @@ private: } } + qDebug() << "QGCMessageBox (unit testing)" << title << text; + #ifdef QT_DEBUG #ifndef __mobile__ if (qgcApp()->runningUnitTests()) { - qDebug() << "QGCMessageBox (unit testing)" << title << text; return UnitTest::_messageBox(icon, title, text, buttons, defaultButton); } else #endif diff --git a/src/QmlControls/ParameterEditor.qml b/src/QmlControls/ParameterEditor.qml index 64378485fd1739f4cc66249396a2ffd5eba16a20..2e04d8274d670372187b1b0879c22cfb08624437 100644 --- a/src/QmlControls/ParameterEditor.qml +++ b/src/QmlControls/ParameterEditor.qml @@ -212,6 +212,8 @@ QGCView { width: defaultTextWidth * 25 height: parent.height + Component.onCompleted: flickableItem.flickableDirection = Flickable.VerticalFlick + Column { Repeater { model: controller.componentIds @@ -317,8 +319,8 @@ QGCView { QGCLabel { id: titleText - font.pixelSize: ScreenTools.largeFontPixelSize - text: "PARAMETER EDITOR" + font.pixelSize: ScreenTools.mediumFontPixelSize + text: "PARAMETERS" } QGCButton { diff --git a/src/VehicleSetup/FirmwareUpgrade.qml b/src/VehicleSetup/FirmwareUpgrade.qml index 864a48bf9e79d4ac4ab0a18bca6b8958ed033434..131605548f4b1d6510792251e48676c4e5c1b3df 100644 --- a/src/VehicleSetup/FirmwareUpgrade.qml +++ b/src/VehicleSetup/FirmwareUpgrade.qml @@ -38,7 +38,7 @@ QGCView { viewPanel: panel // User visible strings - readonly property string title: "FIRMWARE UPDATE" + readonly property string title: "FIRMWARE" readonly property string highlightPrefix: "" readonly property string highlightSuffix: "" readonly property string welcomeText: "QGroundControl can upgrade the firmware on Pixhawk devices, 3DR Radios and PX4 Flow Smart Cameras." @@ -392,7 +392,7 @@ QGCView { QGCLabel { id: titleLabel text: title - font.pixelSize: ScreenTools.largeFontPixelSize + font.pixelSize: ScreenTools.mediumFontPixelSize } ProgressBar { diff --git a/src/VehicleSetup/JoystickConfig.qml b/src/VehicleSetup/JoystickConfig.qml index 80cfd128c286ae188ba3bc9b144ebbcd50035490..fdba90d6cb5e3e59e9922b2695cdef683190e223 100644 --- a/src/VehicleSetup/JoystickConfig.qml +++ b/src/VehicleSetup/JoystickConfig.qml @@ -149,8 +149,8 @@ QGCView { QGCLabel { id: header - font.pixelSize: ScreenTools.largeFontPixelSize - text: "JOYSTICK CONFIG" + font.pixelSize: ScreenTools.mediumFontPixelSize + text: "JOYSTICK" } Item { diff --git a/src/VehicleSetup/SetupView.qml b/src/VehicleSetup/SetupView.qml index 09ab45f64442d2b1bee71e58782ea1bb66288ec0..cc039b6bd6544f0206a07b0a949212751b90a8ba 100644 --- a/src/VehicleSetup/SetupView.qml +++ b/src/VehicleSetup/SetupView.qml @@ -34,29 +34,25 @@ import QGroundControl.Controls 1.0 import QGroundControl.ScreenTools 1.0 import QGroundControl.MultiVehicleManager 1.0 -Rectangle { - id: topLevel - color: palette.window - z: zOrder // zOrder comes from the Loader in MainWindow.qml +Item { + z: zOrder // zOrder comes from the Loader in MainWindow.qml - QGCPalette { id: palette; colorGroupEnabled: true } + QGCPalette { id: qgcPal; colorGroupEnabled: true } ExclusiveGroup { id: setupButtonGroup } - QGCLabel { id: _textMeasure; text: "X"; visible: false } + readonly property real _defaultTextHeight: ScreenTools.defaultFontPixelHeight + readonly property real _defaultTextWidth: ScreenTools.defaultFontPixelWidth + readonly property real _margin: _defaultTextHeight / 2 + readonly property real _buttonWidth: _defaultTextWidth * 15 + readonly property string _armedVehicleText: "This operation cannot be performed while vehicle is armed." - readonly property real defaultTextHeight: _textMeasure.contentHeight - readonly property real defaultTextWidth: _textMeasure.contentWidth - readonly property real buttonWidth: defaultTextWidth * 15 - - property string messagePanelText: "missing message panel text" - readonly property string armedVehicleText: "This operation cannot be performed while vehicle is armed." - - property bool fullParameterVehicleAvailable: multiVehicleManager.parameterReadyVehicleAvailable && !multiVehicleManager.activeVehicle.missingParameters + property string _messagePanelText: "missing message panel text" + property bool _fullParameterVehicleAvailable: multiVehicleManager.parameterReadyVehicleAvailable && !multiVehicleManager.activeVehicle.missingParameters function showSummaryPanel() { - if (fullParameterVehicleAvailable) { + if (_fullParameterVehicleAvailable) { panelLoader.source = "VehicleSummary.qml"; } else if (multiVehicleManager.parameterReadyVehicleAvailable) { panelLoader.sourceComponent = missingParametersVehicleSummaryComponent @@ -69,7 +65,7 @@ Rectangle { { if (!ScreenTools.isMobile) { if (multiVehicleManager.activeVehicleAvailable && multiVehicleManager.activeVehicle.armed) { - messagePanelText = armedVehicleText + _messagePanelText = _armedVehicleText panelLoader.sourceComponent = messagePanelComponent } else { panelLoader.source = "FirmwareUpgrade.qml"; @@ -80,7 +76,7 @@ Rectangle { function showJoystickPanel() { if (multiVehicleManager.activeVehicleAvailable && multiVehicleManager.activeVehicle.armed) { - messagePanelText = armedVehicleText + _messagePanelText = _armedVehicleText panelLoader.sourceComponent = messagePanelComponent } else { panelLoader.source = "JoystickConfig.qml"; @@ -95,11 +91,11 @@ Rectangle { function showVehicleComponentPanel(vehicleComponent) { if (multiVehicleManager.activeVehicle.armed) { - messagePanelText = armedVehicleText + _messagePanelText = _armedVehicleText panelLoader.sourceComponent = messagePanelComponent } else { if (vehicleComponent.prerequisiteSetup != "") { - messagePanelText = vehicleComponent.prerequisiteSetup + " setup must be completed prior to " + vehicleComponent.name + " setup." + _messagePanelText = vehicleComponent.prerequisiteSetup + " setup must be completed prior to " + vehicleComponent.name + " setup." panelLoader.sourceComponent = messagePanelComponent } else { panelLoader.source = vehicleComponent.setupSource @@ -122,20 +118,20 @@ Rectangle { id: disconnectedVehicleSummaryComponent Rectangle { - color: palette.windowShade + color: qgcPal.windowShade QGCLabel { - anchors.margins: defaultTextWidth * 2 + anchors.margins: _defaultTextWidth * 2 anchors.fill: parent verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter wrapMode: Text.WordWrap font.pixelSize: ScreenTools.mediumFontPixelSize text: "Welcome to QGroundControl. " + - "QGroundControl supports any mavlink enabled vehicle. " + - "If you are using the PX4 Flight Stack, you also get full support for setting up and calibrating your vehicle. "+ - "Otherwise you will only get support for flying a vehicle which has been setup and calibrated using other means. " + - "Use the Connect button above to connect to your vehicle." + "QGroundControl supports any mavlink enabled vehicle. " + + "If you are using the PX4 Flight Stack, you also get full support for setting up and calibrating your vehicle. "+ + "Otherwise you will only get support for flying a vehicle which has been setup and calibrated using other means. " + + "Use the Connect button above to connect to your vehicle." onLinkActivated: Qt.openUrlExternally(link) } @@ -146,17 +142,17 @@ Rectangle { id: missingParametersVehicleSummaryComponent Rectangle { - color: palette.windowShade + color: qgcPal.windowShade QGCLabel { - anchors.margins: defaultTextWidth * 2 + anchors.margins: _defaultTextWidth * 2 anchors.fill: parent verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter wrapMode: Text.WordWrap font.pixelSize: ScreenTools.mediumFontPixelSize text: "You are currently connected to a vehicle, but that vehicle did not return back the full parameter list. " + - "Because of this the full set of vehicle setup options are not available." + "Because of this the full set of vehicle setup options are not available." onLinkActivated: Qt.openUrlExternally(link) } @@ -168,98 +164,126 @@ Rectangle { Item { QGCLabel { - anchors.margins: defaultTextWidth * 2 + anchors.margins: _defaultTextWidth * 2 anchors.fill: parent verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter wrapMode: Text.WordWrap font.pixelSize: ScreenTools.mediumFontPixelSize - text: messagePanelText + text: _messagePanelText } } } - Flickable { - id: buttonFlickable - width: buttonWidth - height: parent.height - contentWidth: buttonWidth - contentHeight: buttonColumn.height - flickableDirection: Flickable.VerticalFlick - - Column { - id: buttonColumn - width: buttonWidth - - SubMenuButton { - id: summaryButton - width: buttonWidth - imageResource: "/qmlimages/VehicleSummaryIcon.png" - setupIndicator: false - exclusiveGroup: setupButtonGroup - text: "SUMMARY" - - onClicked: showSummaryPanel() - } - - SubMenuButton { - id: firmwareButton - width: buttonWidth - imageResource: "/qmlimages/FirmwareUpgradeIcon.png" - setupIndicator: false - exclusiveGroup: setupButtonGroup - visible: !ScreenTools.isMobile - text: "FIRMWARE" - - onClicked: showFirmwarePanel() - } - - SubMenuButton { - id: joystickButton - width: buttonWidth - setupIndicator: true - setupComplete: joystickManager.activeJoystick ? joystickManager.activeJoystick.calibrated : false - exclusiveGroup: setupButtonGroup - visible: fullParameterVehicleAvailable && joystickManager.joysticks.length != 0 - text: "JOYSTICK" - - onClicked: showJoystickPanel() - } - - Repeater { - model: fullParameterVehicleAvailable ? multiVehicleManager.activeVehicle.autopilot.vehicleComponents : 0 - - SubMenuButton { - width: buttonWidth - imageResource: modelData.iconResource - setupIndicator: modelData.requiresSetup - setupComplete: modelData.setupComplete - exclusiveGroup: setupButtonGroup - text: modelData.name.toUpperCase() - - onClicked: showVehicleComponentPanel(modelData) - } - } - - SubMenuButton { - width: buttonWidth - setupIndicator: false - exclusiveGroup: setupButtonGroup - visible: multiVehicleManager.parameterReadyVehicleAvailable - text: "PARAMETERS" + Rectangle { + //anchors.margins: _defaultTextHeight * 2 + anchors.fill: parent + color: qgcPal.window + opacity: 0.8 + + QGCLabel { + id: title + anchors.topMargin: _margin + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + horizontalAlignment: Text.AlignHCenter + font.pixelSize: ScreenTools.largeFontPixelSize + text: "Vehicle Setup" + } - onClicked: showParametersPanel() + Rectangle { + anchors.topMargin: _margin + anchors.top: title.bottom + anchors.bottom: parent.bottom + anchors.left: parent.left + anchors.right: parent.right + color: qgcPal.windowShade + + Flickable { + id: buttonFlickable + width: _buttonWidth + height: parent.height + contentWidth: _buttonWidth + contentHeight: buttonColumn.height + flickableDirection: Flickable.VerticalFlick + + Column { + id: buttonColumn + width: _buttonWidth + spacing: _defaultTextHeight / 2 + + SubMenuButton { + id: summaryButton + width: _buttonWidth + imageResource: "/qmlimages/VehicleSummaryIcon.png" + setupIndicator: false + exclusiveGroup: setupButtonGroup + text: "SUMMARY" + + onClicked: showSummaryPanel() + } + + SubMenuButton { + id: firmwareButton + width: _buttonWidth + imageResource: "/qmlimages/FirmwareUpgradeIcon.png" + setupIndicator: false + exclusiveGroup: setupButtonGroup + visible: !ScreenTools.isMobile + text: "FIRMWARE" + + onClicked: showFirmwarePanel() + } + + SubMenuButton { + id: joystickButton + width: _buttonWidth + setupIndicator: true + setupComplete: joystickManager.activeJoystick ? joystickManager.activeJoystick.calibrated : false + exclusiveGroup: setupButtonGroup + visible: _fullParameterVehicleAvailable && joystickManager.joysticks.length != 0 + text: "JOYSTICK" + + onClicked: showJoystickPanel() + } + + Repeater { + model: _fullParameterVehicleAvailable ? multiVehicleManager.activeVehicle.autopilot.vehicleComponents : 0 + + SubMenuButton { + width: _buttonWidth + imageResource: modelData.iconResource + setupIndicator: modelData.requiresSetup + setupComplete: modelData.setupComplete + exclusiveGroup: setupButtonGroup + text: modelData.name.toUpperCase() + + onClicked: showVehicleComponentPanel(modelData) + } + } + + SubMenuButton { + width: _buttonWidth + setupIndicator: false + exclusiveGroup: setupButtonGroup + visible: multiVehicleManager.parameterReadyVehicleAvailable + text: "PARAMETERS" + + onClicked: showParametersPanel() + } + } // Column + } // Flickable + + Loader { + id: panelLoader + anchors.leftMargin: _defaultTextWidth + anchors.rightMargin: _defaultTextWidth + anchors.left: buttonFlickable.right + anchors.right: parent.right + anchors.top: parent.top + anchors.bottom: parent.bottom } - } // Column - } // Flickable - - Loader { - id: panelLoader - anchors.leftMargin: defaultTextWidth - anchors.rightMargin: defaultTextWidth - anchors.left: buttonFlickable.right - anchors.right: parent.right - anchors.top: parent.top - anchors.bottom: parent.bottom + } } } diff --git a/src/VehicleSetup/VehicleSummary.qml b/src/VehicleSetup/VehicleSummary.qml index fb918799a03235bde65e4905735968ab33b4a930..9e37fb46175f6c2ba7fa49a6e30ca45dd63b1914 100644 --- a/src/VehicleSetup/VehicleSummary.qml +++ b/src/VehicleSetup/VehicleSummary.qml @@ -43,16 +43,11 @@ Rectangle { anchors.fill: parent spacing: ScreenTools.defaultFontPixelHeight - QGCLabel { - text: "VEHICLE SUMMARY" - font.pixelSize: ScreenTools.largeFontPixelSize - } - QGCLabel { width: parent.width wrapMode: Text.WordWrap color: setupComplete ? qgcPal.text : qgcPal.warningText - font.pixelSize: setupComplete ? ScreenTools.defaultFontPixelSize : ScreenTools.mediumFontPixelSize + font.pixelSize: ScreenTools.mediumFontPixelSize text: setupComplete ? "Below you will find a summary of the settings for your vehicle. To the left are the setup menus for each component." : "WARNING: Your vehicle requires setup prior to flight. Please resolve the items marked in red using the menu on the left." diff --git a/src/ui/toolbar/MainToolBar.qml b/src/ui/toolbar/MainToolBar.qml index 21a95a01124880ba913edc28fcf680f2c5dd6119..83987c50f64129634857870759ba914d6789c2bf 100644 --- a/src/ui/toolbar/MainToolBar.qml +++ b/src/ui/toolbar/MainToolBar.qml @@ -193,6 +193,15 @@ Item { _controller.onPlanView(); } } + + MenuSeparator { } + + + MenuItem { + text: "QGroundControl Settings" + + onTriggered: controller.showSettings() + } } // Menu Component { diff --git a/src/ui/toolbar/MainToolBarController.cc b/src/ui/toolbar/MainToolBarController.cc index 3ae149475707086841c94e20203bc14d7602ed3d..dc8242f919be5e0cc7922dd02a32b680a9f07db8 100644 --- a/src/ui/toolbar/MainToolBarController.cc +++ b/src/ui/toolbar/MainToolBarController.cc @@ -339,3 +339,8 @@ void MainToolBarController::onToolBarMessageClosed(void) _toolbarMessageVisible = false; _delayedShowToolBarMessage(); } + +void MainToolBarController::showSettings(void) +{ + MainWindow::instance()->showSettings(); +} diff --git a/src/ui/toolbar/MainToolBarController.h b/src/ui/toolbar/MainToolBarController.h index 43d29663267c60a1b4de626d0f06ef0a8ada946b..eaf5d14a8396bc285bcf451221cc3fd98ed3401f 100644 --- a/src/ui/toolbar/MainToolBarController.h +++ b/src/ui/toolbar/MainToolBarController.h @@ -57,6 +57,7 @@ public: Q_INVOKABLE void onDisconnect(QString conf); Q_INVOKABLE void onEnterMessageArea(int x, int y); Q_INVOKABLE void onToolBarMessageClosed(void); + Q_INVOKABLE void showSettings(void); Q_PROPERTY(double height MEMBER _toolbarHeight NOTIFY heightChanged) Q_PROPERTY(QStringList configList MEMBER _linkConfigurations NOTIFY configListChanged)