assign escbtn and defbtn appropriately

Behaviorally: This change makes it so that Enter will never cancel
a dialog, unless that dialog only contains info to be read. Escape
will never unpredictably be treated as Enter. And some dialogs without
Escape to cancel, now can be canceled with Escape.

A lot of this just refactors dialogs to define the cancel button
at the top, not as a hotkey on a cancel button deep in the XML.
I think this makes enter/escape behavior in dialogxml files more
legible at a glance.
This commit is contained in:
2025-03-27 13:34:44 -05:00
parent 8af5eb6c38
commit 500471bad1
157 changed files with 246 additions and 246 deletions

View File

@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<?xml-stylesheet href="dialog.xsl" type="text/xsl"?>
<dialog defbtn='done'>
<dialog defbtn='done' escbtn='cancel'>
<pict type='dlog' num='16' top='8' left='8'/>
<text name='title' size='large' top='6' left='50' width='256' height='14'>Select:</text>
<field name='search-field' relative='pos-in pos' rel-anchor='prev' top='0' left='2' width='200' height='16'/>
@@ -53,6 +53,6 @@
</group>
<button name='left' type='left' def-key='left' relative='pos-in pos-in' anchor='led20' top='19' left='0'/>
<button name='right' type='right' def-key='right' relative='pos-in pos-in' rel-anchor='prev' top='0' left='63'/>
<button name='cancel' type='regular' def-key='esc' relative='pos-in pos-in' rel-anchor='prev' top='0' left='201'>Cancel</button>
<button name='cancel' type='regular' relative='pos-in pos-in' rel-anchor='prev' top='0' left='201'>Cancel</button>
<button name='done' type='regular' def-key='ctrl enter' relative='pos-in pos-in' rel-anchor='prev' top='0' left='66'>OK</button>
</dialog>