View Issue Details

IDProjectCategoryView StatusLast Update
0000289DarkRadiantGUIpublic27.11.2021 09:20
ReporterSneaksieDave Assigned Toorbweaver  
Status closedResolutionfixed 
Product Version0.9.0 
Target Version2.12.0Fixed in Version2.12.0 
Summary0000289: ESC to close dialogs with Cancel
DescriptionAs a standard convenience to users, it is suggested that ESC close dialogs which have a Cancel button.

There might be more, but here are three examples I know of at this time:

RMB -> Create Entity
RMB -> Create Model
Entity Tab -> Add Property
TagsNo tags attached.


related to 0005033 acknowledged Feature: consistent Esc & Enter keys functionality across all openable windows in DR 




04.05.2007 12:19

administrator   ~0000617

AFAIK, there is no standard behaviour in any of DarkRadiant's GTK dialog. I can implement that in gtkutil/DialogWindow.h but this will not cover every dialog by far.

We'll have to track down every single of these I guess.


04.05.2007 13:32

developer   ~0000618

Didn't we already have an issue for this, and after discussion agree that using Alt-C for Cancel would be acceptable?

Alternatively, it MAY be possible to implement such behaviour with .gtkrc files. I would rather not have code-level callbacks for this sort of thing since it is really a GTK issue not an application issue.


07.05.2007 03:01

reporter   ~0000628

Just as an example, refer to open map dialog:
Ctrl-O opens it, ESC closes it. Very standard behavior (in windoze at least).


07.05.2007 19:21

administrator   ~0000633

Maybe we find a one-line-way of implementing this, like:

gtkutil::DialogWindow::connectESCToWidget(GtkWidget* widget);



07.05.2007 19:24

developer   ~0000634

I guess that would be OK, as long as all of the dialogs inherited from the same base class.


07.05.2007 19:37

administrator   ~0000635

I think dialogs wouldn't even have to derive from the DialogWindow class (but this would of course be cleaner), as it's just a static method and a static GTK callback. It basically could be used for every widget/window.


23.02.2021 21:17

developer   ~0013725

What a difference switching GUI toolkit makes… this is really easy to implement in wxWidgets. Fixed in d4e8fd7c27a57eae63a10bd4995c35da5e81858f.

Related Changesets

DarkRadiant: master d4e8fd7c

2021-02-23 21:13:06


Details Diff
0000289: ESC now closes all dialogs deriving from DialogBase

Use the wxEVT_CHAR_HOOK event to catch the ESC key and invoke the Close()
method. Affects all dialogs mentioned in the bug (Create Entity, Create Model
and Add Property) as well as any others which are deriving from DialogBase.
Affected Issues
mod - libs/wxutil/dialog/DialogBase.cpp Diff File
mod - libs/wxutil/dialog/DialogBase.h Diff File

Issue History

Date Modified Username Field Change
03.05.2007 23:16 SneaksieDave New Issue
04.05.2007 12:19 greebo Note Added: 0000617
04.05.2007 12:19 greebo Status new => confirmed
04.05.2007 13:32 orbweaver Note Added: 0000618
07.05.2007 03:01 SneaksieDave Note Added: 0000628
07.05.2007 19:21 greebo Note Added: 0000633
07.05.2007 19:24 orbweaver Note Added: 0000634
07.05.2007 19:37 greebo Note Added: 0000635
23.01.2021 06:27 greebo Relationship added duplicate of 0005033
23.01.2021 06:28 greebo Relationship replaced related to 0005033
23.02.2021 21:04 orbweaver Assigned To => orbweaver
23.02.2021 21:04 orbweaver Status confirmed => assigned
23.02.2021 21:17 orbweaver Status assigned => resolved
23.02.2021 21:17 orbweaver Resolution open => fixed
23.02.2021 21:17 orbweaver Fixed in Version => 2.12.0
23.02.2021 21:17 orbweaver Note Added: 0013725
23.02.2021 21:17 orbweaver Target Version => 2.12.0
05.03.2021 05:01 orbweaver Changeset attached => DarkRadiant master d4e8fd7c
27.11.2021 09:20 greebo Status resolved => closed