Unify cancel button & escape keybind for pages
AddChat and AccountSettings: - When clicking the cancel button, if there's no previous back to go back to, focus the main pane instead of doing nothing AccountSettings: - Always enable the cancel button, not just when the form has been modified AddChat, AccountSettings, ServerBrowser: - Pressing escape will do the same thing as clicking the cancel button
This commit is contained in:
@@ -24,6 +24,9 @@ HBox {
|
||||
property string connectFutureId: ""
|
||||
property string fetchServersFutureId: ""
|
||||
|
||||
readonly property bool canFocusMainPane:
|
||||
mainUI.mainPane.normalOrForceCollapse && mainUI.accountsPresent
|
||||
|
||||
signal accepted()
|
||||
|
||||
function takeFocus() { serverField.item.field.forceActiveFocus() }
|
||||
@@ -162,11 +165,7 @@ HBox {
|
||||
visible: Layout.preferredWidth > 0
|
||||
|
||||
Layout.fillHeight: true
|
||||
Layout.preferredWidth:
|
||||
mainUI.mainPane.normalOrForceCollapse &&
|
||||
mainUI.accountsPresent ?
|
||||
implicitWidth :
|
||||
0
|
||||
Layout.preferredWidth: box.canFocusMainPane ? implicitWidth : 0
|
||||
|
||||
Behavior on Layout.preferredWidth { HNumberAnimation {} }
|
||||
}
|
||||
@@ -221,6 +220,8 @@ HBox {
|
||||
onKeyboardAccept:
|
||||
if (serverField.item.apply.enabled) serverField.item.apply.clicked()
|
||||
|
||||
onKeyboardCancel: if (box.canFocusMainPane) mainUI.mainPane.toggleFocus()
|
||||
|
||||
onAccepted: window.saveState(this)
|
||||
|
||||
Component.onDestruction:
|
||||
|
Reference in New Issue
Block a user