Annotation of hatari/src/dialog.c, revision 1.1.1.16

1.1       root        1: /*
1.1.1.4   root        2:   Hatari - dialog.c
                      3: 
1.1.1.16! root        4:   This file is distributed under the GNU General Public License, version 2
        !             5:   or at 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.13  root        9: const char Dialog_fileid[] = "Hatari dialog.c : " __DATE__ " " __TIME__;
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.14  root       29:  * Return true if user chooses OK, or false if cancel!
1.1.1.11  root       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;
1.1.1.13  root       35:        bool bLoadedSnapshot;
1.1.1.12  root       36:        CNF_PARAMS current;
1.1       root       37: 
1.1.1.14  root       38:        Main_PauseEmulation(true);
                     39:        bForceReset = false;
1.1       root       40: 
1.1.1.12  root       41:        /* Copy details (this is so can restore if 'Cancel' dialog) */
                     42:        current = ConfigureParams;
                     43:        ConfigureParams.Screen.bFullScreen = bInFullScreen;
1.1.1.13  root       44:        bOKDialog = Dialog_MainDlg(&bForceReset, &bLoadedSnapshot);
                     45: 
                     46:        /* If a memory snapshot has been loaded, no further changes are required */
                     47:        if (bLoadedSnapshot)
                     48:        {
                     49:                Main_UnPauseEmulation();
                     50:                return true;
                     51:        }
1.1       root       52: 
1.1.1.11  root       53:        /* Check if reset is required and ask user if he really wants to continue then */
1.1.1.12  root       54:        if (bOKDialog && !bForceReset
                     55:            && Change_DoNeedReset(&current, &ConfigureParams)
1.1.1.15  root       56:            && ConfigureParams.Log.nAlertDlgLogLevel > LOG_FATAL) {
1.1.1.11  root       57:                bOKDialog = DlgAlert_Query("The emulated system must be "
                     58:                                           "reset to apply these changes. "
                     59:                                           "Apply changes now and reset "
                     60:                                           "the emulator?");
                     61:        }
                     62: 
                     63:        /* Copy details to configuration */
                     64:        if (bOKDialog) {
1.1.1.12  root       65:                Change_CopyChangedParamsToConfiguration(&current, &ConfigureParams, bForceReset);
                     66:        } else {
                     67:                ConfigureParams = current;
1.1.1.11  root       68:        }
1.1.1.2   root       69: 
1.1.1.9   root       70:        Main_UnPauseEmulation();
1.1.1.2   root       71: 
1.1.1.9   root       72:        if (bQuitProgram)
1.1.1.11  root       73:                Main_RequestQuit();
1.1.1.6   root       74: 
1.1.1.9   root       75:        return bOKDialog;
1.1       root       76: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.