fix critici: PullDownMenu dentro lista/flickable (figli di Page non funzionano su questo kit); via setTimeout (non esiste in QML JS Qt 5.6) — ripara sea state e ricerca online

This commit is contained in:
2026-09-02 18:27:48 +02:00
parent d2f738ba7d
commit e965b78d56
2 changed files with 44 additions and 57 deletions
+7 -18
View File
@@ -6,13 +6,6 @@ import "../js/comuni.js" as Comuni
Page {
id: page
PullDownMenu {
MenuItem {
text: qsTr("Settings")
onClicked: page.openSettings()
}
}
// Campi di ricerca FUORI dall'header della lista: gli id dichiarati nel
// componente header hanno scope chiuso e le funzioni del Page non li
// vedono (ReferenceError "filter is not defined").
@@ -42,6 +35,13 @@ Page {
anchors.bottom: parent.bottom
model: ListModel { id: resultModel }
PullDownMenu {
MenuItem {
text: qsTr("Settings")
onClicked: page.openSettings()
}
}
footer: Item {
width: parent.width
height: resultModel.count === 0 ? Theme.itemSizeSmall * 1.6 : 0
@@ -208,21 +208,10 @@ Page {
// e supporta il filtro osm_tag=place:city per le città vere.
console.log("[tide] geoXhr:", query)
var xhr = new XMLHttpRequest()
var done = false
var to = setTimeout(function() {
if (!done) {
done = true
console.log("[tide] geoXhr timeout")
cb(null)
}
}, 12000)
xhr.open("GET", "https://photon.komoot.io/api/?limit=1&osm_tag=place:city&q="
+ encodeURIComponent(query), true)
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (done) return
done = true
clearTimeout(to)
console.log("[tide] geoXhr status:", xhr.status)
if (xhr.status === 200) {
try {