Warning, /education/marble/src/apps/marble-maps/NavigationManager.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 Gábor Péterffy <peterffy95@gmail.com> 0004 // 0005 0006 0007 import QtQuick 2.3 0008 import QtQuick.Controls 1.3 0009 import QtQuick.Window 2.2 0010 0011 import org.kde.marble 0.20 0012 0013 Item { 0014 id: root 0015 property var marbleItem: null 0016 property var tts: null 0017 property alias snappedPositionMarkerScreenPosition: navigation.screenPosition 0018 property alias screenAccuracy: navigation.screenAccuracy 0019 property alias deviated: navigation.deviated 0020 property bool hasRoute: false 0021 property alias guidanceModeEnabled: navigation.guidanceModeEnabled 0022 0023 onVisibleChanged: { 0024 if (visible) { 0025 marbleItem.setZoomToMaximumLevel(); 0026 marbleItem.centerOnCurrentPosition(); 0027 } 0028 0029 navigation.guidanceModeEnabled = visible; 0030 } 0031 0032 Settings { 0033 id: settings 0034 Component.onDestruction: { 0035 settings.setValue("Navigation", "muted", muteButton.muted) 0036 } 0037 } 0038 0039 BorderImage { 0040 anchors.fill: infoBar 0041 anchors.margins: -14 0042 visible: infoBar.visible 0043 border { top: 14; left: 14; right: 14; bottom: 14 } 0044 source: "qrc:///border_shadow.png" 0045 } 0046 0047 NavigationInfoBar { 0048 id: infoBar 0049 anchors { 0050 top: parent.top 0051 left: parent.left 0052 right: parent.right 0053 } 0054 visible: root.hasRoute 0055 instructionIcon: navigation.nextInstructionImage.replace("qrc:/", "qrc:///"); 0056 distance: navigation.nextInstructionDistance; 0057 destinationDistance: navigation.destinationDistance 0058 } 0059 0060 CircularButton { 0061 id: muteButton 0062 visible: root.hasRoute 0063 0064 property bool muted: settings.value("Navigation", "muted") === "true" 0065 0066 anchors.right: infoBar.right 0067 anchors.rightMargin: Screen.pixelDensity * 3 0068 anchors.top: infoBar.bottom 0069 anchors.topMargin: Screen.pixelDensity * 5 0070 iconSource: muted ? "qrc:///material/volume-off.svg" : "qrc:///material/volume-on.svg" 0071 onClicked: muted = !muted 0072 } 0073 0074 Navigation { 0075 id: navigation 0076 marbleQuickItem: marbleItem 0077 0078 onVoiceNavigationAnnouncementChanged: { 0079 if (root.visible && root.hasRoute && !muteButton.muted) { 0080 textToSpeechClient.readText(voiceNavigationAnnouncement); 0081 } 0082 } 0083 } 0084 }