Opened 12 years ago

Closed 12 years ago

Last modified 6 months ago

#7572 closed enhancement

"confirm exit" dialog

Reported by: fingolfin Owned by: fingolfin
Priority: normal Component: GUI
Keywords: Cc:
Game:

Description

Right now, the SCUMM engine uses an undocument config switch: confirm_exit which if set to true, cause a "Do you really want to exit Y/N" dialog to appear when a quit event is received, giving the user a chance to reconsider.

It is unfortunate that this is only implemented in the SCUMM engine. I propose that either we ditch it completely, or we move it to a full & proper feature. That would mean:
* document it
* make it work in all engines, even the launcher
* add it to the global option dialog (IMO, only to the global one, I really don't think it'd be very useful to configure this per-game)

The questions is how to make it work consistently everywhere. One way would be to add the code to the backend (at least the SDL one) -- so just before firing a QUIT event, pop up the dialog (if "confirm_exit" is set to true). This would guarantee consistent behavior across all engines and also in the launcher.

Drawback: It won't work for "custom" quit code in engines. However, since the main reason for the confirmation dialog is to protect from accidental key presses (like pressing Alt-X in the "Leisure Suite Larry" games), this would likely not be a big problem.

However, if we *do* think it would be important to handle these cases, that would be possible, too. Just add the confirmation dialog into a file in gui/, then it can be used from any part of our code base.

Ticket imported from: #1731025. Ticket imported from: feature-requests/388.

Change History (4)

comment:1 Changed 12 years ago by fingolfin

Yet another possibility would be to insert the confirmation dialog code into the event manager.

comment:2 Changed 12 years ago by fingolfin

Owner: set to fingolfin
Status: newclosed

comment:3 Changed 12 years ago by fingolfin

Implemented in rev 27788.

comment:4 Changed 6 months ago by digitall

Component: GUI
Note: See TracTickets for help on using tickets.