Commit 7951f7d2 authored by Don Gagne's avatar Don Gagne

Fix problems which were OS specific

- Max tile download count now handled here
- Fixed signaling problems
parent 83c609b8
...@@ -32,28 +32,19 @@ QGCView { ...@@ -32,28 +32,19 @@ QGCView {
property string mapKey: "lastMapType" property string mapKey: "lastMapType"
property string mapType: QGroundControl.flightMapSettings.mapProvider + " " + QGroundControl.flightMapSettings.mapType property string mapType: QGroundControl.flightMapSettings.mapProvider + " " + QGroundControl.flightMapSettings.mapType
property bool isMapInteractive: true property bool isMapInteractive: false
property var savedCenter: undefined property var savedCenter: undefined
property real savedZoom: 3 property real savedZoom: 3
property string savedMapType: "" property string savedMapType: ""
property real _newSetMiddleLabel: ScreenTools.isTinyScreen ? ScreenTools.defaultFontPixelWidth * 10 : ScreenTools.defaultFontPixelWidth * 12
property real _newSetMiddleField: ScreenTools.isTinyScreen ? ScreenTools.defaultFontPixelWidth * 16 : ScreenTools.defaultFontPixelWidth * 20
property real _netSetSliderWidth: ScreenTools.isTinyScreen ? ScreenTools.defaultFontPixelWidth * 8 : ScreenTools.defaultFontPixelWidth * 16
property real oldlon0: 0
property real oldlon1: 0
property real oldlat0: 0
property real oldlat1: 0
property int oldz0: 0
property int oldz1: 0
property bool _saveRealEstate: ScreenTools.isTinyScreen || ScreenTools.isShortScreen property bool _saveRealEstate: ScreenTools.isTinyScreen || ScreenTools.isShortScreen
property real _adjustableFontPointSize: _saveRealEstate ? ScreenTools.smallFontPointSize : ScreenTools.defaultFontPointSize property real _adjustableFontPointSize: _saveRealEstate ? ScreenTools.smallFontPointSize : ScreenTools.defaultFontPointSize
readonly property real minZoomLevel: 3 readonly property real minZoomLevel: 3
readonly property real maxZoomLevel: 20 readonly property real maxZoomLevel: 20
readonly property int _maxTilesForDownload: 60000
QGCPalette { id: qgcPal } QGCPalette { id: qgcPal }
Component.onCompleted: { Component.onCompleted: {
...@@ -78,20 +69,11 @@ QGCView { ...@@ -78,20 +69,11 @@ QGCView {
if(isMapInteractive) { if(isMapInteractive) {
var xl = 0 var xl = 0
var yl = 0 var yl = 0
var xr = _map.width.toFixed(0) var xr = _map.width.toFixed(0) - 1 // Must be within boundaries of visible map
var yr = _map.height.toFixed(0) var yr = _map.height.toFixed(0) - 1 // Must be within boundaries of visible map
var c0 = _map.toCoordinate(Qt.point(xl, yl)) var c0 = _map.toCoordinate(Qt.point(xl, yl))
var c1 = _map.toCoordinate(Qt.point(xr, yr)) var c1 = _map.toCoordinate(Qt.point(xr, yr))
if(oldlon0 !== c0.longitude || oldlat0 !== c0.latitude || oldlon1 !== c1.longitude || oldlat1 !== c1.latitude || oldz0 !== sliderMinZoom.value || oldz1 !== sliderMaxZoom.value) { QGroundControl.mapEngineManager.updateForCurrentView(c0.longitude, c0.latitude, c1.longitude, c1.latitude, sliderMinZoom.value, sliderMaxZoom.value, mapType)
QGroundControl.mapEngineManager.updateForCurrentView(c0.longitude, c0.latitude, c1.longitude, c1.latitude, sliderMinZoom.value, sliderMaxZoom.value, mapType)
}
}
}
function checkSanity() {
if(isMapInteractive && QGroundControl.mapEngineManager.crazySize) {
sliderMaxZoom.value = sliderMaxZoom.value - 1
handleChanges()
} }
} }
...@@ -106,7 +88,10 @@ QGCView { ...@@ -106,7 +88,10 @@ QGCView {
} }
function addNewSet() { function addNewSet() {
isMapInteractive = true
mapType = QGroundControl.flightMapSettings.mapProvider + " " + QGroundControl.flightMapSettings.mapType mapType = QGroundControl.flightMapSettings.mapProvider + " " + QGroundControl.flightMapSettings.mapType
resetMapToDefaults()
handleChanges()
_map.visible = true _map.visible = true
_tileSetList.visible = false _tileSetList.visible = false
infoView.visible = false infoView.visible = false
...@@ -115,6 +100,7 @@ QGCView { ...@@ -115,6 +100,7 @@ QGCView {
} }
function showList() { function showList() {
isMapInteractive = false
_map.visible = false _map.visible = false
_tileSetList.visible = true _tileSetList.visible = true
infoView.visible = false infoView.visible = false
...@@ -123,6 +109,7 @@ QGCView { ...@@ -123,6 +109,7 @@ QGCView {
} }
function showInfo() { function showInfo() {
isMapInteractive = false
if(_currentSelection && !offlineMapView._currentSelection.deleting) { if(_currentSelection && !offlineMapView._currentSelection.deleting) {
enterInfoView() enterInfoView()
} else } else
...@@ -170,11 +157,11 @@ QGCView { ...@@ -170,11 +157,11 @@ QGCView {
_map.fitViewportToMapItems() _map.fitViewportToMapItems()
} }
_tileSetList.visible = false _tileSetList.visible = false
addNewSetView.visible = false addNewSetView.visible = false
if(isDefaultSet) { if(isDefaultSet) {
defaultInfoView.visible = true defaultInfoView.visible = true
} else { } else {
infoView.visible= true infoView.visible = true
} }
} }
...@@ -183,7 +170,11 @@ QGCView { ...@@ -183,7 +170,11 @@ QGCView {
_map.center = savedCenter _map.center = savedCenter
_map.zoomLevel = savedZoom _map.zoomLevel = savedZoom
mapType = savedMapType mapType = savedMapType
isMapInteractive = true }
function resetMapToDefaults() {
_map.center = QGroundControl.flightMapPosition
_map.zoomLevel = QGroundControl.flightMapZoom
} }
ExclusiveGroup { ExclusiveGroup {
...@@ -320,7 +311,7 @@ QGCView { ...@@ -320,7 +311,7 @@ QGCView {
Map { Map {
id: _map id: _map
anchors.fill: parent anchors.fill: parent
center: QGroundControl.defaultMapPosition center: QGroundControl.lastKnownHomePosition
visible: false visible: false
gesture.flickDeceleration: 3000 gesture.flickDeceleration: 3000
...@@ -335,26 +326,16 @@ QGCView { ...@@ -335,26 +326,16 @@ QGCView {
antialiasing: true antialiasing: true
} }
Component.onCompleted: { Component.onCompleted: resetMapToDefaults()
center = QGroundControl.flightMapPosition
zoomLevel = QGroundControl.flightMapZoom
}
onCenterChanged: { onCenterChanged: handleChanges()
handleChanges() onZoomLevelChanged: handleChanges()
checkSanity() onWidthChanged: handleChanges()
} onHeightChanged: handleChanges()
onZoomLevelChanged: {
handleChanges() // Used to make pinch zoom work
checkSanity() MouseArea {
} anchors.fill: parent
onWidthChanged: {
handleChanges()
checkSanity()
}
onHeightChanged: {
handleChanges()
checkSanity()
} }
MapScale { MapScale {
...@@ -760,17 +741,6 @@ QGCView { ...@@ -760,17 +741,6 @@ QGCView {
sliderMaxZoom.value = sliderMinZoom.value sliderMaxZoom.value = sliderMinZoom.value
} }
handleChanges() handleChanges()
checkSanity()
_map.zoomLevel = sliderMinZoom.value
}
onPressedChanged: {
if (pressed) {
_savedZoom = _map.zoomLevel
_map.zoomLevel = sliderMinZoom.value
} else {
_map.zoomLevel = _savedZoom
}
} }
} // Slider - min zoom } // Slider - min zoom
...@@ -791,28 +761,13 @@ QGCView { ...@@ -791,28 +761,13 @@ QGCView {
property real _savedZoom property real _savedZoom
Component.onCompleted: { Component.onCompleted: sliderMaxZoom.value = _map.zoomLevel + 2
sliderMaxZoom.value = _map.zoomLevel + 2
}
onValueChanged: { onValueChanged: {
if(sliderMaxZoom.value < sliderMinZoom.value) { if(sliderMaxZoom.value < sliderMinZoom.value) {
sliderMinZoom.value = sliderMaxZoom.value sliderMinZoom.value = sliderMaxZoom.value
} }
handleChanges() handleChanges()
checkSanity()
if (pressed) {
_map.zoomLevel = sliderMaxZoom.value
}
}
onPressedChanged: {
if (pressed) {
_savedZoom = _map.zoomLevel
_map.zoomLevel = sliderMaxZoom.value
} else {
_map.zoomLevel = _savedZoom
}
} }
} // Slider - max zoom } // Slider - max zoom
...@@ -842,10 +797,12 @@ QGCView { ...@@ -842,10 +797,12 @@ QGCView {
} // Rectangle - Zoom info } // Rectangle - Zoom info
QGCButton { QGCButton {
text: qsTr("Download") text: _tooManyTiles ? qsTr("Too many tiles") : qsTr("Download")
enabled: setName.text.length > 0 enabled: !_tooManyTiles && setName.text.length > 0
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
property bool _tooManyTiles: QGroundControl.mapEngineManager.tileCount > _maxTilesForDownload
onClicked: { onClicked: {
if(QGroundControl.mapEngineManager.findName(setName.text)) { if(QGroundControl.mapEngineManager.findName(setName.text)) {
duplicateName.visible = true duplicateName.visible = true
......
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