]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Serial port CRLF translation option added to GUI
authorToni Wilen <twilen@winuae.net>
Mon, 11 May 2026 14:05:06 +0000 (17:05 +0300)
committerToni Wilen <twilen@winuae.net>
Mon, 11 May 2026 14:05:06 +0000 (17:05 +0300)
od-win32/resources/resource.h
od-win32/resources/winuae.rc
od-win32/win32gui.cpp

index 914e565f5f09381e737c7976ffdc311a7801703d..76aa359c5c5fec423a513c1f73f88e36bdb57ea2 100644 (file)
 #define IDC_KEYBOARD_ENDHACK            1866
 #define IDC_SER_RTSCTSDTRDTECD          1867
 #define IDC_SER_RI                      1868
+#define IDC_SER_CRLF                    1869
 #define ID__FLOPPYDRIVES                40004
 #define ID_FLOPPYDRIVES_DF0             40005
 #define ID_ST_CONFIGURATION             40010
index a6f55184381c93ed3678f5198384d35673564b1b..9341b6dad66e34de6a9e98524f839f2fe63df5c5 100644 (file)
@@ -541,7 +541,8 @@ BEGIN
     COMBOBOX        IDC_DONGLELIST,58,292,232,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     CONTROL         "Serial status (RTS/CTS/DTR/DTE/CD)",IDC_SER_RTSCTSDTRDTECD,
                     "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,25,192,149,12
-    CONTROL         "Serial status: Ring Indicator",IDC_SER_RI,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,182,192,202,12
+    CONTROL         "Serial status: Ring Indicator",IDC_SER_RI,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,182,192,106,12
+    CONTROL         "CR/LF conversion",IDC_SER_CRLF,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,292,192,96,12
 END
 
 IDD_GAMEPORTS DIALOGEX 0, 0, 396, 316
index 109575b00597012f0d00bcaa716f13136429958e..ab41cbe81d47a7159ab1b8156b9f0f31d996b657 100644 (file)
@@ -17838,6 +17838,7 @@ static void enable_for_portsdlg (HWND hDlg)
        ew(hDlg, IDC_SER_CTSRTS, FALSE);
        ew(hDlg, IDC_SER_RTSCTSDTRDTECD, FALSE);
        ew(hDlg, IDC_SER_RI, FALSE);
+       ew(hDlg, IDC_SER_CRLF, FALSE);
        ew(hDlg, IDC_SERIAL_DIRECT, FALSE);
        ew(hDlg, IDC_SERIAL, FALSE);
        ew(hDlg, IDC_UAESERIAL, FALSE);
@@ -17847,6 +17848,7 @@ static void enable_for_portsdlg (HWND hDlg)
        ew(hDlg, IDC_SER_CTSRTS, v);
        ew(hDlg, IDC_SER_RTSCTSDTRDTECD, v);
        ew(hDlg, IDC_SER_RI, v);
+       ew(hDlg, IDC_SER_CRLF, v);
        ew(hDlg, IDC_SER_DIRECT, v);
        ew(hDlg, IDC_UAESERIAL, full_property_sheet);
 #endif
@@ -18149,25 +18151,14 @@ static void values_from_portsdlg (HWND hDlg)
                workprefs.use_serial = 0;
                workprefs.sername[0] = 0;
        }
-       workprefs.serial_demand = 0;
-       if (ischecked(hDlg, IDC_SER_SHARED))
-               workprefs.serial_demand = 1;
-       workprefs.serial_hwctsrts = 0;
-       if (ischecked(hDlg, IDC_SER_CTSRTS))
-               workprefs.serial_hwctsrts = 1;
-       workprefs.serial_rtsctsdtrdtecd = 0;
-       if (ischecked(hDlg, IDC_SER_RTSCTSDTRDTECD))
-               workprefs.serial_rtsctsdtrdtecd = 1;
-       workprefs.serial_ri = 0;
-       if (ischecked(hDlg, IDC_SER_RI))
-               workprefs.serial_ri = 1;
-       workprefs.serial_direct = 0;
-       if (ischecked(hDlg, IDC_SER_DIRECT))
-               workprefs.serial_direct = 1;
-
-       workprefs.uaeserial = 0;
-       if (ischecked (hDlg, IDC_UAESERIAL))
-               workprefs.uaeserial = 1;
+       workprefs.serial_demand = ischecked(hDlg, IDC_SER_SHARED);
+       workprefs.serial_hwctsrts = ischecked(hDlg, IDC_SER_CTSRTS);
+       workprefs.serial_rtsctsdtrdtecd = ischecked(hDlg, IDC_SER_RTSCTSDTRDTECD);
+       workprefs.serial_ri = ischecked(hDlg, IDC_SER_RI);
+       workprefs.serial_crlf = ischecked(hDlg, IDC_SER_CRLF);
+       workprefs.serial_direct = ischecked(hDlg, IDC_SER_DIRECT);
+
+       workprefs.uaeserial = ischecked(hDlg, IDC_UAESERIAL);
 
        GetDlgItemText (hDlg, IDC_PS_PARAMS, workprefs.ghostscript_parameters, sizeof workprefs.ghostscript_parameters / sizeof (TCHAR));
        v  = GetDlgItemInt (hDlg, IDC_PRINTERAUTOFLUSH, &success, FALSE);
@@ -18239,6 +18230,7 @@ static void values_to_portsdlg (HWND hDlg)
        CheckDlgButton(hDlg, IDC_SER_CTSRTS, workprefs.serial_hwctsrts);
        CheckDlgButton(hDlg, IDC_SER_RTSCTSDTRDTECD, workprefs.serial_rtsctsdtrdtecd);
        CheckDlgButton(hDlg, IDC_SER_RI, workprefs.serial_ri);
+       CheckDlgButton(hDlg, IDC_SER_CRLF, workprefs.serial_crlf);
        CheckDlgButton(hDlg, IDC_SER_DIRECT, workprefs.serial_direct);
 
        if(!workprefs.sername[0])  {
@@ -18700,7 +18692,7 @@ static INT_PTR CALLBACK IOPortsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPAR
                                closeprinter ();
                        }
                } else if (wParam == IDC_UAESERIAL || wParam == IDC_SER_SHARED || wParam == IDC_SER_DIRECT || wParam == IDC_SER_CTSRTS || wParam == IDC_SER_RTSCTSDTRDTECD || wParam == IDC_SER_RI ||
-                       wParam == IDC_PRINTERAUTOFLUSH || wParam == IDC_SAMPLER_STEREO || wParam == IDC_MIDIROUTER) {
+                       wParam == IDC_SER_CRLF || wParam == IDC_PRINTERAUTOFLUSH || wParam == IDC_SAMPLER_STEREO || wParam == IDC_MIDIROUTER) {
                        values_from_portsdlg (hDlg);
                } else {
                        if (HIWORD (wParam) == CBN_SELCHANGE) {