Redesign weather popup and auto-refresh forecast
Replace the inline detail flyout with a two-column hero: location chip
and large temperature on the left, big condition icon on the right.
Stats (Feels / Wind / Humidity) move below as caps-labeled columns,
separated from the forecast by a thin divider. Forecast cells now lead
with the day icon and put the day name above hi/lo temps.
Drop the Refresh and wttr.in pill buttons; a Timer refreshes the
forecast every refreshMinutes (default 15). The interval is exposed
through the Settings panel — Bar -> Weather has a gear that opens a
SpinBox-backed form, persisted as "settings": { "refreshMinutes": N }
in shell.json.
This commit is contained in:
@@ -2497,6 +2497,7 @@ Item {
|
||||
switch (meta.settingsForm) {
|
||||
case "spacerSettings": return spacerSettingsComponent
|
||||
case "calendarSettings": return calendarSettingsComponent
|
||||
case "weatherSettings": return weatherSettingsComponent
|
||||
}
|
||||
}
|
||||
var manifest = root.pluginRegistry ? root.pluginRegistry.installedPlugins[id] : null
|
||||
@@ -2644,6 +2645,33 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: weatherSettingsComponent
|
||||
|
||||
Column {
|
||||
id: weatherForm
|
||||
signal fieldChanged(string key, var value)
|
||||
property var entry: ({})
|
||||
|
||||
spacing: 8
|
||||
width: parent ? parent.width : 0
|
||||
|
||||
Text {
|
||||
text: "Auto-refresh interval (minutes)"
|
||||
color: Qt.darker(root.foreground, 1.4)
|
||||
font.family: root.fontFamily
|
||||
font.pixelSize: 11
|
||||
}
|
||||
|
||||
SpinBox {
|
||||
from: 1
|
||||
to: 1440
|
||||
value: weatherForm.entry.refreshMinutes !== undefined ? weatherForm.entry.refreshMinutes : 15
|
||||
onValueModified: weatherForm.fieldChanged("refreshMinutes", value)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ===================== plugins category ==================================
|
||||
component PluginManager: Column {
|
||||
id: pm
|
||||
|
||||
Reference in New Issue
Block a user