Browse Source

Allow plugin control of map scale visibility

QGC4.4
Gus Grubba 6 years ago
parent
commit
c2ccfda072
  1. 2
      src/FlightDisplay/FlightDisplayViewMap.qml
  2. 7
      src/FlightMap/MapScale.qml
  3. 2
      src/api/QGCOptions.h
  4. 1
      src/main.cc

2
src/FlightDisplay/FlightDisplayViewMap.qml

@ -476,7 +476,7 @@ FlightMap { @@ -476,7 +476,7 @@ FlightMap {
anchors.topMargin: ScreenTools.defaultFontPixelHeight * (0.33) + state === "bottomMode" ? 0 : ScreenTools.toolbarHeight
anchors.bottomMargin: ScreenTools.defaultFontPixelHeight * (0.33)
mapControl: flightMap
visible: !ScreenTools.isTinyScreen
visible: !ScreenTools.isTinyScreen && QGroundControl.corePlugin.options.enableMapScale
state: "bottomMode"
states: [
State {

7
src/FlightMap/MapScale.qml

@ -110,21 +110,21 @@ Item { @@ -110,21 +110,21 @@ Item {
}
function calculateScale() {
if(mapControl) {
var scaleLinePixelLength = 100
var leftCoord = mapControl.toCoordinate(Qt.point(0, scale.y), false /* clipToViewPort */)
var rightCoord = mapControl.toCoordinate(Qt.point(scaleLinePixelLength, scale.y), false /* clipToViewPort */)
var scaleLineMeters = Math.round(leftCoord.distanceTo(rightCoord))
if (QGroundControl.settingsManager.unitsSettings.distanceUnits.value === UnitsSettings.DistanceUnitsFeet) {
calculateFeetRatio(scaleLineMeters, scaleLinePixelLength)
} else {
calculateMetersRatio(scaleLineMeters, scaleLinePixelLength)
}
}
}
Connections {
target: mapControl
onWidthChanged: scaleTimer.restart()
onHeightChanged: scaleTimer.restart()
onZoomLevelChanged: scaleTimer.restart()
@ -135,7 +135,6 @@ Item { @@ -135,7 +135,6 @@ Item {
interval: 100
running: false
repeat: false
onTriggered: calculateScale()
}
@ -145,7 +144,7 @@ Item { @@ -145,7 +144,7 @@ Item {
font.family: ScreenTools.demiboldFontFamily
anchors.left: parent.left
anchors.right: parent.right
horizontalAlignment: Text.AlignRight
horizontalAlignment:Text.AlignRight
text: "0 m"
}

2
src/api/QGCOptions.h

@ -63,6 +63,7 @@ public: @@ -63,6 +63,7 @@ public:
Q_PROPERTY(bool checkFirmwareVersion READ checkFirmwareVersion CONSTANT)
Q_PROPERTY(bool showMavlinkLogOptions READ showMavlinkLogOptions CONSTANT)
Q_PROPERTY(bool enableMultiVehicleList READ enableMultiVehicleList CONSTANT)
Q_PROPERTY(bool enableMapScale READ enableMapScale CONSTANT)
/// Should QGC hide its settings menu and colapse it into one single menu (Settings and Vehicle Setup)?
/// @return true if QGC should consolidate both menus into one.
@ -115,6 +116,7 @@ public: @@ -115,6 +116,7 @@ public:
virtual bool checkFirmwareVersion () const { return true; }
virtual bool showMavlinkLogOptions () const { return true; }
virtual bool enableMultiVehicleList () const { return true; }
virtual bool enableMapScale () const { return true; }
#if defined(__mobile__)
virtual bool useMobileFileDialog () const { return true;}

1
src/main.cc

@ -228,6 +228,7 @@ int main(int argc, char *argv[]) @@ -228,6 +228,7 @@ int main(int argc, char *argv[])
#endif
#endif // QT_DEBUG
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
QGCApplication* app = new QGCApplication(argc, argv, runUnitTests);
Q_CHECK_PTR(app);

Loading…
Cancel
Save