Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qgroundcontrol
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
03683ca1
Commit
03683ca1
authored
Feb 19, 2016
by
dogmaphobic
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Flickable in Offline Maps
Reorder of headers
parent
760255d7
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
297 additions
and
283 deletions
+297
-283
QGCMapTileSet.cpp
src/QtLocationPlugin/QGCMapTileSet.cpp
+3
-3
QGCMapUrlEngine.cpp
src/QtLocationPlugin/QGCMapUrlEngine.cpp
+2
-2
QGCTileCacheWorker.cpp
src/QtLocationPlugin/QGCTileCacheWorker.cpp
+3
-3
QGeoCodeReplyQGC.cpp
src/QtLocationPlugin/QGeoCodeReplyQGC.cpp
+6
-6
QGeoCodingManagerEngineQGC.cpp
src/QtLocationPlugin/QGeoCodingManagerEngineQGC.cpp
+4
-5
QGeoMapReplyQGC.cpp
src/QtLocationPlugin/QGeoMapReplyQGC.cpp
+3
-3
QGeoServiceProviderPluginQGC.cpp
src/QtLocationPlugin/QGeoServiceProviderPluginQGC.cpp
+2
-3
QGeoTileFetcherQGC.cpp
src/QtLocationPlugin/QGeoTileFetcherQGC.cpp
+4
-4
QGeoTiledMappingManagerEngineQGC.cpp
src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp
+4
-4
OfflineMap.qml
src/QtLocationPlugin/QMLControl/OfflineMap.qml
+264
-249
QGCMapEngineManager.cc
src/QtLocationPlugin/QMLControl/QGCMapEngineManager.cc
+2
-1
No files found.
src/QtLocationPlugin/QGCMapTileSet.cpp
View file @
03683ca1
...
...
@@ -29,13 +29,13 @@ This file is part of the QGROUNDCONTROL project
*
*/
#include <math.h>
#include <QSettings>
#include "QGCMapEngine.h"
#include "QGCMapTileSet.h"
#include "QGCMapEngineManager.h"
#include <QSettings>
#include <math.h>
QGC_LOGGING_CATEGORY
(
QGCCachedTileSetLog
,
"QGCCachedTileSetLog"
)
#define TILE_BATCH_SIZE 256
...
...
src/QtLocationPlugin/QGCMapUrlEngine.cpp
View file @
03683ca1
...
...
@@ -27,6 +27,8 @@ This file is part of the QGROUNDCONTROL project
* Original work: The OpenPilot Team, http://www.openpilot.org Copyright (C) 2012.
*/
#include "QGCMapEngine.h"
#include <QRegExp>
#include <QNetworkReply>
#include <QEventLoop>
...
...
@@ -34,8 +36,6 @@ This file is part of the QGROUNDCONTROL project
#include <QString>
#include <QByteArray>
#include "QGCMapEngine.h"
//-----------------------------------------------------------------------------
UrlFactory
::
UrlFactory
()
:
_timeout
(
5
*
1000
)
...
...
src/QtLocationPlugin/QGCTileCacheWorker.cpp
View file @
03683ca1
...
...
@@ -29,6 +29,9 @@ This file is part of the QGROUNDCONTROL project
*
*/
#include "QGCMapEngine.h"
#include "QGCMapTileSet.h"
#include <QVariant>
#include <QtSql/QSqlQuery>
#include <QSqlError>
...
...
@@ -39,9 +42,6 @@ This file is part of the QGROUNDCONTROL project
#include "time.h"
#include "QGCMapEngine.h"
#include "QGCMapTileSet.h"
const
char
*
kDefaultSet
=
"Default Tile Set"
;
const
QString
kSession
=
QLatin1String
(
"QGeoTileWorkerSession"
);
...
...
src/QtLocationPlugin/QGeoCodeReplyQGC.cpp
View file @
03683ca1
...
...
@@ -44,6 +44,8 @@
**
****************************************************************************/
#include "QGeoCodeReplyQGC.h"
#include <QtCore/QJsonDocument>
#include <QtCore/QJsonObject>
#include <QtCore/QJsonArray>
...
...
@@ -54,8 +56,6 @@
#include <QSet>
#include <QDebug>
#include "QGeoCodeReplyQGC.h"
enum
QGeoCodeTypeGoogle
{
GeoCodeTypeUnknown
,
StreetAddress
,
// indicates a precise street address.
...
...
@@ -193,7 +193,7 @@ void QGeoCodeReplyQGC::networkReplyFinished()
QJsonDocument
document
=
QJsonDocument
::
fromJson
(
m_reply
->
readAll
());
QJsonObject
object
=
document
.
object
();
if
(
object
.
value
(
QStringLiteral
(
"status"
))
!=
QStringLiteral
(
"OK"
))
{
QString
error
=
object
.
value
(
QStringLiteral
(
"status"
)).
toString
();
qWarning
()
<<
m_reply
->
url
()
<<
"returned"
<<
error
;
...
...
@@ -210,13 +210,13 @@ void QGeoCodeReplyQGC::networkReplyFinished()
continue
;
QJsonObject
geocode
=
results
[
i
].
toObject
();
QGeoAddress
address
;
if
(
geocode
.
contains
(
QStringLiteral
(
"formatted_address"
)))
{
address
.
setText
(
geocode
.
value
(
QStringLiteral
(
"formatted_address"
)).
toString
());
}
if
(
geocode
.
contains
(
QStringLiteral
(
"address_components"
)))
{
QJsonArray
ac
=
geocode
.
value
(
QStringLiteral
(
"address_components"
)).
toArray
();
...
...
src/QtLocationPlugin/QGeoCodingManagerEngineQGC.cpp
View file @
03683ca1
...
...
@@ -44,6 +44,9 @@
**
****************************************************************************/
#include "QGeoCodingManagerEngineQGC.h"
#include "QGeoCodeReplyQGC.h"
#include <QtCore/QVariantMap>
#include <QtCore/QUrl>
#include <QtCore/QUrlQuery>
...
...
@@ -55,10 +58,6 @@
#include <QtPositioning/QGeoAddress>
#include <QtPositioning/QGeoShape>
#include <QtPositioning/QGeoRectangle>
#include <QDebug>
#include "QGeoCodingManagerEngineQGC.h"
#include "QGeoCodeReplyQGC.h"
static
QString
addressToQuery
(
const
QGeoAddress
&
address
)
{
...
...
@@ -120,7 +119,7 @@ QGeoCodeReply *QGeoCodingManagerEngineQGC::geocode(const QString &address, int l
url
.
setQuery
(
query
);
request
.
setUrl
(
url
);
//qDebug() << url;
QNetworkReply
*
reply
=
m_networkManager
->
get
(
request
);
reply
->
setParent
(
0
);
...
...
src/QtLocationPlugin/QGeoMapReplyQGC.cpp
View file @
03683ca1
...
...
@@ -44,13 +44,13 @@
**
****************************************************************************/
#include "QGCMapEngine.h"
#include "QGeoMapReplyQGC.h"
#include <QtLocation/private/qgeotilespec_p.h>
#include <QtNetwork/QNetworkAccessManager>
#include <QFile>
#include "QGCMapEngine.h"
#include "QGeoMapReplyQGC.h"
//-----------------------------------------------------------------------------
QGeoTiledMapReplyQGC
::
QGeoTiledMapReplyQGC
(
QNetworkAccessManager
*
networkManager
,
const
QNetworkRequest
&
request
,
const
QGeoTileSpec
&
spec
,
QObject
*
parent
)
:
QGeoTiledMapReply
(
spec
,
parent
)
...
...
src/QtLocationPlugin/QGeoServiceProviderPluginQGC.cpp
View file @
03683ca1
...
...
@@ -44,13 +44,12 @@
**
****************************************************************************/
#include <QtLocation/private/qgeotiledmappingmanagerengine_p.h>
#include "qdebug.h"
#include "QGeoServiceProviderPluginQGC.h"
#include "QGeoTiledMappingManagerEngineQGC.h"
#include "QGeoCodingManagerEngineQGC.h"
#include <QtLocation/private/qgeotiledmappingmanagerengine_p.h>
Q_EXTERN_C
Q_DECL_EXPORT
const
char
*
qt_plugin_query_metadata
();
Q_EXTERN_C
Q_DECL_EXPORT
QT_PREPEND_NAMESPACE
(
QObject
)
*
qt_plugin_instance
();
...
...
src/QtLocationPlugin/QGeoTileFetcherQGC.cpp
View file @
03683ca1
...
...
@@ -44,14 +44,14 @@
**
****************************************************************************/
#include <QtCore/QLocale>
#include <QtNetwork/QNetworkRequest>
#include <QtLocation/private/qgeotilespec_p.h>
#include "QGCMapEngine.h"
#include "QGeoTileFetcherQGC.h"
#include "QGeoMapReplyQGC.h"
#include <QtCore/QLocale>
#include <QtNetwork/QNetworkRequest>
#include <QtLocation/private/qgeotilespec_p.h>
//-----------------------------------------------------------------------------
QGeoTileFetcherQGC
::
QGeoTileFetcherQGC
(
QGeoTiledMappingManagerEngine
*
parent
)
:
QGeoTileFetcher
(
parent
)
...
...
src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp
View file @
03683ca1
...
...
@@ -44,6 +44,10 @@
**
****************************************************************************/
#include "QGCMapEngine.h"
#include "QGeoTiledMappingManagerEngineQGC.h"
#include "QGeoTileFetcherQGC.h"
#include <QtLocation/private/qgeocameracapabilities_p.h>
#include <QtLocation/private/qgeomaptype_p.h>
#if QT_VERSION < 0x050500
...
...
@@ -54,10 +58,6 @@
#include <QDir>
#include <QStandardPaths>
#include "QGCMapEngine.h"
#include "QGeoTiledMappingManagerEngineQGC.h"
#include "QGeoTileFetcherQGC.h"
#if QT_VERSION >= 0x050500
//-----------------------------------------------------------------------------
QGeoTiledMapQGC
::
QGeoTiledMapQGC
(
QGeoTiledMappingManagerEngine
*
engine
,
QObject
*
parent
)
...
...
src/QtLocationPlugin/QMLControl/OfflineMap.qml
View file @
03683ca1
...
...
@@ -611,171 +611,178 @@ Rectangle {
anchors.bottom
:
parent
.
bottom
anchors.margins
:
ScreenTools
.
defaultFontPixelWidth
visible
:
false
Column
{
width
:
parent
.
width
spacing
:
ScreenTools
.
defaultFontPixelHeight
Item
{
height
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
width
:
1
}
Rectangle
{
width
:
infoWidth
height
:
nameLabel
.
height
+
(
ScreenTools
.
defaultFontPixelHeight
*
2
)
color
:
__qgcPal
.
window
radius
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
anchors.horizontalCenter
:
parent
.
horizontalCenter
QGCLabel
{
id
:
nameLabel
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
name
:
""
font.pixelSize
:
ScreenTools
.
isAndroid
?
ScreenTools
.
mediumFontPixelSize
:
ScreenTools
.
largeFontPixelSize
anchors.centerIn
:
parent
QGCFlickable
{
id
:
infoScroll
anchors.fill
:
parent
contentHeight
:
infoColumn
.
height
flickableDirection
:
Flickable
.
VerticalFlick
clip
:
true
Column
{
id
:
infoColumn
width
:
parent
.
width
spacing
:
ScreenTools
.
defaultFontPixelHeight
Item
{
height
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
width
:
1
}
}
QGCLabel
{
id
:
descLabel
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
description
:
""
anchors.horizontalCenter
:
parent
.
horizontalCenter
}
Rectangle
{
id
:
infoRect
width
:
infoWidth
height
:
infoGrid
.
height
+
(
ScreenTools
.
defaultFontPixelHeight
*
4
)
color
:
__qgcPal
.
window
radius
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
anchors.horizontalCenter
:
parent
.
horizontalCenter
GridLayout
{
id
:
infoGrid
columns
:
2
anchors.centerIn
:
parent
anchors.margins
:
ScreenTools
.
defaultFontPixelWidth
*
2
rowSpacing
:
ScreenTools
.
defaultFontPixelWidth
columnSpacing
:
ScreenTools
.
defaultFontPixelHeight
*
2
QGCLabel
{
text
:
"
Map Type:
"
visible
:
!
isDefaultSet
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
mapTypeStr
:
""
visible
:
!
isDefaultSet
}
QGCLabel
{
text
:
"
Min Zoom:
"
visible
:
!
isDefaultSet
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
minZoom
:
""
visible
:
!
isDefaultSet
}
QGCLabel
{
text
:
"
Max Zoom:
"
visible
:
!
isDefaultSet
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
maxZoom
:
""
visible
:
!
isDefaultSet
}
QGCLabel
{
text
:
isDefaultSet
?
"
Default Set Size:
"
:
"
Total Size:
"
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
tilesSizeStr
:
""
}
QGCLabel
{
text
:
isDefaultSet
?
"
Default Set Tile Count:
"
:
"
Total Tile Count:
"
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
numTilesStr
:
""
}
QGCLabel
{
text
:
isDefaultSet
?
"
Total Size (All Sets):
"
:
"
Downloaded Size:
"
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
savedSizeStr
:
""
}
QGCLabel
{
text
:
isDefaultSet
?
"
Total Count (All Sets):
"
:
"
Downloaded Count:
"
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
savedTilesStr
:
""
}
QGCLabel
{
text
:
"
Error Count:
"
visible
:
!
isDefaultSet
&&
_offlineMapRoot
.
_currentSelection
&&
!
_offlineMapRoot
.
_currentSelection
.
complete
}
Rectangle
{
width
:
infoWidth
height
:
nameLabel
.
height
+
(
ScreenTools
.
defaultFontPixelHeight
*
2
)
color
:
__qgcPal
.
window
radius
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
anchors.horizontalCenter
:
parent
.
horizontalCenter
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
errorCountStr
:
""
visible
:
!
isDefaultSet
&&
_offlineMapRoot
.
_currentSelection
&&
!
_offlineMapRoot
.
_currentSelection
.
complete
id
:
nameLabel
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
name
:
""
font.pixelSize
:
ScreenTools
.
isAndroid
?
ScreenTools
.
mediumFontPixelSize
:
ScreenTools
.
largeFontPixelSize
anchors.centerIn
:
parent
}
}
}
Item
{
height
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
width
:
1
}
Row
{
anchors.horizontalCenter
:
parent
.
horizontalCenter
spacing
:
ScreenTools
.
defaultFontPixelWidth
QGCButton
{
width
:
ScreenTools
.
defaultFontPixelWidth
*
18
text
:
"
Delete
"
enabled
:
_offlineMapRoot
.
_currentSelection
&&
(
!
_offlineMapRoot
.
_currentSelection
.
deleting
)
onClicked
:
{
if
(
_offlineMapRoot
.
_currentSelection
)
deleteDialog
.
visible
=
true
QGCLabel
{
id
:
descLabel
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
description
:
""
anchors.horizontalCenter
:
parent
.
horizontalCenter
}
Rectangle
{
id
:
infoRect
width
:
infoWidth
height
:
infoGrid
.
height
+
(
ScreenTools
.
defaultFontPixelHeight
*
4
)
color
:
__qgcPal
.
window
radius
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
anchors.horizontalCenter
:
parent
.
horizontalCenter
GridLayout
{
id
:
infoGrid
columns
:
2
anchors.centerIn
:
parent
anchors.margins
:
ScreenTools
.
defaultFontPixelWidth
*
2
rowSpacing
:
ScreenTools
.
defaultFontPixelWidth
columnSpacing
:
ScreenTools
.
defaultFontPixelHeight
*
2
QGCLabel
{
text
:
"
Map Type:
"
visible
:
!
isDefaultSet
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
mapTypeStr
:
""
visible
:
!
isDefaultSet
}
QGCLabel
{
text
:
"
Min Zoom:
"
visible
:
!
isDefaultSet
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
minZoom
:
""
visible
:
!
isDefaultSet
}
QGCLabel
{
text
:
"
Max Zoom:
"
visible
:
!
isDefaultSet
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
maxZoom
:
""
visible
:
!
isDefaultSet
}
QGCLabel
{
text
:
isDefaultSet
?
"
Default Set Size:
"
:
"
Total Size:
"
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
tilesSizeStr
:
""
}
QGCLabel
{
text
:
isDefaultSet
?
"
Default Set Tile Count:
"
:
"
Total Tile Count:
"
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
numTilesStr
:
""
}
QGCLabel
{
text
:
isDefaultSet
?
"
Total Size (All Sets):
"
:
"
Downloaded Size:
"
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
savedSizeStr
:
""
}
QGCLabel
{
text
:
isDefaultSet
?
"
Total Count (All Sets):
"
:
"
Downloaded Count:
"
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
savedTilesStr
:
""
}
QGCLabel
{
text
:
"
Error Count:
"
visible
:
!
isDefaultSet
&&
_offlineMapRoot
.
_currentSelection
&&
!
_offlineMapRoot
.
_currentSelection
.
complete
}
QGCLabel
{
text
:
_offlineMapRoot
.
_currentSelection
?
_offlineMapRoot
.
_currentSelection
.
errorCountStr
:
""
visible
:
!
isDefaultSet
&&
_offlineMapRoot
.
_currentSelection
&&
!
_offlineMapRoot
.
_currentSelection
.
complete
}
}
MessageDialog
{
id
:
deleteDialog
visible
:
false
icon
:
StandardIcon
.
Warning
standardButtons
:
StandardButton
.
Yes
|
StandardButton
.
No
title
:
"
Delete Tile Set
"
text
:
{
if
(
_offlineMapRoot
.
_currentSelection
)
{
var
blurb
=
"
Delete
"
+
_offlineMapRoot
.
_currentSelection
.
name
+
"
and all its tiles.
\n
Is this really what you want?
"
if
(
_offlineMapRoot
.
_currentSelection
.
defaultSet
)
return
blurb
+
"
\n
Note that deleteting the Default Set deletes all tiles from all sets.
"
else
return
blurb
}
Item
{
height
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
width
:
1
}
Row
{
anchors.horizontalCenter
:
parent
.
horizontalCenter
spacing
:
ScreenTools
.
defaultFontPixelWidth
QGCButton
{
width
:
ScreenTools
.
defaultFontPixelWidth
*
18
text
:
"
Delete
"
enabled
:
_offlineMapRoot
.
_currentSelection
&&
(
!
_offlineMapRoot
.
_currentSelection
.
deleting
)
onClicked
:
{
if
(
_offlineMapRoot
.
_currentSelection
)
deleteDialog
.
visible
=
true
}
MessageDialog
{
id
:
deleteDialog
visible
:
false
icon
:
StandardIcon
.
Warning
standardButtons
:
StandardButton
.
Yes
|
StandardButton
.
No
title
:
"
Delete Tile Set
"
text
:
{
if
(
_offlineMapRoot
.
_currentSelection
)
{
var
blurb
=
"
Delete
"
+
_offlineMapRoot
.
_currentSelection
.
name
+
"
and all its tiles.
\n
Is this really what you want?
"
if
(
_offlineMapRoot
.
_currentSelection
.
defaultSet
)
return
blurb
+
"
\n
Note that deleteting the Default Set deletes all tiles from all sets.
"
else
return
blurb
}
return
""
}
onYes
:
{
if
(
_offlineMapRoot
.
_currentSelection
)
QGroundControl
.
mapEngineManager
.
deleteTileSet
(
_offlineMapRoot
.
_currentSelection
)
deleteDialog
.
visible
=
false
showList
()
}
onNo
:
{
deleteDialog
.
visible
=
false
}
return
""
}
onYes
:
{
}
QGCButton
{
text
:
"
Resume Download
"
width
:
ScreenTools
.
defaultFontPixelWidth
*
18
enabled
:
_offlineMapRoot
.
_currentSelection
&&
(
!
_offlineMapRoot
.
_currentSelection
.
deleting
&&
!
_offlineMapRoot
.
_currentSelection
.
downloading
)
visible
:
!
isDefaultSet
&&
_offlineMapRoot
.
_currentSelection
&&
(
!
_offlineMapRoot
.
_currentSelection
.
complete
&&
!
_offlineMapRoot
.
_currentSelection
.
downloading
)
onClicked
:
{
if
(
_offlineMapRoot
.
_currentSelection
)
QGroundControl
.
mapEngineManager
.
deleteTileSet
(
_offlineMapRoot
.
_currentSelection
)
deleteDialog
.
visible
=
false
showList
()
}
onNo
:
{
deleteDialog
.
visible
=
false
_offlineMapRoot
.
_currentSelection
.
resumeDownloadTask
()
}
}
}
QGCButton
{
text
:
"
Resume Download
"
width
:
ScreenTools
.
defaultFontPixelWidth
*
18
enabled
:
_offlineMapRoot
.
_currentSelection
&&
(
!
_offlineMapRoot
.
_currentSelection
.
deleting
&&
!
_offlineMapRoot
.
_currentSelection
.
downloading
)
visible
:
!
isDefaultSet
&&
_offlineMapRoot
.
_currentSelection
&&
(
!
_offlineMapRoot
.
_currentSelection
.
complete
&&
!
_offlineMapRoot
.
_currentSelection
.
downloading
)
onClicked
:
{
if
(
_offlineMapRoot
.
_currentSelection
)
_offlineMapRoot
.
_currentSelection
.
resumeDownloadTask
()
QGCButton
{
text
:
"
Cancel Download
"
width
:
ScreenTools
.
defaultFontPixelWidth
*
18
enabled
:
_offlineMapRoot
.
_currentSelection
&&
(
!
_offlineMapRoot
.
_currentSelection
.
deleting
&&
_offlineMapRoot
.
_currentSelection
.
downloading
)
visible
:
!
isDefaultSet
&&
_offlineMapRoot
.
_currentSelection
&&
(
!
_offlineMapRoot
.
_currentSelection
.
complete
&&
_offlineMapRoot
.
_currentSelection
.
downloading
)
onClicked
:
{
if
(
_offlineMapRoot
.
_currentSelection
)
_offlineMapRoot
.
_currentSelection
.
cancelDownloadTask
(
)
}
}
}
QGCButton
{
text
:
"
Cancel Download
"
width
:
ScreenTools
.
defaultFontPixelWidth
*
18
enabled
:
_offlineMapRoot
.
_currentSelection
&&
(
!
_offlineMapRoot
.
_currentSelection
.
deleting
&&
_offlineMapRoot
.
_currentSelection
.
downloading
)
visible
:
!
isDefaultSet
&&
_offlineMapRoot
.
_currentSelection
&&
(
!
_offlineMapRoot
.
_currentSelection
.
complete
&&
_offlineMapRoot
.
_currentSelection
.
downloading
)
onClicked
:
{
if
(
_offlineMapRoot
.
_currentSelection
)
_offlineMapRoot
.
_currentSelection
.
cancelDownloadTask
()
QGCButton
{
text
:
"
Back
"
width
:
ScreenTools
.
defaultFontPixelWidth
*
18
onClicked
:
showList
()
}
}
QGCButton
{
text
:
"
Back
"
width
:
ScreenTools
.
defaultFontPixelWidth
*
18
onClicked
:
showList
()
}
}
}
}
...
...
@@ -794,113 +801,121 @@ Rectangle {
maxCacheMemSize
.
text
=
QGroundControl
.
mapEngineManager
.
maxMemCache
}
}
Column
{
width
:
parent
.
width
spacing
:
ScreenTools
.
defaultFontPixelHeight
Item
{
height
:
ScreenTools
.
defaultFontPixelHeight
width
:
1
}
Rectangle
{
width
:
infoWidth
height
:
optionsLabel
.
height
+
(
ScreenTools
.
defaultFontPixelHeight
*
2
)
color
:
__qgcPal
.
window
radius
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
anchors.horizontalCenter
:
parent
.
horizontalCenter
QGCLabel
{
id
:
optionsLabel
text
:
"
Offline Map Options
"
font.pixelSize
:
ScreenTools
.
isAndroid
?
ScreenTools
.
mediumFontPixelSize
:
ScreenTools
.
largeFontPixelSize
anchors.centerIn
:
parent
QGCFlickable
{
id
:
optionsScroll
anchors.fill
:
parent
contentHeight
:
optionsColumn
.
height
flickableDirection
:
Flickable
.
VerticalFlick
clip
:
true
Column
{
id
:
optionsColumn
width
:
parent
.
width
spacing
:
ScreenTools
.
defaultFontPixelHeight
Item
{
height
:
ScreenTools
.
defaultFontPixelHeight
width
:
1
}
}
Rectangle
{
id
:
optionsRect
width
:
optionsGrid
.
width
+
(
ScreenTools
.
defaultFontPixelWidth
*
4
)
height
:
optionsGrid
.
height
+
(
ScreenTools
.
defaultFontPixelHeight
*
4
)
color
:
__qgcPal
.
window
radius
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
anchors.horizontalCenter
:
parent
.
horizontalCenter
GridLayout
{
id
:
optionsGrid
columns
:
2
anchors.centerIn
:
parent
anchors.margins
:
ScreenTools
.
defaultFontPixelWidth
*
2
rowSpacing
:
ScreenTools
.
defaultFontPixelWidth
*
1.5
columnSpacing
:
ScreenTools
.
defaultFontPixelHeight
*
2
QGCLabel
{
text
:
"
Max Cache Disk Size (MB):
"
}
QGCTextField
{
id
:
maxCacheSize
maximumLength
:
6
inputMethodHints
:
Qt
.
ImhDigitsOnly
validator
:
IntValidator
{
bottom
:
1
;
top
:
262144
;}
}
Rectangle
{
width
:
infoWidth
height
:
optionsLabel
.
height
+
(
ScreenTools
.
defaultFontPixelHeight
*
2
)
color
:
__qgcPal
.
window
radius
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
anchors.horizontalCenter
:
parent
.
horizontalCenter
QGCLabel
{
text
:
"
Max Cache Memory Size (MB):
"
}
QGCTextField
{
id
:
maxCacheMemSize
maximumLength
:
4
inputMethodHints
:
Qt
.
ImhDigitsOnly
validator
:
IntValidator
{
bottom
:
1
;
top
:
4096
;}
id
:
optionsLabel
text
:
"
Offline Map Options
"
font.pixelSize
:
ScreenTools
.
isAndroid
?
ScreenTools
.
mediumFontPixelSize
:
ScreenTools
.
largeFontPixelSize
anchors.centerIn
:
parent
}
Item
{
Layout.columnSpan
:
2
Layout.fillWidth
:
true
implicitHeight
:
ScreenTools
.
defaultFontPixelHeight
*
1.5
}
Rectangle
{
id
:
optionsRect
width
:
optionsGrid
.
width
+
(
ScreenTools
.
defaultFontPixelWidth
*
4
)
height
:
optionsGrid
.
height
+
(
ScreenTools
.
defaultFontPixelHeight
*
4
)
color
:
__qgcPal
.
window
radius
:
ScreenTools
.
defaultFontPixelHeight
*
0.5
anchors.horizontalCenter
:
parent
.
horizontalCenter
GridLayout
{
id
:
optionsGrid
columns
:
2
anchors.centerIn
:
parent
anchors.margins
:
ScreenTools
.
defaultFontPixelWidth
*
2
rowSpacing
:
ScreenTools
.
defaultFontPixelWidth
*
1.5
columnSpacing
:
ScreenTools
.
defaultFontPixelHeight
*
2
QGCLabel
{
anchors.centerIn
:
parent
text
:
"
Memory cache changes require a restart to take effect.
"
font.pixelSize
:
ScreenTools
.
defaultFontPixelSize
*
0.85
text
:
"
Max Cache Disk Size (MB):
"
}
QGCTextField
{
id
:
maxCacheSize
maximumLength
:
6
inputMethodHints
:
Qt
.
ImhDigitsOnly
validator
:
IntValidator
{
bottom
:
1
;
top
:
262144
;}
}
QGCLabel
{
text
:
"
Max Cache Memory Size (MB):
"
}
QGCTextField
{
id
:
maxCacheMemSize
maximumLength
:
4
inputMethodHints
:
Qt
.
ImhDigitsOnly
validator
:
IntValidator
{
bottom
:
1
;
top
:
4096
;}
}
Item
{
Layout.columnSpan
:
2
Layout.fillWidth
:
true
implicitHeight
:
ScreenTools
.
defaultFontPixelHeight
*
1.5
QGCLabel
{
anchors.centerIn
:
parent
text
:
"
Memory cache changes require a restart to take effect.
"
font.pixelSize
:
ScreenTools
.
defaultFontPixelSize
*
0.85
}
}
Rectangle
{
Layout.columnSpan
:
2
Layout.fillWidth
:
true
implicitHeight
:
1
color
:
__qgcPal
.
text
}
}
Rectangle
{
Layout.columnSpan
:
2
Layout.fillWidth
:
true
implicitHeight
:
1
color
:
__qgcPal
.
text
}
QGCLabel
{
text
:
"
MapBox Access Token
"
}
QGCTextField
{
id
:
mapBoxToken
Layout.fillWidth
:
true
maximumLength
:
256
implicitWidth
:
ScreenTools
.
defaultFontPixelWidth
*
30
}
Item
{
Layout.columnSpan
:
2
Layout.fillWidth
:
true
implicitHeight
:
ScreenTools
.
defaultFontPixelHeight
*
1.5
QGCLabel
{
anchors.centerIn
:
parent
text
:
"
With an access token, you can use MapBox Maps.
"
font.pixelSize
:
ScreenTools
.
defaultFontPixelSize
*
0.85
text
:
"
MapBox Access Token
"
}
QGCTextField
{
id
:
mapBoxToken
Layout.fillWidth
:
true
maximumLength
:
256
implicitWidth
:
ScreenTools
.
defaultFontPixelWidth
*
30
}
Item
{
Layout.columnSpan
:
2
Layout.fillWidth
:
true
implicitHeight
:
ScreenTools
.
defaultFontPixelHeight
*
1.5
QGCLabel
{
anchors.centerIn
:
parent
text
:
"
With an access token, you can use MapBox Maps.
"
font.pixelSize
:
ScreenTools
.
defaultFontPixelSize
*
0.85
}
}
}
}
}
Row
{
anchors.horizontalCenter
:
parent
.
horizontalCenter
spacing
:
ScreenTools
.
defaultFontPixelWidth
QGCButton
{
text
:
"
Save
"
width
:
ScreenTools
.
defaultFontPixelWidth
*
18
onClicked
:
{
QGroundControl
.
mapEngineManager
.
mapboxToken
=
mapBoxToken
.
text
QGroundControl
.
mapEngineManager
.
maxDiskCache
=
parseInt
(
maxCache
Size
.
text
)
QGroundControl
.
mapEngineManager
.
maxMemCache
=
parseInt
(
maxCacheMemSize
.
text
)
showList
()
Row
{
anchors.horizontalCenter
:
parent
.
horizontalCenter
spacing
:
ScreenTools
.
defaultFontPixelWidth
QGCButton
{
text
:
"
Save
"
width
:
ScreenTools
.
defaultFontPixelWidth
*
18
onClicked
:
{
QGroundControl
.
mapEngineManager
.
mapboxToken
=
mapBoxToken
.
text
QGroundControl
.
mapEngineManager
.
maxDiskCache
=
parseInt
(
maxCacheSize
.
text
)
QGroundControl
.
mapEngineManager
.
maxMemCache
=
parseInt
(
maxCacheMem
Size
.
text
)
showList
(
)
}
}
}
QGCButton
{
text
:
"
Cancel
"
width
:
ScreenTools
.
defaultFontPixelWidth
*
18
onClicked
:
{
showList
()
QGCButton
{
text
:
"
Cancel
"
width
:
ScreenTools
.
defaultFontPixelWidth
*
18
onClicked
:
{
showList
()
}
}
}
}
...
...
src/QtLocationPlugin/QMLControl/QGCMapEngineManager.cc
View file @
03683ca1
...
...
@@ -26,9 +26,10 @@
#include "QGCMapEngineManager.h"
#include "QGCApplication.h"
#include <QSettings>
#include "QGCMapTileSet.h"
#include "QGCMapUrlEngine.h"
#include <QSettings>
#include <QStorageInfo>
#include <stdio.h>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment