|
|
1.1 root 1: /*
1.1.1.4 root 2: Hatari - dialog.c
3:
4: This file is distributed under the GNU Public License, version 2 or at
5: your option any later version. Read the file gpl.txt for details.
1.1 root 6:
1.1.1.12! root 7: Code to handle our options dialog.
1.1 root 8: */
1.1.1.12! root 9: const char Dialog_rcsid[] = "Hatari $Id: dialog.c,v 1.73 2008/10/28 20:37:09 eerot Exp $";
1.1.1.3 root 10:
1.1 root 11: #include "main.h"
12: #include "configuration.h"
1.1.1.12! root 13: #include "change.h"
1.1 root 14: #include "dialog.h"
1.1.1.11 root 15: #include "log.h"
1.1.1.2 root 16: #include "sdlgui.h"
1.1.1.12! root 17: #include "screen.h"
1.1 root 18:
19:
1.1.1.2 root 20: /*-----------------------------------------------------------------------*/
1.1.1.11 root 21: /**
22: * Open Property sheet Options dialog.
1.1.1.12! root 23: *
! 24: * We keep all our configuration details in a structure called
! 25: * 'ConfigureParams'. When we open our dialog we make a backup
! 26: * of this structure. When the user finally clicks on 'OK',
! 27: * we can compare and makes the necessary changes.
! 28: *
1.1.1.11 root 29: * Return TRUE if user chooses OK, or FALSE if cancel!
30: */
1.1.1.12! root 31: bool Dialog_DoProperty(void)
1.1 root 32: {
1.1.1.12! root 33: bool bOKDialog; /* Did user 'OK' dialog? */
! 34: bool bForceReset;
! 35: CNF_PARAMS current;
1.1 root 36:
1.1.1.12! root 37: Main_PauseEmulation(TRUE);
1.1.1.9 root 38: bForceReset = FALSE;
1.1 root 39:
1.1.1.12! root 40: /* Copy details (this is so can restore if 'Cancel' dialog) */
! 41: current = ConfigureParams;
! 42: ConfigureParams.Screen.bFullScreen = bInFullScreen;
1.1.1.9 root 43: bOKDialog = Dialog_MainDlg(&bForceReset);
1.1 root 44:
1.1.1.11 root 45: /* Check if reset is required and ask user if he really wants to continue then */
1.1.1.12! root 46: if (bOKDialog && !bForceReset
! 47: && Change_DoNeedReset(¤t, &ConfigureParams)
! 48: && ConfigureParams.Log.nAlertDlgLogLevel >= LOG_WARN) {
1.1.1.11 root 49: bOKDialog = DlgAlert_Query("The emulated system must be "
50: "reset to apply these changes. "
51: "Apply changes now and reset "
52: "the emulator?");
53: }
54:
55: /* Copy details to configuration */
56: if (bOKDialog) {
1.1.1.12! root 57: Change_CopyChangedParamsToConfiguration(¤t, &ConfigureParams, bForceReset);
! 58: } else {
! 59: ConfigureParams = current;
1.1.1.11 root 60: }
1.1.1.2 root 61:
1.1.1.9 root 62: Main_UnPauseEmulation();
1.1.1.2 root 63:
1.1.1.9 root 64: if (bQuitProgram)
1.1.1.11 root 65: Main_RequestQuit();
1.1.1.6 root 66:
1.1.1.9 root 67: return bOKDialog;
1.1 root 68: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.