11 import QtMultimediaKit 1.1
12 import com.nokia.meego 1.0
13 import org.kde.edu.marble 0.11
21 tools: ToolBarLayout {
23 iconSource:
main.
icon(
"actions/go-home", 48 );
33 contentHeight: pageGrid.height
37 width: parent.width - 20
44 property int rightRowWidth:
main.
inPortrait ? width : width - leftRowWidth - spacing
48 width: pageGrid.leftRowWidth
54 width: pageGrid.rightRowWidth
55 height: onlineHelp.height + onlineSwitch.height
60 checked: !settings.workOffline
61 onCheckedChanged: settings.workOffline = !checked
66 anchors.left: onlineSwitch.right
67 anchors.right: parent.right
69 anchors.verticalCenter: onlineSwitch.verticalCenter
75 anchors.top: onlineSwitch.bottom
77 anchors.left: onlineSwitch.left
78 anchors.right: parent.right
80 property string activatedText:
"Map data is downloaded as needed. Search and route calculation use online services."
81 property string deactivatedText:
"Only data available offline is used to display maps, search and calculate routes."
84 text: onlineSwitch.checked ? activatedText : deactivatedText
87 verticalAlignment: Text.AlignVCenter
92 width: pageGrid.leftRowWidth
97 id: screensaverSettings
98 width: pageGrid.rightRowWidth
99 height: screensaverHelp.height + Math.max(screensaverSwitch.height, screensaverLabel.height)
102 id: screensaverSwitch
104 checked: settings.inhibitScreensaver
105 onCheckedChanged: settings.inhibitScreensaver = checked
110 anchors.left: screensaverSwitch.right
111 anchors.leftMargin: 5
112 anchors.right: parent.right
113 anchors.verticalCenter: screensaverSwitch.verticalCenter
114 text:
"Navigation disables screensaver"
119 anchors.top: screensaverSwitch.bottom
120 anchors.left: screensaverSwitch.left
121 anchors.right: parent.right
124 property string activatedText:
"The automatic start of the screensaver is inhibited in the Tracking activity. You can still enable it manually."
125 property string deactivatedText:
"The screensaver is starting according to your device settings."
128 text: screensaverSwitch.checked ? activatedText : deactivatedText
134 width: pageGrid.leftRowWidth
135 text:
"Voice Navigation"
140 width: pageGrid.rightRowWidth
141 height: speakersSwitch.height + speakersItem.height
146 checkedButton: settings.voiceNavigationMuted ? b1 : ( settings.voiceNavigationSoundEnabled ? b2 : b3 )
153 settings.voiceNavigationMuted =
true
154 speakerHelp.text =
"Turn instructions are not announced by sound/voice."
164 settings.voiceNavigationMuted =
false
165 settings.voiceNavigationSoundEnabled =
true
166 speakerHelp.text =
"A sound is played when approaching turn points during Navigation."
176 settings.voiceNavigationMuted =
false
177 settings.voiceNavigationSoundEnabled =
false
178 speakerHelp.text =
"Turn instructions are spoken when approaching them."
181 property SelectionDialog dialog
183 if (dialog === null) {
184 dialog = speakerComponent.createObject(b3)
193 titleText:
"Voice Navigation Speaker"
194 selectedIndex: speakers.indexOf(settings.voiceNavigationSpeaker)
196 model: SpeakersModel {
198 onCountChanged: speakerDialog.selectedIndex = speakers.indexOf(settings.voiceNavigationSpeaker)
199 onInstallationProgressed: {
200 progressBar.indeterminate =
false
201 progressBar.value = progress
203 onInstallationFinished: {
204 progressBar.visible =
false
205 settings.voiceNavigationSpeaker = speakers.path(speakersDialog.selectedIndex)
206 voiceNavigationPreviewButton.enabled =
true
211 if ( speakers.isLocal(selectedIndex) ) {
212 settings.voiceNavigationSpeaker = speakers.path(selectedIndex)
214 voiceNavigationPreviewButton.enabled =
false
215 progressBar.visible =
true
216 speakers.install(selectedIndex)
226 anchors.right: parent.right
227 anchors.left: parent.left
228 anchors.top: speakersSwitch.bottom
230 height: Math.max(speakerHelp.height, voiceNavigationPreviewButton.height)
234 visible: !progressBar.visible
235 anchors.left: parent.left
236 anchors.right: voiceNavigationPreviewButton.left
244 anchors.left: parent.left
245 anchors.right: voiceNavigationPreviewButton.left
252 id: voiceNavigationPreviewButton
253 anchors.right: parent.right
255 visible: !settings.voiceNavigationMuted
256 iconSource:
main.
icon(
"actions/media-playback-start", 48 );
262 id: voiceNavigationPreview
263 speaker: settings.voiceNavigationSpeaker
264 isSpeakerEnabled: !settings.voiceNavigationSoundEnabled
268 id: voiceNavigationPreviewPlayer
269 source:
"file://" + voiceNavigationPreview.preview
270 playing: voiceNavigationPreviewButton.checked
272 if ( status == Audio.EndOfMedia ) {
273 voiceNavigationPreviewButton.checked =
false
282 width: pageGrid.leftRowWidth
283 text:
"Street Map Theme"
287 width: pageGrid.rightRowWidth
288 height: themeSelectionButton.height + mapThemeLabel.height
291 id: themeSelectionButton
292 text: mapThemeModel.name(settings.streetMapTheme)
293 onClicked: themeDialog.open()
302 titleText:
"Street Map Theme"
303 selectedIndex: mapThemeModel.indexOf(settings.streetMapTheme)
313 color: index === themeDialog.selectedIndex ?
"lightsteelblue" :
"#00ffffff"
319 source:
"image://maptheme/" + mapThemeId
327 color: index === themeDialog.selectedIndex ?
"black" :
"white"
328 anchors.verticalCenter: parent.verticalCenter
335 themeDialog.selectedIndex = index
337 settings.streetMapTheme = mapThemeId
346 anchors.top: themeSelectionButton.bottom
347 width: pageGrid.rightRowWidth
349 text:
"Select the map to use in the Search, Routing, Navigation, Tracking and Friends activities."
355 width: pageGrid.leftRowWidth
356 text:
"Data Management"
360 width: pageGrid.rightRowWidth
361 height: manageThemeButton.height
364 id: manageThemeButton
365 width: pageGrid.rightRowWidth / 2 - 5
367 onClicked: pageStack.push(themePage)
375 id: manageOfflineDataButton
376 anchors.left: manageThemeButton.right
377 anchors.leftMargin: 5
378 anchors.right: parent.right
380 onClicked: pageStack.push(offlineDataPage)
388 id: manageCloudSyncButton
389 anchors.top: manageThemeButton.bottom
391 anchors.left: parent.left;
392 anchors.right: parent.right;
393 text:
"Manage Cloud Sync"
394 onClicked: pageStack.push(cloudSyncPage)
405 flickableItem: pageFlickable