From 69e834fa543abca654ccc65c57bc2861e853f808 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Tue, 25 Sep 2018 14:27:10 +0200 Subject: [PATCH] [MSPORTS] Implement serial port settings - Fix the control styles and grouping in the dialogs. - Implement reading, modifying and writing of the serial port settings. --- dll/win32/msports/classinst.c | 4 +- dll/win32/msports/lang/bg-BG.rc | 38 +- dll/win32/msports/lang/de-DE.rc | 38 +- dll/win32/msports/lang/en-US.rc | 38 +- dll/win32/msports/lang/es-ES.rc | 38 +- dll/win32/msports/lang/he-IL.rc | 38 +- dll/win32/msports/lang/it-IT.rc | 38 +- dll/win32/msports/lang/ja-JP.rc | 38 +- dll/win32/msports/lang/pl-PL.rc | 38 +- dll/win32/msports/lang/ro-RO.rc | 38 +- dll/win32/msports/lang/ru-RU.rc | 38 +- dll/win32/msports/lang/sq-AL.rc | 38 +- dll/win32/msports/lang/tr-TR.rc | 38 +- dll/win32/msports/lang/uk-UA.rc | 38 +- dll/win32/msports/lang/zh-CN.rc | 38 +- dll/win32/msports/lang/zh-TW.rc | 38 +- dll/win32/msports/precomp.h | 3 + dll/win32/msports/resource.h | 18 +- dll/win32/msports/serial.c | 590 +++++++++++++++++++++++++++++++- 19 files changed, 876 insertions(+), 309 deletions(-) diff --git a/dll/win32/msports/classinst.c b/dll/win32/msports/classinst.c index a1df8ed92be..3a261d87e8d 100644 --- a/dll/win32/msports/classinst.c +++ b/dll/win32/msports/classinst.c @@ -603,7 +603,7 @@ InstallDeviceData(IN HDEVINFO DeviceInfoSet, TRACE("Done\n"); -done:; +done: if (hKey != NULL) RegCloseKey(hKey); @@ -660,7 +660,7 @@ GetPortType(IN HDEVINFO DeviceInfoSet, PortType = SerialPort; } -done:; +done: if (hKey != NULL) RegCloseKey(hKey); diff --git a/dll/win32/msports/lang/bg-BG.rc b/dll/win32/msports/lang/bg-BG.rc index 25f6ca91771..de8fa745bd0 100644 --- a/dll/win32/msports/lang/bg-BG.rc +++ b/dll/win32/msports/lang/bg-BG.rc @@ -6,17 +6,17 @@ CAPTION "Настройки на излаза (порта)" FONT 8, "MS Shell Dlg" BEGIN RTEXT "&Разряда в секунда:", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "Байта &данни:", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Четност:", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Спиращи разряди:", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "Управление на &потока:", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "Раз&ширени...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "&Връщане на под&разбираните", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "Байта &данни:", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Четност:", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Спиращи разряди:", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "Управление на &потока:", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "Раз&ширени...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Връщане на под&разбираните", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -24,18 +24,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Настройки на излаза (порта)" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Filter Resource Method", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "Try not to use an interrupt", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "Filter Resource Method", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "Try not to use an interrupt", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "Never use an interrupt", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "Use any interrupt assigned to the port", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "Enable legacy Plug and Play detection", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "Use any interrupt assigned to the port", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "Enable legacy Plug and Play detection", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "LPT Port Number:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/de-DE.rc b/dll/win32/msports/lang/de-DE.rc index fe28cbf14f7..b968518dbe2 100644 --- a/dll/win32/msports/lang/de-DE.rc +++ b/dll/win32/msports/lang/de-DE.rc @@ -6,17 +6,17 @@ CAPTION "Porteinstellungen" FONT 8, "MS Shell Dlg" BEGIN RTEXT "B&its pro Sekunde:", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Datenbits:", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Parität:", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Stoppbits:", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Flusssteuerung:", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "&Erweitert...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "Wieder&herstellen", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Datenbits:", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Parität:", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Stoppbits:", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Flusssteuerung:", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "&Erweitert...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Wieder&herstellen", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -24,18 +24,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Porteinstellungen" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Ressourcenmethode", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "Interrupt möglichst nicht verwenden", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "Ressourcenmethode", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "Interrupt möglichst nicht verwenden", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "Interrupt nie verwenden", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "Jeden dem Port zugeweisenen Interrupt verwenden", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "Legacyerkennung für Plug & Play aktivieren", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "Jeden dem Port zugeweisenen Interrupt verwenden", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "Legacyerkennung für Plug & Play aktivieren", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "LPT-Portnummer:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Gerade,Ungerade,Keine,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,Keine" END diff --git a/dll/win32/msports/lang/en-US.rc b/dll/win32/msports/lang/en-US.rc index fdc5f0cad92..baf27250419 100644 --- a/dll/win32/msports/lang/en-US.rc +++ b/dll/win32/msports/lang/en-US.rc @@ -6,17 +6,17 @@ CAPTION "Port Settings" FONT 8, "MS Shell Dlg" BEGIN RTEXT "B&its per second:", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Data bits:", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Parity:", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Stop bits:", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Flow control:", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "&Advanced...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "&Restore Defaults", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Data bits:", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Parity:", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Stop bits:", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Flow control:", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "&Advanced...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Restore Defaults", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -24,18 +24,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Port Settings" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Filter Resource Method", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "Try not to use an interrupt", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "Filter Resource Method", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "Try not to use an interrupt", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "Never use an interrupt", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "Use any interrupt assigned to the port", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "Enable legacy Plug and Play detection", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "Use any interrupt assigned to the port", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "Enable legacy Plug and Play detection", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "LPT Port Number:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/es-ES.rc b/dll/win32/msports/lang/es-ES.rc index 78a3f04ce1f..dd6587b6bf2 100644 --- a/dll/win32/msports/lang/es-ES.rc +++ b/dll/win32/msports/lang/es-ES.rc @@ -6,17 +6,17 @@ CAPTION "Ajustes de puertos" FONT 8, "MS Shell Dlg" BEGIN RTEXT "B&its por segundo:", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "Bits de &datos:", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Paridad:", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "Bits de ¶da:", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "Control de &flujo:", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "&Avanzado...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "&Por defecto", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "Bits de &datos:", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Paridad:", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "Bits de ¶da:", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "Control de &flujo:", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "&Avanzado...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Por defecto", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -24,18 +24,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Ajustes de puertos" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Método de filtrado de recursos", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "Intentar no usar interrupciones", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "Método de filtrado de recursos", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "Intentar no usar interrupciones", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "Nunca usar interrupciones", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "Utilizar cualquier interrupción asignada al puerto", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "Activar detección PnP para hardware antiguo", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "Utilizar cualquier interrupción asignada al puerto", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "Activar detección PnP para hardware antiguo", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "Número de puerto LPT:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/he-IL.rc b/dll/win32/msports/lang/he-IL.rc index fe1d4f9759a..e6fef329c31 100644 --- a/dll/win32/msports/lang/he-IL.rc +++ b/dll/win32/msports/lang/he-IL.rc @@ -6,17 +6,17 @@ CAPTION "הגדרות יציאה" FONT 8, "MS Shell Dlg" BEGIN RTEXT "סיביות לשניה:", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "סיביות מידע:", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Parity:", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "סיביות עצירה:", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "בקרת זרימה:", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "מתקדם...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "שחזר ברירת מחדל", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "סיביות מידע:", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Parity:", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "סיביות עצירה:", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "בקרת זרימה:", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "מתקדם...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "שחזר ברירת מחדל", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -24,18 +24,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "הגדרות יציאה" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Filter Resource Method", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "Try not to use an interrupt", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "Filter Resource Method", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "Try not to use an interrupt", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "Never use an interrupt", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "Use any interrupt assigned to the port", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "Enable legacy Plug and Play detection", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "Use any interrupt assigned to the port", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "Enable legacy Plug and Play detection", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "LPT Port Number:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/it-IT.rc b/dll/win32/msports/lang/it-IT.rc index 3a3d90f4a53..eeaad20568b 100644 --- a/dll/win32/msports/lang/it-IT.rc +++ b/dll/win32/msports/lang/it-IT.rc @@ -6,17 +6,17 @@ CAPTION "Impostazioni della Porta" FONT 8, "MS Shell Dlg" BEGIN RTEXT "B&it per secondo:", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "Bit di &Dati:", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Parità:", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "Bit di &Stop:", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "Controllo di &Flusso:", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "&Avanzate...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "&Ripristina", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "Bit di &Dati:", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Parità:", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "Bit di &Stop:", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "Controllo di &Flusso:", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "&Avanzate...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Ripristina", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -24,18 +24,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Impostazioni della Porta" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Metodo di filtraggio delle Risorse", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "Prova a non usare un interrupt", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "Metodo di filtraggio delle Risorse", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "Prova a non usare un interrupt", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "Non usare mai un interrupt", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "Usare qualsiasi interrupt assegnato alla porta", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "Attiva rilevamento Plug and Play obsoleto", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "Usare qualsiasi interrupt assegnato alla porta", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "Attiva rilevamento Plug and Play obsoleto", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "Numero di Porta LPT:", -1, 6, 107, 76, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 88, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 88, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/ja-JP.rc b/dll/win32/msports/lang/ja-JP.rc index 02113d27be1..25e5dfca793 100644 --- a/dll/win32/msports/lang/ja-JP.rc +++ b/dll/win32/msports/lang/ja-JP.rc @@ -6,17 +6,17 @@ CAPTION "ポート設定" FONT 9, "MS UI Gothic" BEGIN RTEXT "一秒ごとのビット数(&I):", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "データビット(&D):", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "パリティ(&P):", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "ストップビット(&S):", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "フロー制御(&F):", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "上級者向け(&A)...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "既定値を復元(&R)", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "データビット(&D):", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "パリティ(&P):", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "ストップビット(&S):", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "フロー制御(&F):", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "上級者向け(&A)...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "既定値を復元(&R)", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -24,18 +24,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "ポート設定" FONT 9, "MS UI Gothic" BEGIN - GROUPBOX "リソースふるい分け方式", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "一度割り込みを使わないで試す", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "リソースふるい分け方式", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "一度割り込みを使わないで試す", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "割り込みを使わない", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "ポートに割り当てられたすべての割り込みを使う", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "レガシーなプラグアンドプレイ検出を有効にする", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "ポートに割り当てられたすべての割り込みを使う", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "レガシーなプラグアンドプレイ検出を有効にする", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "LPTポート番号:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/pl-PL.rc b/dll/win32/msports/lang/pl-PL.rc index abc86c87c2d..d7af8e7626b 100644 --- a/dll/win32/msports/lang/pl-PL.rc +++ b/dll/win32/msports/lang/pl-PL.rc @@ -14,17 +14,17 @@ CAPTION "Ustawienia portu" FONT 8, "MS Shell Dlg" BEGIN RTEXT "B&itów na sekundę:", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Bity danych:", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Parzystość:", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "Bi&ty stopu:", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Kontrola przepływu:", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "&Zaawansowane...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "P&rzywróć domyślne", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Bity danych:", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Parzystość:", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "Bi&ty stopu:", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Kontrola przepływu:", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "&Zaawansowane...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "P&rzywróć domyślne", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -32,18 +32,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Ustawienia portu" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Metoda sposobu filtrowania", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "Spróbuj nie używać przerwania", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "Metoda sposobu filtrowania", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "Spróbuj nie używać przerwania", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "Nigdy nie używaj przerwania", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "Użyj dowolnego przerwania przypisanego do portu", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "Włącz wykrywanie starszego sprzętu Plug and Play", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "Użyj dowolnego przerwania przypisanego do portu", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "Włącz wykrywanie starszego sprzętu Plug and Play", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "Numer portu LPT:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/ro-RO.rc b/dll/win32/msports/lang/ro-RO.rc index 09aa42b3789..caa284ef72d 100644 --- a/dll/win32/msports/lang/ro-RO.rc +++ b/dll/win32/msports/lang/ro-RO.rc @@ -12,17 +12,17 @@ CAPTION "Configurația portului" FONT 8, "MS Shell Dlg" BEGIN RTEXT "&Biți pe secundă:", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "Biți de &date:", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Paritate:", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "Biți de st&op:", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Controlul fluxului:", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "A&vansate…", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "Valori i&mplicite", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "Biți de &date:", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Paritate:", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "Biți de st&op:", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Controlul fluxului:", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "A&vansate…", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "Valori i&mplicite", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -30,18 +30,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Configurația portului" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Metoda de filtrare a resurselor", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "Încearcă evitarea uzului de întreruperi", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "Metoda de filtrare a resurselor", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "Încearcă evitarea uzului de întreruperi", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "Nu folosi întreruperi", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "Folosește orice întrerupere asociată portului", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "Activează detecția PnP (moștenire)", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "Folosește orice întrerupere asociată portului", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "Activează detecția PnP (moștenire)", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "Număr port LPT:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/ru-RU.rc b/dll/win32/msports/lang/ru-RU.rc index 6fc2d250a1a..e4d593c1667 100644 --- a/dll/win32/msports/lang/ru-RU.rc +++ b/dll/win32/msports/lang/ru-RU.rc @@ -8,17 +8,17 @@ CAPTION "Параметры порта" FONT 8, "MS Shell Dlg" BEGIN RTEXT "&Бит в секунду:", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "Б&иты данных:", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Четность:", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "С&топовые биты:", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Управление потоком:", -1, 63, 102, 73, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "До&полнительно...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "&По умолчанию", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "Б&иты данных:", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Четность:", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "С&топовые биты:", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Управление потоком:", -1, 63, 102, 73, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "До&полнительно...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&По умолчанию", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -26,18 +26,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Параметры порта" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Метод фильтрации ресурсов", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "По возможности не использовать прерывание", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "Метод фильтрации ресурсов", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "По возможности не использовать прерывание", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "Не использовать прерывание в любом случае", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "Использовать любое прерывание, назначенное порту", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "Разрешить обнаружение старого Plug and Play порта", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "Использовать любое прерывание, назначенное порту", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "Разрешить обнаружение старого Plug and Play порта", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "Номер LPT порта:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/sq-AL.rc b/dll/win32/msports/lang/sq-AL.rc index e7126c41c82..73cc86ada10 100644 --- a/dll/win32/msports/lang/sq-AL.rc +++ b/dll/win32/msports/lang/sq-AL.rc @@ -10,17 +10,17 @@ CAPTION "Cilësimet Portit" FONT 8, "MS Shell Dlg" BEGIN RTEXT "B&its per sekonda:", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Data bits:", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Barayi:", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Ndalo bits:", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Kontrolli i rrjedhjes:", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "&Përparuar...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "&Rikthe Parazgjedhjet", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Data bits:", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Barayi:", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Ndalo bits:", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Kontrolli i rrjedhjes:", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "&Përparuar...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Rikthe Parazgjedhjet", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -28,18 +28,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Cilësimet Portit" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Filter Resource Method", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "Try not to use an interrupt", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "Filter Resource Method", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "Try not to use an interrupt", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "Never use an interrupt", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "Use any interrupt assigned to the port", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "Enable legacy Plug and Play detection", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "Use any interrupt assigned to the port", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "Enable legacy Plug and Play detection", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "LPT Port Number:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/tr-TR.rc b/dll/win32/msports/lang/tr-TR.rc index de111a3858d..39bad63929a 100644 --- a/dll/win32/msports/lang/tr-TR.rc +++ b/dll/win32/msports/lang/tr-TR.rc @@ -8,17 +8,17 @@ CAPTION "Giriş Ayarları" FONT 8, "MS Shell Dlg" BEGIN RTEXT "&Sâniyedeki Bit Sayısı:", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Veri Bitleri:", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Eşlik:", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Dur Bitleri:", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Akış Denetimi:", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "&Gelişmiş...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "&Ön Tanımlıları Geri Getir", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Veri Bitleri:", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Eşlik:", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Dur Bitleri:", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Akış Denetimi:", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "&Gelişmiş...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&Ön Tanımlıları Geri Getir", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -26,18 +26,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Giriş Ayarları" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Süzgeç Kaynak Yöntemi", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "Bir Kesme Kullanmayı Deneme", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "Süzgeç Kaynak Yöntemi", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "Bir Kesme Kullanmayı Deneme", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "Tüm Zamanlarda Bir Kesme Kullanma", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "Giriş İçin Atanmış Bir Kesme Kullan", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "Eskiden Kalan Tak ve Çalıştır Algılamasını Etkinleştir", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "Giriş İçin Atanmış Bir Kesme Kullan", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "Eskiden Kalan Tak ve Çalıştır Algılamasını Etkinleştir", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "LPT Giriş Numarası:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/uk-UA.rc b/dll/win32/msports/lang/uk-UA.rc index d2608ccb1db..0f161170f53 100644 --- a/dll/win32/msports/lang/uk-UA.rc +++ b/dll/win32/msports/lang/uk-UA.rc @@ -14,17 +14,17 @@ CAPTION "Параметри порту" FONT 8, "MS Shell Dlg" BEGIN RTEXT "Бі&тів на секунду:", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Біти даних:", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Паритет:", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Стопові біти:", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "&Керування потоком:", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "&Розширені...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "&За замовчуванням", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Біти даних:", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Паритет:", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Стопові біти:", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "&Керування потоком:", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "&Розширені...", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "&За замовчуванням", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -32,18 +32,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Параметри порту" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Filter Resource Method", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "Try not to use an interrupt", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "Filter Resource Method", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "Try not to use an interrupt", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "Never use an interrupt", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "Use any interrupt assigned to the port", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "Enable legacy Plug and Play detection", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "Use any interrupt assigned to the port", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "Enable legacy Plug and Play detection", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "LPT Port Number:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/zh-CN.rc b/dll/win32/msports/lang/zh-CN.rc index beba2753873..9f17ba41c14 100644 --- a/dll/win32/msports/lang/zh-CN.rc +++ b/dll/win32/msports/lang/zh-CN.rc @@ -8,17 +8,17 @@ CAPTION "端口设置" FONT 9, "宋体" BEGIN RTEXT "每秒位数:(&I)", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "数据位:(&D)", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "奇偶校验:(&P)", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "停止位:(&S)", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "流量控制:(&F)", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "高级...(&A)", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "还原默认值(&R)", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "数据位:(&D)", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "奇偶校验:(&P)", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "停止位:(&S)", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "流量控制:(&F)", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "高级...(&A)", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "还原默认值(&R)", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -26,18 +26,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "端口设置" FONT 9, "宋体" BEGIN - GROUPBOX "筛选资源方法", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "尽量不要使用中断", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "筛选资源方法", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "尽量不要使用中断", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "不要使用中断", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "使用指派给此端口的任何中断", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "启用旧式即插即用检测", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "使用指派给此端口的任何中断", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "启用旧式即插即用检测", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "LPT 端口号:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/lang/zh-TW.rc b/dll/win32/msports/lang/zh-TW.rc index 9880b5acbce..cfaf247a3e5 100644 --- a/dll/win32/msports/lang/zh-TW.rc +++ b/dll/win32/msports/lang/zh-TW.rc @@ -8,17 +8,17 @@ CAPTION "埠設定" FONT 9, "新細明體" BEGIN RTEXT "每秒位數:(&I)", -1, 6, 19, 130, 8, WS_GROUP - COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "資料位:(&D)", -1, 6, 40, 130, 8 - COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "奇偶校驗:(&P)", -1, 6, 61, 130, 8 - COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "停止位:(&S)", -1, 6, 82, 130, 8 - COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - RTEXT "流量控制:(&F)", -1, 6, 102, 130, 8 - COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "高階...(&A)", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP - PUSHBUTTON "還原預設值(&R)", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP + COMBOBOX IDC_SERIAL_BITSPERSECOND, 139, 17, 106, 90, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "資料位:(&D)", -1, 6, 40, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_DATABITS, 139, 38, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "奇偶校驗:(&P)", -1, 6, 61, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_PARITY, 139, 59, 106, 62, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "停止位:(&S)", -1, 6, 82, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_STOPBITS, 139, 80, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + RTEXT "流量控制:(&F)", -1, 6, 102, 130, 8, WS_GROUP + COMBOBOX IDC_SERIAL_FLOWCONTROL, 139, 100, 106, 54, CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL + PUSHBUTTON "高階...(&A)", IDC_SERIAL_ADVANCED, 71, 130, 85, 14, WS_GROUP | WS_TABSTOP + PUSHBUTTON "還原預設值(&R)", IDC_SERIAL_RESTORE, 160, 130, 85, 14, WS_GROUP | WS_TABSTOP END IDD_PARALLELSETTINGS DIALOGEX 0, 0, 252, 218 @@ -26,19 +26,19 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "埠設定" FONT 9, "新細明體" BEGIN - GROUPBOX "篩選資源方法", -1, 6, 6, 237, 75, WS_GROUP - AUTORADIOBUTTON "儘量不要使用中斷", IDC_TRY_INTERRUPT, 11, 22, 227, 10 + GROUPBOX "篩選資源方法", -1, 6, 6, 237, 75 + AUTORADIOBUTTON "儘量不要使用中斷", IDC_TRY_INTERRUPT, 11, 22, 227, 10, WS_GROUP AUTORADIOBUTTON "不要使用中斷", IDC_NEVER_INTERRUPT, 11, 44, 227, 10 - AUTORADIOBUTTON "使用指派給此埠的任何中斷", IDC_ANY_INTERRUPT, 11, 66, 227, 10, WS_GROUP - AUTOCHECKBOX "啟用舊式即插即用檢測", -1, 6, 90, 237, 10 + AUTORADIOBUTTON "使用指派給此埠的任何中斷", IDC_ANY_INTERRUPT, 11, 66, 227, 10 + AUTOCHECKBOX "啟用舊式即插即用檢測", IDC_PARALLEL_LEGACY, 6, 90, 237, 10, WS_TABSTOP LTEXT "LPT 埠號:", -1, 6, 107, 140, 10, WS_GROUP - COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, WS_TABSTOP | CBS_DROPDOWNLIST + COMBOBOX IDC_PARALLEL_NAME, 65, 105, 75, 20, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | WS_VSCROLL END STRINGTABLE BEGIN - IDS_LPT1 "LPT1" - IDS_LPT2 "LPT2" - IDS_LPT3 "LPT3" + IDS_PARITY "Even,Odd,None,Mark,Space" + IDS_STOPBITS "1,1.5,2" + IDS_FLOWCONTROL "Xon / Xoff,Hardware,None" END diff --git a/dll/win32/msports/precomp.h b/dll/win32/msports/precomp.h index 0b25e4d765f..6b16ba7bae1 100644 --- a/dll/win32/msports/precomp.h +++ b/dll/win32/msports/precomp.h @@ -2,6 +2,8 @@ #define _MSPORTS_PCH_ #include +#include +#include #define WIN32_NO_STATUS #define _INC_WINDOWS @@ -11,6 +13,7 @@ #include #include #include +#include #include #include diff --git a/dll/win32/msports/resource.h b/dll/win32/msports/resource.h index 772a041e314..c9d716859d9 100644 --- a/dll/win32/msports/resource.h +++ b/dll/win32/msports/resource.h @@ -8,13 +8,15 @@ #define IDC_SERIAL_FLOWCONTROL 205 #define IDC_SERIAL_ADVANCED 206 #define IDC_SERIAL_RESTORE 207 -#define IDC_PARALLEL_NAME 208 -#define IDC_TRY_INTERRUPT 209 -#define IDC_NEVER_INTERRUPT 210 -#define IDC_ANY_INTERRUPT 211 -#define IDS_LPT1 212 -#define IDS_LPT2 213 -#define IDS_LPT3 214 +#define IDD_PARALLELSETTINGS 220 +#define IDC_TRY_INTERRUPT 221 +#define IDC_NEVER_INTERRUPT 222 +#define IDC_ANY_INTERRUPT 223 +#define IDC_PARALLEL_LEGACY 224 +#define IDC_PARALLEL_NAME 225 -#define IDD_PARALLELSETTINGS 220 + +#define IDS_PARITY 11 +#define IDS_STOPBITS 12 +#define IDS_FLOWCONTROL 13 diff --git a/dll/win32/msports/serial.c b/dll/win32/msports/serial.c index b4d3d6c6e85..b248072a303 100644 --- a/dll/win32/msports/serial.c +++ b/dll/win32/msports/serial.c @@ -8,17 +8,553 @@ #include "precomp.h" + +typedef struct _PORT_DATA +{ + HDEVINFO DeviceInfoSet; + PSP_DEVINFO_DATA DeviceInfoData; + + WCHAR szPortName[16]; + INT nBaudRateIndex; + INT nParityIndex; + INT nDataBitsIndex; + INT nStopBitsIndex; + INT nFlowControlIndex; + + BOOL bChanged; +} PORT_DATA, *PPORT_DATA; + +#define DEFAULT_BAUD_RATE_INDEX 11 +#define DEFAULT_DATA_BITS_INDEX 4 +#define DEFAULT_PARITY_INDEX 2 +#define DEFAULT_STOP_BITS_INDEX 0 +#define DEFAULT_FLOW_CONTROL_INDEX 2 + +DWORD BaudRates[] = {75, 110, 134, 150, 300, 600, 1200, 1800, 2400, 4800, + 7200, 9600, 14400, 19200, 38400, 57600, 115200, 128000}; +PWSTR Paritys[] = {L"e", L"o", L"n", L"m", L"s"}; +PWSTR DataBits[] = {L"4", L"5", L"6", L"7", L"8"}; +PWSTR StopBits[] = {L"1", L"1.5", L"2"}; +PWSTR FlowControls[] = {L"x", L"p"}; + + +static +VOID +FillComboBox( + HWND hwnd, + PWSTR szBuffer) +{ + PWSTR pStart, pEnd; + + pStart = szBuffer; + for (;;) + { + pEnd = wcschr(pStart, L','); + if (pEnd != NULL) + *pEnd = UNICODE_NULL; + + ComboBox_AddString(hwnd, pStart); + + if (pEnd == NULL) + break; + + pStart = pEnd + 1; + } +} + + +static +VOID +ReadPortSettings( + PPORT_DATA pPortData) +{ + WCHAR szPortData[32]; + WCHAR szParity[4]; + WCHAR szDataBits[4]; + WCHAR szStopBits[4]; + WCHAR szFlowControl[4]; + DWORD dwType, dwSize; + DWORD dwBaudRate = 0; + HKEY hKey; + INT n, i; + LONG lError; + + TRACE("ReadPortSettings(%p)\n", pPortData); + + pPortData->nBaudRateIndex = DEFAULT_BAUD_RATE_INDEX; /* 9600 */ + pPortData->nParityIndex = DEFAULT_PARITY_INDEX; /* None */ + pPortData->nDataBitsIndex = DEFAULT_DATA_BITS_INDEX; /* 8 Data Bits */ + pPortData->nStopBitsIndex = DEFAULT_STOP_BITS_INDEX; /* 1 Stop Bit */ + pPortData->nFlowControlIndex = DEFAULT_FLOW_CONTROL_INDEX; /* None */ + pPortData->bChanged = FALSE; + + hKey = SetupDiOpenDevRegKey(pPortData->DeviceInfoSet, + pPortData->DeviceInfoData, + DICS_FLAG_GLOBAL, + 0, + DIREG_DEV, + KEY_READ); + if (hKey == INVALID_HANDLE_VALUE) + { + ERR("SetupDiOpenDevRegKey() failed\n"); + return; + } + + dwSize = sizeof(pPortData->szPortName); + lError = RegQueryValueExW(hKey, + L"PortName", + NULL, + NULL, + (PBYTE)pPortData->szPortName, + &dwSize); + RegCloseKey(hKey); + + if (lError != ERROR_SUCCESS) + { + ERR("RegQueryValueExW failed (Error %lu)\n", lError); + return; + } + + wcscat(pPortData->szPortName, L":"); + TRACE("PortName: '%S'\n", pPortData->szPortName); + + lError = RegOpenKeyExW(HKEY_LOCAL_MACHINE, + L"Software\\Microsoft\\Windows NT\\CurrentVersion\\Ports", + 0, + KEY_READ, + &hKey); + if (lError != ERROR_SUCCESS) + { + ERR("RegOpenKeyExW failed (Error %lu)\n", lError); + return; + } + + dwSize = sizeof(szPortData); + lError = RegQueryValueExW(hKey, + pPortData->szPortName, + NULL, + &dwType, + (LPBYTE)szPortData, + &dwSize); + RegCloseKey(hKey); + + if (lError != ERROR_SUCCESS) + { + ERR("RegQueryValueExW failed (Error %lu)\n", lError); + return; + } + + if ((dwType != REG_SZ) || (dwSize > sizeof(szPortData))) + { + ERR("Wrong type or size\n"); + return; + } + + TRACE("szPortData: '%S'\n", szPortData); + + /* Replace commas by spaces */ + for (i = 0; i < wcslen(szPortData); i++) + { + if (szPortData[i] == L',') + szPortData[i] = L' '; + } + + TRACE("szPortData: '%S'\n", szPortData); + + /* Parse the port settings */ + n = swscanf(szPortData, + L"%lu %3s %3s %3s %3s", + &dwBaudRate, + &szParity, + &szDataBits, + &szStopBits, + &szFlowControl); + + TRACE("dwBaudRate: %lu\n", dwBaudRate); + TRACE("szParity: '%S'\n", szParity); + TRACE("szDataBits: '%S'\n", szDataBits); + TRACE("szStopBits: '%S'\n", szStopBits); + TRACE("szFlowControl: '%S'\n", szFlowControl); + + if (n > 0) + { + for (i = 0; i < ARRAYSIZE(BaudRates); i++) + { + if (dwBaudRate == BaudRates[i]) + pPortData->nBaudRateIndex = i; + } + } + + if (n > 1) + { + for (i = 0; i < ARRAYSIZE(Paritys); i++) + { + if (_wcsicmp(szParity, Paritys[i]) == 0) + pPortData->nParityIndex = i; + } + } + + if (n > 2) + { + for (i = 0; i < ARRAYSIZE(DataBits); i++) + { + if (_wcsicmp(szDataBits, DataBits[i]) == 0) + pPortData->nDataBitsIndex = i; + } + } + + if (n > 3) + { + for (i = 0; i < ARRAYSIZE(StopBits); i++) + { + if (_wcsicmp(szStopBits, StopBits[i]) == 0) + pPortData->nStopBitsIndex = i; + } + } + + if (n > 4) + { + for (i = 0; i < ARRAYSIZE(FlowControls); i++) + { + if (_wcsicmp(szFlowControl, FlowControls[i]) == 0) + pPortData->nFlowControlIndex = i; + } + } +} + + +static +VOID +WritePortSettings( + HWND hwnd, + PPORT_DATA pPortData) +{ + WCHAR szPortData[32]; + HWND hwndControl; + INT nBaudRateIndex; + INT nDataBitsIndex; + INT nParityIndex; + INT nStopBitsIndex; + INT nFlowControlIndex; + HKEY hKey; + LONG lError; + + TRACE("WritePortSettings(%p)\n", pPortData); + + if (pPortData->bChanged == FALSE) + { + TRACE("Nothing changed. Done!\n"); + return; + } + + nBaudRateIndex = pPortData->nBaudRateIndex; + nDataBitsIndex = pPortData->nDataBitsIndex; + nParityIndex = pPortData->nParityIndex; + nStopBitsIndex = pPortData->nStopBitsIndex; + nFlowControlIndex = pPortData->nFlowControlIndex; + + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_BITSPERSECOND); + if (hwndControl) + { + nBaudRateIndex = ComboBox_GetCurSel(hwndControl); + } + + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_DATABITS); + if (hwndControl) + { + nDataBitsIndex = ComboBox_GetCurSel(hwndControl); + } + + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_PARITY); + if (hwndControl) + { + nParityIndex = ComboBox_GetCurSel(hwndControl); + } + + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_STOPBITS); + if (hwndControl) + { + nStopBitsIndex = ComboBox_GetCurSel(hwndControl); + } + + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_FLOWCONTROL); + if (hwndControl) + { + nFlowControlIndex = ComboBox_GetCurSel(hwndControl); + } + + swprintf(szPortData, + L"%lu,%s,%s,%s", + BaudRates[nBaudRateIndex], + Paritys[nParityIndex], + DataBits[nDataBitsIndex], + StopBits[nStopBitsIndex]); + if (nFlowControlIndex < 2) + { + wcscat(szPortData, L","); + wcscat(szPortData, FlowControls[nFlowControlIndex]); + } + + TRACE("szPortData: '%S'\n", szPortData); + + lError = RegOpenKeyExW(HKEY_LOCAL_MACHINE, + L"Software\\Microsoft\\Windows NT\\CurrentVersion\\Ports", + 0, + KEY_WRITE, + &hKey); + if (lError != ERROR_SUCCESS) + { + ERR("RegOpenKeyExW failed (Error %lu)\n", lError); + return; + } + + lError = RegSetValueExW(hKey, + pPortData->szPortName, + 0, + REG_SZ, + (LPBYTE)szPortData, + (wcslen(szPortData) + 1) * sizeof(WCHAR)); + + RegCloseKey(hKey); + + if (lError != ERROR_SUCCESS) + { + ERR("RegSetValueExW failed (Error %lu)\n", lError); + return; + } + + TRACE("Done!\n"); +} + + static BOOL -OnInitDialog(HWND hwnd, - WPARAM wParam, - LPARAM lParam) +OnInitDialog( + HWND hwnd, + WPARAM wParam, + LPARAM lParam) { - FIXME("Port_OnInit()\n"); + PPORT_DATA pPortData; + WCHAR szBuffer[256]; + UINT i; + HWND hwndControl; + + TRACE("OnInitDialog()\n"); + + pPortData = (PPORT_DATA)((LPPROPSHEETPAGEW)lParam)->lParam; + if (pPortData == NULL) + { + ERR("pPortData is NULL\n"); + return FALSE; + } + + SetWindowLongPtr(hwnd, DWLP_USER, (LONG_PTR)pPortData); + + /* Read and parse the port settings */ + ReadPortSettings(pPortData); + + /* Fill the 'Bits per second' combobox */ + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_BITSPERSECOND); + if (hwndControl) + { + for (i = 0; i < ARRAYSIZE(BaudRates); i++) + { + _ultow(BaudRates[i], szBuffer, 10); + ComboBox_AddString(hwndControl, szBuffer); + } + + ComboBox_SetCurSel(hwndControl, pPortData->nBaudRateIndex); + } + + /* Fill the 'Data bits' combobox */ + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_DATABITS); + if (hwndControl) + { + for (i = 0; i < ARRAYSIZE(DataBits); i++) + { + ComboBox_AddString(hwndControl, DataBits[i]); + } + + ComboBox_SetCurSel(hwndControl, pPortData->nDataBitsIndex); + } + + /* Fill the 'Parity' combobox */ + LoadStringW(hInstance, IDS_PARITY, szBuffer, ARRAYSIZE(szBuffer)); + + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_PARITY); + if (hwndControl) + { + FillComboBox(hwndControl, szBuffer); + ComboBox_SetCurSel(hwndControl, pPortData->nParityIndex); + } + + /* Fill the 'Stop bits' combobox */ + LoadStringW(hInstance, IDS_STOPBITS, szBuffer, ARRAYSIZE(szBuffer)); + + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_STOPBITS); + if (hwndControl) + { + FillComboBox(hwndControl, szBuffer); + ComboBox_SetCurSel(hwndControl, pPortData->nStopBitsIndex); + } + + /* Fill the 'Flow control' combobox */ + LoadStringW(hInstance, IDS_FLOWCONTROL, szBuffer, ARRAYSIZE(szBuffer)); + + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_FLOWCONTROL); + if (hwndControl) + { + FillComboBox(hwndControl, szBuffer); + ComboBox_SetCurSel(hwndControl, pPortData->nFlowControlIndex); + } + + /* Disable the 'Advanced' button */ + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_ADVANCED); + if (hwndControl) + EnableWindow(hwndControl, FALSE); + return TRUE; } +static +VOID +RestoreDefaultValues( + HWND hwnd, + PPORT_DATA pPortData) +{ + HWND hwndControl; + + /* Reset the 'Bits per second' combobox */ + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_BITSPERSECOND); + if (hwndControl) + { + ComboBox_SetCurSel(hwndControl, DEFAULT_BAUD_RATE_INDEX); + } + + /* Reset the 'Data bits' combobox */ + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_DATABITS); + if (hwndControl) + { + ComboBox_SetCurSel(hwndControl, DEFAULT_DATA_BITS_INDEX); + } + + /* Reset the 'Parity' combobox */ + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_PARITY); + if (hwndControl) + { + ComboBox_SetCurSel(hwndControl, DEFAULT_PARITY_INDEX); + } + + /* Reset the 'Stop bits' combobox */ + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_STOPBITS); + if (hwndControl) + { + ComboBox_SetCurSel(hwndControl, DEFAULT_STOP_BITS_INDEX); + } + + /* Reset the 'Flow control' combobox */ + hwndControl = GetDlgItem(hwnd, IDC_SERIAL_FLOWCONTROL); + if (hwndControl) + { + ComboBox_SetCurSel(hwndControl, DEFAULT_FLOW_CONTROL_INDEX); + } + + pPortData->bChanged = TRUE; +} + + +static +VOID +OnCommand( + HWND hwnd, + WPARAM wParam, + LPARAM lParam) +{ + PPORT_DATA pPortData; + + TRACE("OnCommand()\n"); + + pPortData = (PPORT_DATA)GetWindowLongPtr(hwnd, DWLP_USER); + if (pPortData == NULL) + { + ERR("pPortData is NULL\n"); + return; + } + + switch (LOWORD(wParam)) + { + case IDC_SERIAL_BITSPERSECOND: + case IDC_SERIAL_DATABITS: + case IDC_SERIAL_PARITY: + case IDC_SERIAL_STOPBITS: + case IDC_SERIAL_FLOWCONTROL: + if (HIWORD(wParam) == CBN_SELCHANGE || + HIWORD(wParam) == CBN_EDITCHANGE) + { + pPortData->bChanged = TRUE; + } + break; + +// case IDC_SERIAL_ADVANCED: + + case IDC_SERIAL_RESTORE: + RestoreDefaultValues(hwnd, pPortData); + break; + + default: + break; + } +} + + +static +VOID +OnNotify( + HWND hwnd, + WPARAM wParam, + LPARAM lParam) +{ + PPORT_DATA pPortData; + + TRACE("OnCommand()\n"); + + pPortData = (PPORT_DATA)GetWindowLongPtr(hwnd, DWLP_USER); + if (pPortData == NULL) + { + ERR("pPortData is NULL\n"); + return; + } + + if (((LPNMHDR)lParam)->code == (UINT)PSN_APPLY) + { + FIXME("PSN_APPLY!\n"); + WritePortSettings(hwnd, pPortData); + } +} + + +static +VOID +OnDestroy( + HWND hwnd) +{ + PPORT_DATA pPortData; + + TRACE("OnDestroy()\n"); + + pPortData = (PPORT_DATA)GetWindowLongPtr(hwnd, DWLP_USER); + if (pPortData == NULL) + { + ERR("pPortData is NULL\n"); + return; + } + + HeapFree(GetProcessHeap(), 0, pPortData); + SetWindowLongPtr(hwnd, DWLP_USER, (LONG_PTR)NULL); +} + + static INT_PTR CALLBACK @@ -27,12 +563,24 @@ SerialSettingsDlgProc(HWND hwnd, WPARAM wParam, LPARAM lParam) { - FIXME("SerialSettingsDlgProc()\n"); + TRACE("SerialSettingsDlgProc()\n"); switch (uMsg) { case WM_INITDIALOG: return OnInitDialog(hwnd, wParam, lParam); + + case WM_COMMAND: + OnCommand(hwnd, wParam, lParam); + break; + + case WM_NOTIFY: + OnNotify(hwnd, wParam, lParam); + break; + + case WM_DESTROY: + OnDestroy(hwnd); + break; } return FALSE; @@ -41,44 +589,58 @@ SerialSettingsDlgProc(HWND hwnd, BOOL WINAPI -SerialPortPropPageProvider(PSP_PROPSHEETPAGE_REQUEST lpPropSheetPageRequest, - LPFNADDPROPSHEETPAGE lpfnAddPropSheetPageProc, - LPARAM lParam) +SerialPortPropPageProvider( + PSP_PROPSHEETPAGE_REQUEST lpPropSheetPageRequest, + LPFNADDPROPSHEETPAGE lpfnAddPropSheetPageProc, + LPARAM lParam) { PROPSHEETPAGEW PropSheetPage; HPROPSHEETPAGE hPropSheetPage; + PPORT_DATA pPortData; - FIXME("SerialPortPropPageProvider(%p %p %lx)\n", + TRACE("SerialPortPropPageProvider(%p %p %lx)\n", lpPropSheetPageRequest, lpfnAddPropSheetPageProc, lParam); + pPortData = HeapAlloc(GetProcessHeap(), + HEAP_ZERO_MEMORY, + sizeof(PORT_DATA)); + if (pPortData == NULL) + { + ERR("Port data allocation failed!\n"); + return FALSE; + } + + pPortData->DeviceInfoSet = lpPropSheetPageRequest->DeviceInfoSet; + pPortData->DeviceInfoData = lpPropSheetPageRequest->DeviceInfoData; + if (lpPropSheetPageRequest->PageRequested == SPPSR_ENUM_ADV_DEVICE_PROPERTIES) { - FIXME("SPPSR_ENUM_ADV_DEVICE_PROPERTIES\n"); + TRACE("SPPSR_ENUM_ADV_DEVICE_PROPERTIES\n"); PropSheetPage.dwSize = sizeof(PROPSHEETPAGEW); PropSheetPage.dwFlags = 0; PropSheetPage.hInstance = hInstance; PropSheetPage.pszTemplate = MAKEINTRESOURCE(IDD_SERIALSETTINGS); PropSheetPage.pfnDlgProc = SerialSettingsDlgProc; - PropSheetPage.lParam = 0; + PropSheetPage.lParam = (LPARAM)pPortData; PropSheetPage.pfnCallback = NULL; hPropSheetPage = CreatePropertySheetPageW(&PropSheetPage); if (hPropSheetPage == NULL) { - FIXME("CreatePropertySheetPageW() failed!\n"); + ERR("CreatePropertySheetPageW() failed!\n"); return FALSE; } if (!(*lpfnAddPropSheetPageProc)(hPropSheetPage, lParam)) { - FIXME("lpfnAddPropSheetPageProc() failed!\n"); + ERR("lpfnAddPropSheetPageProc() failed!\n"); DestroyPropertySheetPage(hPropSheetPage); return FALSE; } } - FIXME("Done!\n"); + TRACE("Done!\n"); return TRUE; } -- 2.17.1