shell: mission control draws the cards it was already building
The panel, its mask and the loader all moved to overviewOpen || missionControlOpen when mission control landed; the Column holding them did not. So the second-stage pill swipe raised a panel whose entire contents were invisible — WindowOverview instantiated, laid out, and never shown. Search stays overview-only: mission control takes no keyboard focus on purpose, so a field there is one you can see and cannot use. Outside-tap now clears both states, because with no focus grab that tap is mission control's only way back.
This commit is contained in:
parent
1a3c24fadb
commit
44a54330c2
1 changed files with 22 additions and 3 deletions
|
|
@ -136,17 +136,30 @@ Scope {
|
|||
// While the OSK is up this is the ONLY outside-tap dismiss — the
|
||||
// focus-grab route is deliberately disabled then (see header).
|
||||
MouseArea {
|
||||
enabled: GlobalStates.overviewOpen && overviewLoader.active
|
||||
enabled: (GlobalStates.overviewOpen || GlobalStates.missionControlOpen)
|
||||
&& overviewLoader.active
|
||||
x: columnLayout.x + overviewLoader.x
|
||||
y: columnLayout.y + overviewLoader.y
|
||||
width: overviewLoader.width
|
||||
height: overviewLoader.height
|
||||
onClicked: GlobalStates.overviewOpen = false
|
||||
// Closes whichever one is up. Mission control has no focus grab to
|
||||
// fall back on — it takes no keyboard focus — so this is its only
|
||||
// outside-tap dismissal, and leaving it out stranded the surface
|
||||
// with no way back but the rail.
|
||||
onClicked: {
|
||||
GlobalStates.overviewOpen = false;
|
||||
GlobalStates.missionControlOpen = false;
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
id: columnLayout
|
||||
visible: GlobalStates.overviewOpen
|
||||
// Both ways in. The panel, the mask and the loader were all moved
|
||||
// to `overviewOpen || missionControlOpen` when mission control
|
||||
// landed and this was left behind, so the second-stage pill swipe
|
||||
// raised a panel whose entire contents were invisible — the cards
|
||||
// were built, instantiated, and never shown.
|
||||
visible: GlobalStates.overviewOpen || GlobalStates.missionControlOpen
|
||||
anchors {
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
top: parent.top
|
||||
|
|
@ -161,6 +174,12 @@ Scope {
|
|||
|
||||
SearchWidget {
|
||||
id: searchWidget
|
||||
// Search belongs to the overview, not to mission control:
|
||||
// "switch to what is running" has nothing to type into, and
|
||||
// the panel deliberately takes no keyboard focus in that mode
|
||||
// (see `keyboardFocus` above), so a field here would be one
|
||||
// you could see and not use.
|
||||
visible: GlobalStates.overviewOpen
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
Synchronizer on searchingText {
|
||||
property alias source: panelWindow.searchingText
|
||||
|
|
|
|||
Loading…
Reference in a new issue