[Scummvm-cvs-logs] CVS: scummvm/scumm dialogs.cpp,1.92,1.93 dialogs.h,1.33,1.34 scumm.h,1.331,1.332 scummvm.cpp,2.502,2.503
Travis Howell
kirben at users.sourceforge.net
Sun Dec 14 07:05:00 CET 2003
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv14982/scumm
Modified Files:
dialogs.cpp dialogs.h scumm.h scummvm.cpp
Log Message:
Always confirm restart
Index: dialogs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/dialogs.cpp,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -d -r1.92 -r1.93
--- dialogs.cpp 14 Dec 2003 10:46:08 -0000 1.92
+++ dialogs.cpp 14 Dec 2003 15:04:03 -0000 1.93
@@ -621,6 +621,21 @@
ScummDialog::handleKeyDown(ascii, keycode, modifiers);
}
+ConfirmRestartDialog::ConfirmRestartDialog(ScummEngine *scumm)
+ : InfoDialog(scumm, "Do you really want to quit (y/n)?") {
+}
+
+void ConfirmRestartDialog::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
+ if (tolower(ascii) == 'n') { // Close exit dialog if n key is pressed
+ setResult(0);
+ close();
+ } else if (tolower(ascii) == 'y') { // Quit if y key is pressed
+ setResult(1);
+ close();
+ } else
+ ScummDialog::handleKeyDown(ascii, keycode, modifiers);
+}
+
#ifdef _WIN32_WCE
#pragma mark -
Index: dialogs.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/dialogs.h,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- dialogs.h 13 Dec 2003 17:10:46 -0000 1.33
+++ dialogs.h 14 Dec 2003 15:04:05 -0000 1.34
@@ -157,6 +157,12 @@
virtual void handleKeyDown(uint16 ascii, int keycode, int modifiers);
};
+class ConfirmRestartDialog : public InfoDialog {
+public:
+ ConfirmRestartDialog(ScummEngine *scumm);
+ virtual void handleKeyDown(uint16 ascii, int keycode, int modifiers);
+};
+
#ifdef _WIN32_WCE
class KeysDialog : public ScummDialog {
Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.331
retrieving revision 1.332
diff -u -d -r1.331 -r1.332
--- scumm.h 11 Dec 2003 06:08:43 -0000 1.331
+++ scumm.h 14 Dec 2003 15:04:05 -0000 1.332
@@ -352,10 +352,12 @@
Dialog *_optionsDialog;
Dialog *_mainMenuDialog;
Dialog *_confirmExitDialog;
+ Dialog *_confirmRestartDialog;
protected:
int runDialog(Dialog &dialog);
void confirmexitDialog();
+ void confirmrestartDialog();
void pauseDialog();
void mainMenuDialog();
public:
Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.502
retrieving revision 2.503
diff -u -d -r2.502 -r2.503
--- scummvm.cpp 14 Dec 2003 14:32:12 -0000 2.502
+++ scummvm.cpp 14 Dec 2003 15:04:05 -0000 2.503
@@ -327,6 +327,7 @@
_optionsDialog = NULL;
_mainMenuDialog = NULL;
_confirmExitDialog = NULL;
+ _confirmRestartDialog = NULL;
_fastMode = 0;
_actors = NULL;
_inventory = NULL;
@@ -862,6 +863,7 @@
delete _optionsDialog;
delete _mainMenuDialog;
delete _confirmExitDialog;
+ delete _confirmRestartDialog;
delete _sound;
if (_musicEngine) {
@@ -1844,7 +1846,7 @@
#endif
if (VAR_RESTART_KEY != 0xFF && _lastKeyHit == VAR(VAR_RESTART_KEY)) {
- restart();
+ confirmrestartDialog();
return;
}
@@ -2580,6 +2582,15 @@
if (runDialog(*_confirmExitDialog)) {
_quit = true;
+ }
+}
+
+void ScummEngine::confirmrestartDialog() {
+ if (!_confirmRestartDialog)
+ _confirmRestartDialog = new ConfirmRestartDialog(this);
+
+ if (runDialog(*_confirmRestartDialog)) {
+ restart();
}
}
More information about the Scummvm-git-logs
mailing list