]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Add Quickstart Default Configuration and rename Default configuration to Current...
authorToni Wilen <twilen@winuae.net>
Sun, 9 Jul 2023 17:37:03 +0000 (20:37 +0300)
committerToni Wilen <twilen@winuae.net>
Sun, 9 Jul 2023 17:37:03 +0000 (20:37 +0300)
od-win32/resources/resource.h
od-win32/resources/winuae.rc
od-win32/win32gui.cpp

index 16426b5abbf939286c3918d499c333f0505b1edc..df79991fa617c7b3387516a9a5d614d198ab12b8 100644 (file)
 #define IDS_ASSOCIATEEXTENSION          436
 #define IDS_GAMEPORTS_CUSTOM            437
 #define IDS_FILTER_LABELS               438
+#define IDS_CURRENT_HOST                439
 #define IDS_QS_MODELS                   1000
 #define IDS_QS_MODEL_A500               1001
 #define IDS_QS_MODEL_A500P              1002
index 3a221891f75cad6214d2b90fcbaa9f19d939fc65..540266091092f1efb335d8c8cc7038762c52d5d9 100644 (file)
@@ -2008,7 +2008,7 @@ END
 STRINGTABLE
 BEGIN
     IDS_NOHARDDRIVES        "No hard disks detected that were either empty or RDB-partitioned."
-    IDS_DEFAULT_HOST        "Default Configuration"
+    IDS_DEFAULT_HOST        "Default host configuration"
     IDS_SOUND_4CHANNEL      "4 Channels"
     IDS_HF_FS_CUSTOM        "Custom"
     IDS_SELECTFS            "Select file system handler (FFS, PFS, SFS, etc.)"
@@ -2233,6 +2233,7 @@ BEGIN
     IDS_ASSOCIATEEXTENSION  "Extension"
     IDS_GAMEPORTS_CUSTOM    "Custom"
     IDS_FILTER_LABELS       "Null\nScale2X\nhq2x\nhq3x\nhq4x\nSuperEagle\nSuper2xSaI\n2xSaI\nPAL\n"
+    IDS_CURRENT_HOST        "Current host configuration"
 END
 
 #endif    // English (United Kingdom) resources
index adf5d76f4821c0bc09910eff5ba8536221959dbf..25cf8b4e4210b56ff6e6eb3d45c9d6f6127e1bd9 100644 (file)
@@ -7393,8 +7393,10 @@ static void init_quickstartdlg (HWND hDlg)
        xSendDlgItemMessage (hDlg, IDC_QUICKSTART_COMPATIBILITY, TBM_SETPOS, TRUE, quickstart_compa);
 
        xSendDlgItemMessage (hDlg, IDC_QUICKSTART_HOSTCONFIG, CB_RESETCONTENT, 0, 0L);
-       WIN32GUI_LoadUIString (IDS_DEFAULT_HOST, tmp1, sizeof (tmp1) / sizeof (TCHAR));
-       xSendDlgItemMessage (hDlg, IDC_QUICKSTART_HOSTCONFIG, CB_ADDSTRING, 0, (LPARAM)tmp1);
+       WIN32GUI_LoadUIString(IDS_CURRENT_HOST, tmp1, sizeof(tmp1) / sizeof(TCHAR));
+       xSendDlgItemMessage(hDlg, IDC_QUICKSTART_HOSTCONFIG, CB_ADDSTRING, 0, (LPARAM)tmp1);
+       WIN32GUI_LoadUIString(IDS_DEFAULT_HOST, tmp1, sizeof(tmp1) / sizeof(TCHAR));
+       xSendDlgItemMessage(hDlg, IDC_QUICKSTART_HOSTCONFIG, CB_ADDSTRING, 0, (LPARAM)tmp1);
        idx = 0;
        j = 1;
        for (i = 0; i < configstoresize; i++) {
@@ -7407,10 +7409,26 @@ static void init_quickstartdlg (HWND hDlg)
                        j++;
                }
        }
+       if (!_tcsicmp(hostconf, _T("Default Configuration"))) {
+               idx = 0;
+       }
+       if (!_tcsicmp(hostconf, _T("Reset Configuration"))) {
+               idx = 1;
+       }
        xSendDlgItemMessage (hDlg, IDC_QUICKSTART_HOSTCONFIG, CB_SETCURSEL, idx, 0);
        regsetint (NULL, _T("QuickStartModel"), quickstart_model);
        regsetint (NULL, _T("QuickStartConfiguration"), quickstart_conf);
        regsetint (NULL, _T("QuickStartCompatibility"), quickstart_compa);
+
+       if (quickstart) {
+               quickstarthost(hDlg, hostconf);
+               if (idx == 0) {
+                       load_quickstart(hDlg, 0);
+               } else if (idx == 1) {
+                       default_prefs(&workprefs, false, 0);
+                       load_quickstart(hDlg, 0);
+               }
+       }
 }
 
 static void floppytooltip (HWND hDlg, int num, uae_u32 crc32);
@@ -7789,9 +7807,22 @@ static INT_PTR CALLBACK QuickstartDlgProc (HWND hDlg, UINT msg, WPARAM wParam, L
                                if (val != CB_ERR) {
                                        xSendDlgItemMessage (hDlg, IDC_QUICKSTART_HOSTCONFIG, CB_GETLBTEXT, (WPARAM)val, (LPARAM)tmp);
                                        regsetstr (NULL, _T("QuickStartHostConfig"), tmp);
+                                       if (val == 0 || val == 1) {
+                                               regsetstr(NULL, _T("QuickStartHostConfig"), val ? _T("Reset configuration") : _T("Default Configuration"));
+                                       }
                                        quickstarthost (hDlg, tmp);
-                                       if (val == 0 && quickstart)
-                                               load_quickstart (hDlg, 0);
+                                       if (val == 0 && quickstart) {
+                                               if (HIWORD(wParam) != CBN_KILLFOCUS) {
+                                                       default_prefs(&workprefs, false, 0);
+                                                       target_cfgfile_load(&workprefs, _T("default.uae"), CONFIG_TYPE_DEFAULT, 0);
+                                               }
+                                               load_quickstart(hDlg, 0);
+                                       } else if (val == 1 && quickstart) {
+                                               if (HIWORD(wParam) != CBN_KILLFOCUS) {
+                                                       default_prefs(&workprefs, false, 0);
+                                               }
+                                               load_quickstart(hDlg, 0);
+                                       }
                                }
                                break;
                        }
@@ -7838,9 +7869,19 @@ static INT_PTR CALLBACK QuickstartDlgProc (HWND hDlg, UINT msg, WPARAM wParam, L
                                ret = (int)FloppyDlgProc (hDlg, msg, wParam, lParam);
                        break;
                case IDC_QUICKSTART_SETCONFIG:
+               {
+                       val = xSendDlgItemMessage(hDlg, IDC_QUICKSTART_HOSTCONFIG, CB_GETCURSEL, 0, 0);
+                       if (val != CB_ERR) {
+                               xSendDlgItemMessage(hDlg, IDC_QUICKSTART_HOSTCONFIG, CB_GETLBTEXT, (WPARAM)val, (LPARAM)tmp);
+                               quickstarthost(hDlg, tmp);
+                               if (val == 1) {
+                                       default_prefs(&workprefs, false, 0);
+                               }
+                       }
                        load_quickstart (hDlg, 1);
                        break;
                }
+               }
                recursive--;
                break;
        case WM_HSCROLL: