217
186
running: xmlSearchModel.status === XmlListModel.Loading
222
anchors { top: searchField.bottom; topMargin: units.gu(0); bottom: parent.bottom; left: parent.left; right: parent.right; leftMargin: units.gu(-2); rightMargin: units.gu(-2) }
223
sourceComponent: xmlSearchModel.status !== XmlListModel.Loading && sortedSearchModel.count === 0 ? historyListViewComponent : resultsListViewComponent
227
id: resultsListViewComponent
232
model: sortedSearchModel
235
height: resultsDelegateLayout.height + divider.height
236
trailingActions: ListItemActions {
241
if (navApp.settings.saveHistory) {
242
UnavDB.saveToSearchHistory(model.name, model.lat, model.lng)
244
mainPageStack.clear();
245
mainPageStack.center_onpos = 2;
246
mainPageStack.routeState = 'yes'
247
mainPageStack.executeJavaScript("calc2coord(" + model.lat + "," + model.lng + ");")
253
mainPageStack.push(Qt.resolvedUrl("Share.qml"), {"lat": model.lat, "lon": model.lng})
257
iconName: "non-starred"
259
container.favorited(model.lat, model.lng, model.name)
266
if (navApp.settings.saveHistory) {
267
UnavDB.saveToSearchHistory(model.name, model.lat, model.lng);
193
anchors { fill: parent; topMargin: units.gu(2) }
194
model: xmlSearchModel.status !== XmlListModel.Loading && sortedSearchModel.count === 0 ? historyModel : sortedSearchModel
195
delegate: xmlSearchModel.status !== XmlListModel.Loading && sortedSearchModel.count === 0 ? historyDelegateComponent : searchDelegateComponent
197
section.property: "title"
198
section.criteria: ViewSection.FullString
199
section.delegate: ListItemHeader {
211
anchors { top: parent.top; left: parent.left; right: parent.right; margins: units.gu(2) }
213
inputMethodHints: Qt.ImhNoPredictiveText
214
placeholderText: i18n.tr("Search location")
218
statusLabel.visible = true
219
statusLabel.text = i18n.tr("Searching…");
220
xmlSearchModel.searchString = text;
221
xmlSearchModel.search();
223
searchField.text = "";
229
xmlSearchModel.clear()
230
sortedSearchModel.clear()
237
id: searchDelegateComponent
239
height: resultsDelegateLayout.height + divider.height
240
trailingActions: ListItemActions {
245
if (navApp.settings.saveHistory) {
246
UnavDB.saveToSearchHistory(model.name, model.lat, model.lng)
248
mainPageStack.clear();
249
mainPageStack.center_onpos = 2;
250
mainPageStack.routeState = 'yes'
251
mainPageStack.executeJavaScript("calc2coord(" + model.lat + "," + model.lng + ");")
257
mainPageStack.push(Qt.resolvedUrl("Share.qml"), {"lat": model.lat, "lon": model.lng})
261
iconName: "non-starred"
263
container.favorited(model.lat, model.lng, model.name)
270
if (navApp.settings.saveHistory) {
271
UnavDB.saveToSearchHistory(model.name, model.lat, model.lng);
273
mainPageStack.clear();
274
mainPageStack.executeJavaScript("ui.markers_POI_set([{title: \"" + model.name + "\", lat: " + model.lat + ", lng: " + model.lng + "}]);");
278
id: resultsDelegateLayout
280
title.text: model.name
281
title.maximumLineCount: 2
282
title.wrapMode: Text.WordWrap
283
subtitle.text: QmlJs.formatDistance(model.distance, navApp.settings.unit)
284
subtitle.visible: mainPageStack.currentLat !== "null" && mainPageStack.currentLng !== "null"
288
height: units.gu(2.5)
290
visible: model.icon !== ""
292
SlotsLayout.position: SlotsLayout.Last
299
id: historyDelegateComponent
301
height: historyDelegateLayout.height + divider.height
302
leadingActions: ListItemActions {
307
switch (model.title) {
308
case i18n.tr("Search history"):
309
UnavDB.removeHistorySearch(model.name);
311
case i18n.tr("Nearby history"):
312
UnavDB.removeHistoryNearby(model.en_name);
314
case i18n.tr("Favorite history"):
315
UnavDB.removeHistoryFavorite(model.name);
317
historyModel.initialize();
323
trailingActions: ListItemActions {
327
visible: model.title !== i18n.tr("Nearby history")
329
mainPageStack.clear();
330
mainPageStack.center_onpos = 2;
331
mainPageStack.routeState = 'yes';
332
mainPageStack.executeJavaScript("calc2coord("+ model.lat + "," + model.lng + ");");
337
visible: model.title !== i18n.tr("Nearby history")
339
mainPageStack.push(Qt.resolvedUrl("Share.qml"), {"lat": model.lat, "lon": model.lng});
346
id: historyDelegateLayout
348
title.text: model.name
349
title.wrapMode: Text.WordWrap
350
title.maximumLineCount: 2
351
subtitle.text: QmlJs.formatDistance(QmlJs.calcPoiDistance(mainPageStack.currentLat, mainPageStack.currentLng, model.lat, model.lng, 10), navApp.settings.unit)
352
subtitle.visible: model.title !== i18n.tr("Nearby history") && mainPageStack.currentLat !== "null" && mainPageStack.currentLng !== "null"
355
id: resultTypeIconLoader
356
SlotsLayout.position: SlotsLayout.First
357
SlotsLayout.overrideVerticalPositioning: true
358
anchors.verticalCenter: parent.verticalCenter
359
sourceComponent: model.title !== i18n.tr("Nearby history") ? resultTypeIconName : resultTypeIconSource
363
id: resultTypeIconName
366
height: units.gu(2.5)
367
color: UbuntuColors.jet
369
if (model.title === i18n.tr("Search history"))
371
else if (model.title === i18n.tr("Favorite history"))
378
id: resultTypeIconSource
381
height: units.gu(2.5)
382
source: Qt.resolvedUrl("../nav/img/poi/" + model.en_name + ".svg")
388
height: units.gu(2.5)
390
visible: model.title === i18n.tr("Nearby history")
391
SlotsLayout.position: SlotsLayout.Last
396
if (model.title === i18n.tr("Nearby history")) {
397
mainPageStack.push(Qt.resolvedUrl("PoiListPage.qml"),
399
lat: mainPageStack.currentLat,
400
lng: mainPageStack.currentLng,
402
clause: model.clause,
269
406
mainPageStack.clear();
270
mainPageStack.executeJavaScript("ui.markers_POI_set([{title: \"" + model.name + "\", lat: " + model.lat + ", lng: " + model.lng + "}]);");
274
id: resultsDelegateLayout
276
title.text: model.name
277
title.maximumLineCount: 2
278
title.wrapMode: Text.WordWrap
279
subtitle.text: QmlJs.formatDistance(model.distance, navApp.settings.unit)
280
subtitle.visible: mainPageStack.currentLat !== "null" && mainPageStack.currentLng !== "null"
284
height: units.gu(2.5)
286
visible: model.icon !== ""
288
SlotsLayout.position: SlotsLayout.Last
297
id: historyListViewComponent
305
section.property: "title"
306
section.criteria: ViewSection.FullString
307
section.delegate: ListItemHeader {
312
height: historyDelegateLayout.height + divider.height
313
leadingActions: ListItemActions {
318
switch (model.title) {
319
case i18n.tr("Search history"):
320
UnavDB.removeHistorySearch(model.name);
322
case i18n.tr("Nearby history"):
323
UnavDB.removeHistoryNearby(model.en_name);
325
case i18n.tr("Favorite history"):
326
UnavDB.removeHistoryFavorite(model.name);
328
historyModel.initialize();
334
trailingActions: ListItemActions {
338
visible: model.title !== i18n.tr("Nearby history")
340
mainPageStack.clear();
341
mainPageStack.center_onpos = 2;
342
mainPageStack.routeState = 'yes';
343
mainPageStack.executeJavaScript("calc2coord("+ model.lat + "," + model.lng + ");");
348
visible: model.title !== i18n.tr("Nearby history")
350
mainPageStack.push(Qt.resolvedUrl("Share.qml"), {"lat": model.lat, "lon": model.lng});
357
id: historyDelegateLayout
359
title.text: model.name
360
title.wrapMode: Text.WordWrap
361
title.maximumLineCount: 2
362
subtitle.text: QmlJs.formatDistance(QmlJs.calcPoiDistance(mainPageStack.currentLat, mainPageStack.currentLng, model.lat, model.lng, 10), navApp.settings.unit)
363
subtitle.visible: model.title !== i18n.tr("Nearby history") && mainPageStack.currentLat !== "null" && mainPageStack.currentLng !== "null"
366
id: resultTypeIconLoader
367
SlotsLayout.position: SlotsLayout.First
368
SlotsLayout.overrideVerticalPositioning: true
369
anchors.verticalCenter: parent.verticalCenter
370
sourceComponent: model.title !== i18n.tr("Nearby history") ? resultTypeIconName : resultTypeIconSource
374
id: resultTypeIconName
377
height: units.gu(2.5)
378
color: UbuntuColors.jet
380
if (model.title === i18n.tr("Search history"))
382
else if (model.title === i18n.tr("Favorite history"))
389
id: resultTypeIconSource
392
height: units.gu(2.5)
393
source: Qt.resolvedUrl("../nav/img/poi/" + model.en_name + ".svg")
399
height: units.gu(2.5)
401
visible: model.title === i18n.tr("Nearby history")
402
SlotsLayout.position: SlotsLayout.Last
407
if (model.title === i18n.tr("Nearby history")) {
408
mainPageStack.push(Qt.resolvedUrl("PoiListPage.qml"),
410
lat: mainPageStack.currentLat,
411
lng: mainPageStack.currentLng,
413
clause: model.clause,
417
mainPageStack.clear();
418
mainPageStack.executeJavaScript("ui.markers_POI_set([{ title: \"" +
419
model.name + "\", lat: " +
420
model.lat + ", lng: " +
407
mainPageStack.executeJavaScript("ui.markers_POI_set([{ title: \"" +
408
model.name + "\", lat: " +
409
model.lat + ", lng: " +