Right-click a bar widget to open its settings
Four places in the entire shell could reach Settings. The bar, where a person looks first, was not one of them -- and Pill has routed right-click to a secondaryActivated signal all along, which nothing connected, so the gesture did nothing on every widget in the bar. Each widget now opens the page that owns its settings: the clock and the calendar reminder open Date & Time, weather opens Home, the vitals readout opens Appearance, the status glyphs open Network & Devices, the media readout opens Sound, and the privacy indicator opens Privacy & Security. Left-click behaviour is untouched. Two routing bugs found while picking those destinations, both of the same kind and both invisible from the code, since each page reads perfectly well on its own: weather routed to Appearance while every weather control lives on Home, so searching "temperature unit" opened a page without it. vitals routed to Appearance, but the refresh interval sat on Home while the toggles it governs sat on Appearance -- one concept split across two pages, which is exactly what the ownership rule forbids. The interval now sits beside the toggles and Home's stub card is gone. The jump contract guards the failure mode these share. openSettings() falls back to Home for an unknown page, sensibly and completely silently, so a typo or a later rename turns a right-click into "opens the wrong page" with nothing logged. It also fails a Pill-based bar widget that leaves right-click unconnected, since that is how the gesture came to be inert everywhere in the first place. A third instance of the routing bug is still open: followMouse and pointerSensitivity sit in the input group, which routes to Keyboard, while both render on Mouse. Fixing it is a two-line group change in PreferenceSchema.qml, which codex currently owns, so the contract that catches all three lands with that fix rather than red. Claude-Session: https://claude.ai/code/session_01BRvzt4H8XXLPVH5MyYdk9L
This commit is contained in:
@@ -15,6 +15,9 @@ Pill {
|
||||
horizontalPadding: 8
|
||||
onActivated: ShellState.openDateMenu("agenda")
|
||||
|
||||
// Right-click opens the settings that govern this widget. The same place the clock leads, since this is the calendar's own reminder.
|
||||
onSecondaryActivated: ShellState.openSettings("datetime")
|
||||
|
||||
ToolTip.visible: root.hovered && root.visible
|
||||
ToolTip.delay: 500
|
||||
ToolTip.text: CalendarAgenda.nextEvent?.summary ?? "Upcoming event"
|
||||
|
||||
Reference in New Issue
Block a user