Warning, /education/marble/src/apps/marble-maps/DeveloperDialog.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2015 Dennis Nienhüser <nienhueser@kde.org>
0004 //
0005
0006 import QtQuick 2.3
0007 import QtQuick.Controls 2.0
0008 import QtQuick.Window 2.2
0009 import QtQuick.Layouts 1.1
0010 import QtQuick.Dialogs 1.0
0011
0012 import org.kde.marble 0.20
0013
0014 Item {
0015 id: root
0016 height: swipeView.height + Screen.pixelDensity * 4
0017
0018 SystemPalette {
0019 id: palette
0020 colorGroup: SystemPalette.Active
0021 }
0022
0023 Settings {
0024 id: settings
0025
0026 Component.onDestruction: {
0027 settings.setValue("MarbleMaps", "mapThemeId", marbleMaps.mapThemeId)
0028 settings.setValue("localization", "translationsDisabled", ignoreTranslations.checked ? "true" : "false")
0029 settings.setValue("localization", "translationFile", localizationItem.translationFile)
0030 settings.setValue("Developer", "inertialGlobeRotation", marbleMaps.inertialGlobeRotation)
0031 settings.setValue("Developer", "positionProvider", marbleMaps.currentPositionProvider)
0032 settings.setValue("Developer", "runtimeTrace", runtimeTrace.checked ? "true" : "false")
0033 settings.setValue("Developer", "debugTags", debugTags.checked ? "true" : "false")
0034 settings.setValue("Developer", "debugPlacemarks", debugPlacemarks.checked ? "true" : "false")
0035 settings.setValue("Developer", "debugPolygons", debugPolygons.checked ? "true" : "false")
0036 settings.setValue("Developer", "debugBatches", debugBatches.checked ? "true" : "false")
0037 settings.setValue("Developer", "debugOutput", debugOutputEnabled ? "true" : "false")
0038 }
0039 }
0040
0041 Rectangle {
0042 anchors.fill: parent
0043 color: palette.base
0044 }
0045
0046
0047 SwipeView {
0048 id: swipeView
0049 currentIndex: pageIndicator.currentIndex
0050 anchors.left: parent.left
0051 anchors.right: parent.right
0052 height: infoItem.height
0053
0054 Item {
0055 id: tilesItem
0056 height: childrenRect.height
0057
0058 Item {
0059 height: childrenRect.height
0060 anchors.left: parent.left
0061 anchors.right: parent.right
0062 anchors.top: parent.top
0063 anchors.margins: Screen.pixelDensity * 2
0064
0065 Column {
0066 spacing: Screen.pixelDensity * 1
0067
0068 Text {
0069 text: "Tiles"
0070 }
0071 Grid {
0072 columns: 2
0073 flow: Grid.TopToBottom
0074 rowSpacing: Screen.pixelDensity * 0.5
0075 columnSpacing: Screen.pixelDensity * 2
0076
0077 CheckBox {
0078 id: mapTheme
0079 text: "Development Tiles"
0080 checked: settings.value("MarbleMaps", "mapThemeId") === "earth/vectorosm-dev/vectorosm-dev.dgml"
0081 onCheckedChanged: marbleMaps.mapThemeId = checked ? "earth/vectorosm-dev/vectorosm-dev.dgml" : "earth/vectorosm/vectorosm.dgml"
0082 }
0083
0084 Button {
0085 text: "Reload Tiles"
0086 onClicked: marbleMaps.reloadTiles()
0087 }
0088 }
0089 }
0090 }
0091 }
0092
0093 Item {
0094 id: toolsItem
0095 height: childrenRect.height
0096
0097 Item {
0098 height: childrenRect.height
0099 anchors.left: parent.left
0100 anchors.right: parent.right
0101 anchors.top: parent.top
0102 anchors.margins: Screen.pixelDensity * 2
0103
0104 Column {
0105 spacing: Screen.pixelDensity * 1
0106
0107 Text {
0108 text: "Tools"
0109 }
0110 Grid {
0111 columns: 2
0112 flow: Grid.TopToBottom
0113 rowSpacing: Screen.pixelDensity * 0.5
0114 columnSpacing: Screen.pixelDensity * 2
0115
0116 CheckBox {
0117 id: debugTags
0118 text: "OSM Tags"
0119 checked: settings.value("Developer", "debugTags") === "true"
0120 onCheckedChanged: app.showOsmTags = checked
0121 }
0122
0123 CheckBox {
0124 text: "Shell Output"
0125 checked: settings.value("Developer", "debugOutput") === "true"
0126 onCheckedChanged: settings.debugOutputEnabled = checked
0127 }
0128
0129 CheckBox {
0130 text: "Inertial Rotation"
0131 checked: settings.value("Developer", "inertialGlobeRotation") === "true"
0132 onCheckedChanged: marbleMaps.inertialGlobeRotation = checked
0133 }
0134
0135 CheckBox {
0136 text: "GPS Simulation"
0137 checked: settings.value("Developer", "positionProvider") === "RouteSimulationPositionProviderPlugin"
0138 onCheckedChanged: marbleMaps.currentPositionProvider = checked ? "RouteSimulationPositionProviderPlugin" : "QtPositioning"
0139 }
0140 }
0141 }
0142 }
0143 }
0144
0145 Item {
0146 id: infoItem
0147 height: childrenRect.height
0148
0149 Item {
0150 anchors.left: parent.left
0151 anchors.right: parent.right
0152 anchors.top: parent.top
0153 height: childrenRect.height
0154 anchors.margins: Screen.pixelDensity * 2
0155
0156 Column {
0157 spacing: Screen.pixelDensity * 1
0158
0159 Text {
0160 text: "Debug Rendering"
0161 }
0162
0163 Grid {
0164 columns: 2
0165 flow: Grid.TopToBottom
0166 rowSpacing: Screen.pixelDensity * 0.5
0167 columnSpacing: Screen.pixelDensity * 2
0168
0169 CheckBox {
0170 id: runtimeTrace
0171 text: "Performance"
0172 checked: settings.value("Developer", "runtimeTrace") === "true"
0173 onCheckedChanged: marbleMaps.setShowRuntimeTrace(checked)
0174 }
0175
0176 CheckBox {
0177 id: debugBatches
0178 text: "Batches"
0179 checked: settings.value("Developer", "debugBatches") === "true"
0180 onCheckedChanged: marbleMaps.setShowDebugBatches(checked)
0181 }
0182
0183 CheckBox {
0184 id: debugPolygons
0185 text: "Polygons"
0186 checked: settings.value("Developer", "debugPolygons") === "true"
0187 onCheckedChanged: marbleMaps.setShowDebugPolygons(checked)
0188 }
0189
0190 CheckBox {
0191 id: debugPlacemarks
0192 text: "Placemarks"
0193 checked: settings.value("Developer", "debugPlacemarks") === "true"
0194 onCheckedChanged: marbleMaps.setShowDebugPlacemarks(checked)
0195 }
0196 }
0197 }
0198 }
0199 }
0200
0201 Item {
0202 id: localizationItem
0203 height: childrenRect.height
0204
0205 property string translationFile: settings.value("localization", "translationFile", "")
0206 property string displayFile: translationFile.length > 0 ? translationFile.replace(/^.*[\\\/]/, '') : "none"
0207
0208 Item {
0209 height: childrenRect.height
0210 anchors.left: parent.left
0211 anchors.right: parent.right
0212 anchors.top: parent.top
0213 anchors.margins: Screen.pixelDensity * 2
0214
0215 Column {
0216 spacing: Screen.pixelDensity * 1
0217
0218 Text {
0219 text: "Translations"
0220 }
0221
0222 Grid {
0223 columns: 2
0224 flow: Grid.TopToBottom
0225 rowSpacing: Screen.pixelDensity * 0.5
0226 columnSpacing: Screen.pixelDensity * 3
0227
0228
0229 Text {
0230 text: "Custom file: " + localizationItem.displayFile
0231 }
0232
0233 Row {
0234 spacing: Screen.pixelDensity * 2
0235
0236 Button {
0237 text: "Change"
0238 onClicked: fileDialog.open()
0239 }
0240
0241 Button {
0242 text: "Remove"
0243 onClicked: localizationItem.translationFile = ""
0244 }
0245 }
0246
0247 CheckBox {
0248 id: ignoreTranslations
0249 text: "Disable all translations"
0250 checked: settings.value("localization", "translationsDisabled", "false") === "true"
0251 }
0252
0253 Text {
0254 text: "<i>Changes require a restart</i>"
0255 }
0256
0257 }
0258 }
0259 }
0260 }
0261 }
0262
0263 PageIndicator {
0264 id: pageIndicator
0265 interactive: true
0266 count: swipeView.count
0267 currentIndex: swipeView.currentIndex
0268
0269 anchors.bottom: parent.bottom
0270 anchors.horizontalCenter: parent.horizontalCenter
0271 }
0272
0273 FileDialog {
0274 id: fileDialog
0275 title: "Choose a translation file"
0276 folder: shortcuts.home
0277 sidebarVisible: false
0278 nameFilters: [ "Translation files (*.qm)" ]
0279 onAccepted: localizationItem.translationFile = fileUrl
0280 }
0281 }