From c26b81f2cf00acd2b1eff12df5a005e0ed9cf28e Mon Sep 17 00:00:00 2001
From: Willian Galvani <williangalvani@gmail.com>
Date: Thu, 28 Apr 2022 16:41:58 -0300
Subject: [PATCH] APMSubFrameComponent: do not show paramter-loading dialog if
 the firmware has sensible defaults

---
 src/AutoPilotPlugins/APM/APMSubFrameComponent.qml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/AutoPilotPlugins/APM/APMSubFrameComponent.qml b/src/AutoPilotPlugins/APM/APMSubFrameComponent.qml
index 29df939..30d061b 100644
--- a/src/AutoPilotPlugins/APM/APMSubFrameComponent.qml
+++ b/src/AutoPilotPlugins/APM/APMSubFrameComponent.qml
@@ -26,6 +26,8 @@ SetupPage {
     pageComponent:      subFramePageComponent
 
     property bool _oldFW:   globals.activeVehicle.versionCompare(3 ,5 ,2) < 0
+    property bool _hasSensibledefaults:   globals.activeVehicle.versionCompare(4 ,1 ,0) >= 0
+
     property var frameModelSelected: undefined
 
     APMAirframeComponentController { id: controller; }
@@ -176,6 +178,12 @@ SetupPage {
                                 cursorShape: Qt.PointingHandCursor
                                 onClicked: {
                                     frameModelSelected = subFrameModel.get(index)
+                                    if (_hasSensibledefaults) {
+                                        // No need to suggest loading the default parameters.
+                                        // The firmware default should be good enough.
+                                        setFrameConfig(frameModelSelected.paramValue)
+                                        return
+                                    }
                                     confirmFrameComponent.createObject(mainWindow).open()
                                 }
                             }