Focus weather city input on return
This commit is contained in:
@@ -37,6 +37,7 @@ Item {
|
|||||||
|
|
||||||
signal moveRequested(int dx, int dy)
|
signal moveRequested(int dx, int dy)
|
||||||
signal activateRequested()
|
signal activateRequested()
|
||||||
|
signal returnRequested()
|
||||||
signal closeRequested()
|
signal closeRequested()
|
||||||
signal deleteRequested()
|
signal deleteRequested()
|
||||||
signal tabRequested(int direction)
|
signal tabRequested(int direction)
|
||||||
@@ -67,7 +68,11 @@ Item {
|
|||||||
if (event.key === Qt.Key_Left || event.text === "h") {
|
if (event.key === Qt.Key_Left || event.text === "h") {
|
||||||
moveRequested(-1, 0); event.accepted = true; return
|
moveRequested(-1, 0); event.accepted = true; return
|
||||||
}
|
}
|
||||||
if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter || event.key === Qt.Key_Space) {
|
if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) {
|
||||||
|
returnRequested()
|
||||||
|
activateRequested(); event.accepted = true; return
|
||||||
|
}
|
||||||
|
if (event.key === Qt.Key_Space) {
|
||||||
activateRequested(); event.accepted = true; return
|
activateRequested(); event.accepted = true; return
|
||||||
}
|
}
|
||||||
if (event.text === "x" || event.text === "X") {
|
if (event.text === "x" || event.text === "X") {
|
||||||
|
|||||||
@@ -450,6 +450,7 @@ Panel {
|
|||||||
id: keyCatcher
|
id: keyCatcher
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
blocked: root.editingLocation
|
blocked: root.editingLocation
|
||||||
|
onReturnRequested: root.startEditingLocation()
|
||||||
onCloseRequested: root.close()
|
onCloseRequested: root.close()
|
||||||
onTabRequested: function(direction) { root.switchPanel(direction) }
|
onTabRequested: function(direction) { root.switchPanel(direction) }
|
||||||
|
|
||||||
|
|||||||
@@ -118,6 +118,10 @@ assert(
|
|||||||
fs.readFileSync(root + '/shell/plugins/panels/weather/Panel.qml', 'utf8').includes('text: root.label || "—"'),
|
fs.readFileSync(root + '/shell/plugins/panels/weather/Panel.qml', 'utf8').includes('text: root.label || "—"'),
|
||||||
'weather hero and bar use the same resolved icon'
|
'weather hero and bar use the same resolved icon'
|
||||||
)
|
)
|
||||||
|
assert(
|
||||||
|
fs.readFileSync(root + '/shell/plugins/panels/weather/Panel.qml', 'utf8').includes('onReturnRequested: root.startEditingLocation()'),
|
||||||
|
'weather focuses city input when Return is pressed'
|
||||||
|
)
|
||||||
assert(!weather.weatherResponseCompletesSave(true, 'wttr'), 'weather keeps the spinner through a non-authoritative pinned-location response')
|
assert(!weather.weatherResponseCompletesSave(true, 'wttr'), 'weather keeps the spinner through a non-authoritative pinned-location response')
|
||||||
assert(weather.weatherResponseCompletesSave(true, 'open-meteo'), 'weather completes a pinned-location save with Open-Meteo data')
|
assert(weather.weatherResponseCompletesSave(true, 'open-meteo'), 'weather completes a pinned-location save with Open-Meteo data')
|
||||||
assert(weather.weatherResponseCompletesSave(false, 'wttr'), 'weather completes a name-only location save with wttr data')
|
assert(weather.weatherResponseCompletesSave(false, 'wttr'), 'weather completes a name-only location save with wttr data')
|
||||||
|
|||||||
Reference in New Issue
Block a user