Fix focus issues after dismissal of consecutive dialogs (like Add PC -> Add PC error)
This commit is contained in:
parent
bc38c302ed
commit
0aa87aacc6
3 changed files with 14 additions and 16 deletions
|
|
@ -2,27 +2,16 @@ import QtQuick 2.0
|
|||
import QtQuick.Controls 2.2
|
||||
|
||||
Dialog {
|
||||
property Item originalFocusItem
|
||||
|
||||
parent: overlay
|
||||
|
||||
x: Math.round((parent.width - width) / 2)
|
||||
y: Math.round((parent.height - height) / 2)
|
||||
|
||||
onAboutToShow: {
|
||||
originalFocusItem = window.activeFocusItem
|
||||
}
|
||||
|
||||
onOpened: {
|
||||
// Force focus on the dialog to ensure keyboard navigation works
|
||||
forceActiveFocus()
|
||||
}
|
||||
|
||||
onClosed: {
|
||||
onAboutToHide: {
|
||||
// We must force focus back to the last item for platforms without
|
||||
// support for more than one active window like Steam Link. If
|
||||
// we don't, gamepad and keyboard navigation will break after a
|
||||
// dialog appears.
|
||||
originalFocusItem.forceActiveFocus()
|
||||
stackView.forceActiveFocus()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue