From 5f4bb73edaaa738759cc86bf4cffde85c0765513 Mon Sep 17 00:00:00 2001 From: Katayama Hirofumi MZ Date: Thu, 29 Sep 2022 07:31:43 +0900 Subject: [PATCH] [CPL][INPUT] Make the ListView a TreeView (#4726) - Make the list a TreeView. - Modify IDD_PROPPAGESETTINGS resource dialog for UI compatibility. --- dll/cpl/input/input.rc | 2 + dll/cpl/input/input_list.c | 116 +++++- dll/cpl/input/input_list.h | 11 +- dll/cpl/input/lang/bg-BG.rc | 20 +- dll/cpl/input/lang/cs-CZ.rc | 20 +- dll/cpl/input/lang/de-DE.rc | 20 +- dll/cpl/input/lang/el-GR.rc | 20 +- dll/cpl/input/lang/en-US.rc | 20 +- dll/cpl/input/lang/es-ES.rc | 20 +- dll/cpl/input/lang/fr-FR.rc | 20 +- dll/cpl/input/lang/he-IL.rc | 20 +- dll/cpl/input/lang/id-ID.rc | 20 +- dll/cpl/input/lang/it-IT.rc | 20 +- dll/cpl/input/lang/ja-JP.rc | 20 +- dll/cpl/input/lang/no-NO.rc | 20 +- dll/cpl/input/lang/pl-PL.rc | 20 +- dll/cpl/input/lang/pt-BR.rc | 20 +- dll/cpl/input/lang/pt-PT.rc | 20 +- dll/cpl/input/lang/ro-RO.rc | 20 +- dll/cpl/input/lang/ru-RU.rc | 20 +- dll/cpl/input/lang/sk-SK.rc | 20 +- dll/cpl/input/lang/sq-AL.rc | 20 +- dll/cpl/input/lang/tr-TR.rc | 20 +- dll/cpl/input/lang/uk-UA.rc | 20 +- dll/cpl/input/lang/zh-CN.rc | 20 +- dll/cpl/input/lang/zh-HK.rc | 20 +- dll/cpl/input/lang/zh-TW.rc | 20 +- dll/cpl/input/resource.h | 5 +- dll/cpl/input/resources/dot.ico | Bin 0 -> 894 bytes dll/cpl/input/resources/keyboard.ico | Bin 0 -> 25214 bytes dll/cpl/input/settings_page.c | 588 ++++++++++++++++++--------- 31 files changed, 815 insertions(+), 387 deletions(-) create mode 100644 dll/cpl/input/resources/dot.ico create mode 100644 dll/cpl/input/resources/keyboard.ico diff --git a/dll/cpl/input/input.rc b/dll/cpl/input/input.rc index 706a14cdb62..52b23b3cc45 100644 --- a/dll/cpl/input/input.rc +++ b/dll/cpl/input/input.rc @@ -13,6 +13,8 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #include IDI_CPLSYSTEM ICON "resources/keyboard-shortcuts.ico" +IDI_KEYBOARD ICON "resources/keyboard.ico" +IDI_DOT ICON "resources/dot.ico" #include diff --git a/dll/cpl/input/input_list.c b/dll/cpl/input/input_list.c index 97fe16a13b6..ec415b372fe 100644 --- a/dll/cpl/input/input_list.c +++ b/dll/cpl/input/input_list.c @@ -7,6 +7,7 @@ */ #include "input_list.h" +#define NOTHING typedef struct { @@ -154,7 +155,7 @@ InputList_AppendNode(VOID) /* Find last node */ for (pCurrent = _InputList; pCurrent->pNext; pCurrent = pCurrent->pNext) { - ; + NOTHING; } /* Add to the end */ @@ -568,13 +569,14 @@ InputList_FindNextDefault(INPUT_LIST_NODE *pNode) * It marks the input method for deletion, but does not delete it directly. * To apply the changes using InputList_Process() */ -VOID +BOOL InputList_Remove(INPUT_LIST_NODE *pNode) { + BOOL ret = FALSE; BOOL bRemoveNode = FALSE; if (pNode == NULL) - return; + return FALSE; if (pNode->wFlags & INPUT_LIST_NODE_FLAG_ADDED) { @@ -596,14 +598,39 @@ InputList_Remove(INPUT_LIST_NODE *pNode) pCurrent->wFlags |= INPUT_LIST_NODE_FLAG_DEFAULT; pNode->wFlags &= ~INPUT_LIST_NODE_FLAG_DEFAULT; + ret = TRUE; /* default input is changed */ } if (bRemoveNode) { InputList_RemoveNode(pNode); } + + return ret; } +BOOL +InputList_RemoveByLang(LANGID wLangId) +{ + BOOL ret = FALSE; + INPUT_LIST_NODE *pCurrent; + +Retry: + for (pCurrent = _InputList; pCurrent; pCurrent = pCurrent->pNext) + { + if (pCurrent->wFlags & INPUT_LIST_NODE_FLAG_DELETED) + continue; + + if (LOWORD(pCurrent->pLocale->dwId) == wLangId) + { + if (InputList_Remove(pCurrent)) + ret = TRUE; /* default input is changed */ + goto Retry; + } + } + + return ret; +} VOID InputList_Create(VOID) @@ -662,6 +689,89 @@ InputList_Create(VOID) free(pLayoutList); } +static INT InputList_Compare(INPUT_LIST_NODE *pNode1, INPUT_LIST_NODE *pNode2) +{ + INT nCompare = _wcsicmp(pNode1->pszIndicator, pNode2->pszIndicator); + if (nCompare != 0) + return nCompare; + + return _wcsicmp(pNode1->pLayout->pszName, pNode2->pLayout->pszName); +} + +VOID InputList_Sort(VOID) +{ + INPUT_LIST_NODE *pList = _InputList; + INPUT_LIST_NODE *pNext, *pPrev; + INPUT_LIST_NODE *pMinimum, *pNode; + + _InputList = NULL; + + while (pList) + { + /* Find the minimum node */ + pMinimum = NULL; + for (pNode = pList; pNode; pNode = pNext) + { + pNext = pNode->pNext; + + if (pMinimum == NULL) + { + pMinimum = pNode; + } + else if (InputList_Compare(pNode, pMinimum) < 0) + { + pMinimum = pNode; + } + } + + // Remove pMinimum from pList + pNext = pMinimum->pNext; + pPrev = pMinimum->pPrev; + if (pNext) + pNext->pPrev = pPrev; + if (pPrev) + pPrev->pNext = pNext; + else + pList = pNext; + + // Append pMinimum to _InputList + if (!_InputList) + { + pMinimum->pPrev = pMinimum->pNext = NULL; + _InputList = pMinimum; + } + else + { + /* Find last node */ + for (pNode = _InputList; pNode->pNext; pNode = pNode->pNext) + { + NOTHING; + } + + /* Add to the end */ + pNode->pNext = pMinimum; + pMinimum->pPrev = pNode; + pMinimum->pNext = NULL; + } + } +} + +INT +InputList_GetAliveCount(VOID) +{ + INPUT_LIST_NODE *pNode; + INT nCount = 0; + + for (pNode = _InputList; pNode; pNode = pNode->pNext) + { + if (pNode->wFlags & INPUT_LIST_NODE_FLAG_DELETED) + continue; + + ++nCount; + } + + return nCount; +} INPUT_LIST_NODE* InputList_GetFirst(VOID) diff --git a/dll/cpl/input/input_list.h b/dll/cpl/input/input_list.h index 5c947dbaae2..59785bf8166 100644 --- a/dll/cpl/input/input_list.h +++ b/dll/cpl/input/input_list.h @@ -57,9 +57,18 @@ InputList_Add(LOCALE_LIST_NODE *pLocale, LAYOUT_LIST_NODE *pLayout); VOID InputList_SetDefault(INPUT_LIST_NODE *pNode); -VOID +INT +InputList_GetAliveCount(VOID); + +BOOL InputList_Remove(INPUT_LIST_NODE *pNode); +BOOL +InputList_RemoveByLang(LANGID wLangId); + +VOID +InputList_Sort(VOID); + VOID InputList_Destroy(VOID); diff --git a/dll/cpl/input/lang/bg-BG.rc b/dll/cpl/input/lang/bg-BG.rc index ffc54fcc3ab..9833958bd6e 100644 --- a/dll/cpl/input/lang/bg-BG.rc +++ b/dll/cpl/input/lang/bg-BG.rc @@ -5,14 +5,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Настройки" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Посочете избраните от вас услуги за всеки посочен в списъка език.\nПромяната на списъка става с „Премахване“ и „Добавяне“.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "&Прилагане на подразбираните", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "&Добавяне...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "Пре&махване", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Свойства...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Предпочитания", -1, 7, 185, 240, 36 - PUSHBUTTON "Настройка на &клавишите...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Посочете избраните от вас услуги за всеки посочен в списъка език. Промяната на списъка става с „Премахване“ и „Добавяне“.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "&Добавяне...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "Пре&махване", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Свойства...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Предпочитания", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "Настройка на &клавишите...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/cs-CZ.rc b/dll/cpl/input/lang/cs-CZ.rc index df2c7d2756c..f1046fab271 100644 --- a/dll/cpl/input/lang/cs-CZ.rc +++ b/dll/cpl/input/lang/cs-CZ.rc @@ -10,14 +10,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Nastavení" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Zvolte služby pro každý vstupní jazyk v seznamu.\nSeznam lze měnit pomocí tlačítek Přidat a Odebrat.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "Nas&tavit výchozí", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "&Přidat...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Odebrat", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Vlastnosti...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Předvolby", -1, 7, 185, 240, 36 - PUSHBUTTON "&Nastavení kláves...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Zvolte služby pro každý vstupní jazyk v seznamu. Seznam lze měnit pomocí tlačítek Přidat a Odebrat.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "&Přidat...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Odebrat", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Vlastnosti...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Předvolby", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Nastavení kláves...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/de-DE.rc b/dll/cpl/input/lang/de-DE.rc index 702e67219c9..b23641e5cee 100644 --- a/dll/cpl/input/lang/de-DE.rc +++ b/dll/cpl/input/lang/de-DE.rc @@ -5,14 +5,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Einstellungen" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Wählen Sie die Dienste aus, die Sie für die Eingabesprachen in der Liste verwenden wollen.\nVerwenden Sie ""Hinzufügen"" und ""Entfernen"", um die Liste zu bearbeiten.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "&Als Standard", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "&Hinzufügen...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "Ent&fernen", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Eigenschaften...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Einstellungen", -1, 7, 185, 240, 36 - PUSHBUTTON "&Tasteneinstellungen...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Wählen Sie die Dienste aus, die Sie für die Eingabesprachen in der Liste verwenden wollen. Verwenden Sie ""Hinzufügen"" und ""Entfernen"", um die Liste zu bearbeiten.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "&Hinzufügen...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "Ent&fernen", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Eigenschaften...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Einstellungen", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Tasteneinstellungen...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/el-GR.rc b/dll/cpl/input/lang/el-GR.rc index 87691f00b1c..464aaa58581 100644 --- a/dll/cpl/input/lang/el-GR.rc +++ b/dll/cpl/input/lang/el-GR.rc @@ -5,14 +5,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Ρυθμίσεις" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Επιλέξτε τις υπηρεσίες που θέλετε για κάθε γλώσσα εισαγωγής που εμφανίζεται στη λίστα.\nΧρησιμοποιήστε τα κουμπιά Προσθήκη και Κατάργηση για την τροποποίηση αυτής της λίστας.", -1, 9, 6, 238, 33 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 42, 237, 95 - PUSHBUTTON "&Set Default", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "Π&ροσθήκη...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Κατάργηση", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Ιδιότητες...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Προτιμήσεις", -1, 7, 185, 240, 36 - PUSHBUTTON "&Ρυθμίσεις πλήκτρων...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Επιλέξτε τις υπηρεσίες που θέλετε για κάθε γλώσσα εισαγωγής που εμφανίζεται στη λίστα. Χρησιμοποιήστε τα κουμπιά Προσθήκη και Κατάργηση για την τροποποίηση αυτής της λίστας.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "Π&ροσθήκη...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Κατάργηση", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Ιδιότητες...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Προτιμήσεις", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Ρυθμίσεις πλήκτρων...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/en-US.rc b/dll/cpl/input/lang/en-US.rc index 1abf3968a41..41e07463b91 100644 --- a/dll/cpl/input/lang/en-US.rc +++ b/dll/cpl/input/lang/en-US.rc @@ -5,14 +5,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Settings" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Select the services that you want for each input language shown in the list.\nUse the Add and Remove buttons to modify this list.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "&Set Default", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "A&dd...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Remove", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Properties...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Preferences", -1, 7, 185, 240, 36 - PUSHBUTTON "&Key Settings...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Select the services that you want for each input language shown in the list. Use the Add and Remove buttons to modify this list.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "A&dd...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Remove", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Properties...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Preferences", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Key Settings...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/es-ES.rc b/dll/cpl/input/lang/es-ES.rc index 433bb279f5b..c4dd0b014bd 100644 --- a/dll/cpl/input/lang/es-ES.rc +++ b/dll/cpl/input/lang/es-ES.rc @@ -14,14 +14,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Configuración" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Seleccione los servicios que desea para cada idioma mostrado en la lista. Use los botones de Agregar y Quitar para modificar esta lista.", -1, 9, 6, 238, 17 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 28, 237, 109 - PUSHBUTTON "Pr&edeterminado", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "Ag®ar...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Quitar", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Propiedades...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Pre&ferencias ", -1, 7, 185, 240, 36 - PUSHBUTTON "C&onfiguración de teclas...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Seleccione los servicios que desea para cada idioma mostrado en la lista. Use los botones de Agregar y Quitar para modificar esta lista.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "Ag®ar...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Quitar", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Propiedades...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Pre&ferencias", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "C&onfiguración de teclas...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/fr-FR.rc b/dll/cpl/input/lang/fr-FR.rc index e6d45431874..26fd2848772 100644 --- a/dll/cpl/input/lang/fr-FR.rc +++ b/dll/cpl/input/lang/fr-FR.rc @@ -5,14 +5,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Paramètres" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Sélectionnez les services que vous désirez pour chaque langue de saisie affichée dans la liste.\nUtilisez les boutons Ajouter et Supprimer pour modifier la liste.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "Par &défaut", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "A&jouter...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "Supp&rimer", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Propriétés...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Pré&férences", -1, 7, 185, 240, 36 - PUSHBUTTON "Para&mètres des touches...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Sélectionnez les services que vous désirez pour chaque langue de saisie affichée dans la liste. Utilisez les boutons Ajouter et Supprimer pour modifier la liste.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "A&jouter...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "Supp&rimer", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Propriétés...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Pré&férences", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "Para&mètres des touches...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/he-IL.rc b/dll/cpl/input/lang/he-IL.rc index 45dc162a539..b88284c27ca 100644 --- a/dll/cpl/input/lang/he-IL.rc +++ b/dll/cpl/input/lang/he-IL.rc @@ -7,14 +7,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "הגדרות" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Select the services that you want for each input language shown in the list.\nUse the Add and Remove buttons to modify this list.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "קבע כברירת מחדל...", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "הוסף...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "הסר", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "מאפיניים...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "העדפות", -1, 7, 185, 240, 36 - PUSHBUTTON "הגדרות מקשים...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Select the services that you want for each input language shown in the list. Use the Add and Remove buttons to modify this list.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "הוסף...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "הסר", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "מאפיניים...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "העדפות", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "הגדרות מקשים...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/id-ID.rc b/dll/cpl/input/lang/id-ID.rc index 6805553a9b8..0c65a242953 100644 --- a/dll/cpl/input/lang/id-ID.rc +++ b/dll/cpl/input/lang/id-ID.rc @@ -5,14 +5,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Setelan" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Pilih layanan yang anda inginkan untuk setiap bahasa masukan untuk ditampilkan dalam daftar.\nGunakan tombol Tambah atau Hapus untuk mengubah daftar.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "&Setelan Asal", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "&Tambah...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Hapus", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Properti...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Preferensi", -1, 7, 185, 240, 36 - PUSHBUTTON "Setelan To&mbol...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Pilih layanan yang anda inginkan untuk setiap bahasa masukan untuk ditampilkan dalam daftar. Gunakan tombol Tambah atau Hapus untuk mengubah daftar.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "&Tambah...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Hapus", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Properti...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Preferensi", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "Setelan To&mbol...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/it-IT.rc b/dll/cpl/input/lang/it-IT.rc index 06f46fafb64..872727901f6 100644 --- a/dll/cpl/input/lang/it-IT.rc +++ b/dll/cpl/input/lang/it-IT.rc @@ -5,14 +5,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Impostazioni" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Scegliere i servizi desiderati per ognuna delle lingue nella lista.\nUsare Aggiungi e Rimuovi per modificare la lista.", -1, 9, 6, 238, 17 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 28, 237, 109 - PUSHBUTTON "&Predefinito", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "&Aggiungi...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Rimuovi", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Proprietà...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Preferenze", -1, 7, 185, 240, 36 - PUSHBUTTON "&Impostazioni tasti...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Scegliere i servizi desiderati per ognuna delle lingue nella lista. Usare Aggiungi e Rimuovi per modificare la lista.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "&Aggiungi...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Rimuovi", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Proprietà...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Preferenze", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Impostazioni tasti...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/ja-JP.rc b/dll/cpl/input/lang/ja-JP.rc index be53b949ef0..7fe83d20e85 100644 --- a/dll/cpl/input/lang/ja-JP.rc +++ b/dll/cpl/input/lang/ja-JP.rc @@ -5,14 +5,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "設定" FONT 9, "MS UI Gothic" BEGIN - LTEXT "リストで示されている各入力言語にご希望のサービスを選択して下さい。\nリストを変更するには、追加または削除ボタンをお使いください。", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "既定にする(&S)", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "追加(&D)...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "削除(&R)", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "プロパティ(&P)...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "プレファレンス", -1, 7, 185, 240, 36 - PUSHBUTTON "キー設定(&K)...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "デフォルトの入力言語(&L)", -1, 5, 5, 246, 55 + LTEXT "コンピュータ起動時に使う、インストール済みの入力言語の一つを選択して下さい。", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "インストール済みのサービス(&I)", -1, 5, 65, 246, 125 + LTEXT "リストで示されている各入力言語にご希望のサービスを選択して下さい。リストを変更するには、追加または削除ボタンをお使いください。", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "追加(&D)...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "削除(&R)", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "プロパティ(&P)...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "詳細設定", -1, 5, 195, 245, 30 + PUSHBUTTON "言語バー(&B)...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "キー設定(&K)...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/no-NO.rc b/dll/cpl/input/lang/no-NO.rc index 60bdf8f482f..fa996580e08 100644 --- a/dll/cpl/input/lang/no-NO.rc +++ b/dll/cpl/input/lang/no-NO.rc @@ -5,14 +5,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Innstillinger" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Velg tjenesten som du vil ha for hver inndataspråk som er vist i listen.\nBruk legg til og fjern knappen for å endre denne listen.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "&Sett Standard", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "Le&gg til...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Fjern", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Egenskaper...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Innstillinger", -1, 7, 185, 240, 36 - PUSHBUTTON "&Tasteinnstillinger...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Velg tjenesten som du vil ha for hver inndataspråk som er vist i listen. Bruk legg til og fjern knappen for å endre denne listen.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "Le&gg til...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Fjern", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Egenskaper...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Innstillinger", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Tasteinnstillinger...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/pl-PL.rc b/dll/cpl/input/lang/pl-PL.rc index 93672cc60b1..11603d4c4cb 100644 --- a/dll/cpl/input/lang/pl-PL.rc +++ b/dll/cpl/input/lang/pl-PL.rc @@ -13,14 +13,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Ustawienia" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Wybierz usługi dla kadego używanego języka z listy.\nListę można modyfikować przyciskami Dodaj i Usuń.", -1, 9, 6, 238, 17 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 28, 237, 109 - PUSHBUTTON "&Ustaw domyślne", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "&Dodaj...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "U&suń", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Właściwości...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Preferencje", -1, 7, 185, 240, 36 - PUSHBUTTON "Us&tawienia klawiszy...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Wybierz usługi dla kadego używanego języka z listy. Listę można modyfikować przyciskami Dodaj i Usuń.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "&Dodaj...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "U&suń", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Właściwości...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Preferencje", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "Us&tawienia klawiszy...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/pt-BR.rc b/dll/cpl/input/lang/pt-BR.rc index 855f986998d..af1929f8f9f 100644 --- a/dll/cpl/input/lang/pt-BR.rc +++ b/dll/cpl/input/lang/pt-BR.rc @@ -5,14 +5,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Configurações" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Selecione os serviços desejados para cada idioma de entrada mostrado na lista. Use os botões 'Adicionar' e 'Remover' para modificar essa lista.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "De&finir padrão", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "&Adicionar...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Remover", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Propriedades...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Preferências", -1, 7, 185, 240, 36 - PUSHBUTTON "&Configurações de tecla...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Selecione os serviços desejados para cada idioma de entrada mostrado na lista. Use os botões 'Adicionar' e 'Remover' para modificar essa lista.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "&Adicionar...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Remover", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Propriedades...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Preferências", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Configurações de tecla...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/pt-PT.rc b/dll/cpl/input/lang/pt-PT.rc index 01df2d6d4a6..58c10e99ca0 100644 --- a/dll/cpl/input/lang/pt-PT.rc +++ b/dll/cpl/input/lang/pt-PT.rc @@ -5,14 +5,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Definições" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Seleccione os serviços desejados para cada idioma de entrada mostrado na lista. Use os botões 'Adicionar' e 'Remover' para modificar a lista.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "De&finir padrão", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "&Adicionar...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Remover", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Propriedades...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Preferências", -1, 7, 185, 240, 36 - PUSHBUTTON "&Definições de tecla...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Seleccione os serviços desejados para cada idioma de entrada mostrado na lista. Use os botões 'Adicionar' e 'Remover' para modificar a lista.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "&Adicionar...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Remover", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Propriedades...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Preferências", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Definições de tecla...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/ro-RO.rc b/dll/cpl/input/lang/ro-RO.rc index a280fbdd318..e21a9401a53 100644 --- a/dll/cpl/input/lang/ro-RO.rc +++ b/dll/cpl/input/lang/ro-RO.rc @@ -7,14 +7,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Configurare" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Gestionați serviciile aferente limbilor de intrare utilizate în sistem. Utilizați butoanele pentru a aduce modificări listei.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "&Restabilește opțiunile implicite", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "A&dăugare…", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Elimină", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Proprietăți…", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Preferințe", -1, 7, 185, 240, 36 - PUSHBUTTON "&Combinații de taste…", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Gestionați serviciile aferente limbilor de intrare utilizate în sistem. Utilizați butoanele pentru a aduce modificări listei.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "A&dăugare…", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Elimină", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Proprietăți…", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Preferințe", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Combinații de taste…", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/ru-RU.rc b/dll/cpl/input/lang/ru-RU.rc index 2a7bd8646a6..2b45a8cdaa8 100644 --- a/dll/cpl/input/lang/ru-RU.rc +++ b/dll/cpl/input/lang/ru-RU.rc @@ -5,14 +5,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Параметры" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Выберите нужные раскладки для каждого языка ввода из списка. Для изменения списка служат кнопки ""Добавить"" и ""Удалить"".", -1, 9, 6, 238, 17 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 28, 237, 109 - PUSHBUTTON "Ус&тановить по умолчанию", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "&Добавить...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Удалить", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Свойства...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Параметры", -1, 7, 185, 240, 36 - PUSHBUTTON "&Параметры клавиатуры...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Выберите нужные раскладки для каждого языка ввода из списка. Для изменения списка служат кнопки ""Добавить"" и ""Удалить"".", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "&Добавить...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Удалить", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Свойства...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Параметры", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Параметры клавиатуры...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/sk-SK.rc b/dll/cpl/input/lang/sk-SK.rc index c0899d3e311..6b93972ee18 100644 --- a/dll/cpl/input/lang/sk-SK.rc +++ b/dll/cpl/input/lang/sk-SK.rc @@ -10,14 +10,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Nastavenia" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Vyberte služby, ktoré chcete priradiť ku každému vstupnému jazyku uvedenému v zozname.\nPoužite tlačidlá Pridať a Odstrániť k úprave zoznamu.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "Pred&voliť", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "&Pridať...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "O&dstrániť", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "Vl&astnosti...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Preferencie", -1, 7, 185, 240, 36 - PUSHBUTTON "Nastavenie &klávesov...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Vyberte služby, ktoré chcete priradiť ku každému vstupnému jazyku uvedenému v zozname. Použite tlačidlá Pridať a Odstrániť k úprave zoznamu.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "&Pridať...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "O&dstrániť", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "Vl&astnosti...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Preferencie", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "Nastavenie &klávesov...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/sq-AL.rc b/dll/cpl/input/lang/sq-AL.rc index 5eda787ad32..a2d95b4a527 100644 --- a/dll/cpl/input/lang/sq-AL.rc +++ b/dll/cpl/input/lang/sq-AL.rc @@ -9,14 +9,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Cilësimet" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Zgjidhni shërbimet që ju dëshironi për çdo gjuhë të dhënash treguar në listë.\nPërdor Shto dhe Hiq butonat për të modifikuar këtë listë.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "&Vendos Parazgjedhur", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "Sh&to...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Hiq", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "&Karakteristikat...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Preferenca", -1, 7, 185, 240, 36 - PUSHBUTTON "&Çeles cilësimesh...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Zgjidhni shërbimet që ju dëshironi për çdo gjuhë të dhënash treguar në listë. Përdor Shto dhe Hiq butonat për të modifikuar këtë listë.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "Sh&to...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Hiq", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "&Karakteristikat...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Preferenca", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Çeles cilësimesh...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/tr-TR.rc b/dll/cpl/input/lang/tr-TR.rc index fc7441526ec..fcfab5246f8 100644 --- a/dll/cpl/input/lang/tr-TR.rc +++ b/dll/cpl/input/lang/tr-TR.rc @@ -7,14 +7,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Ayarlar" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Listede gösterilen her bir giriş dili için istediğiniz hizmetleri seçiniz.\nBu listeyi değiştirmek için Ekle veya Sil tuşlarını kullanınız.", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "Ö&n Tanımlı Yap", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "&Ekle...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "&Sil", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "Ö&zellikler...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Tercihler", -1, 7, 185, 240, 36 - PUSHBUTTON "&Tuş Ayarları...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Listede gösterilen her bir giriş dili için istediğiniz hizmetleri seçiniz. Bu listeyi değiştirmek için Ekle veya Sil tuşlarını kullanınız.", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "&Ekle...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "&Sil", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "Ö&zellikler...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Tercihler", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Tuş Ayarları...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/uk-UA.rc b/dll/cpl/input/lang/uk-UA.rc index a341ebaffdb..2d91e093aa6 100644 --- a/dll/cpl/input/lang/uk-UA.rc +++ b/dll/cpl/input/lang/uk-UA.rc @@ -13,14 +13,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Параметри" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Виберіть потрібні розкладки для кожної мови введення зі списку. Для зміни списку використовуйте кнопки ""Додати"" і ""Видалити"".", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "Встановити за замов&чуванням", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "&Додати...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "В&идалити", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "В&ластивості...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "Налаштування", -1, 7, 185, 240, 36 - PUSHBUTTON "&Параметри клавіатури...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "Виберіть потрібні розкладки для кожної мови введення зі списку. Для зміни списку використовуйте кнопки ""Додати"" і ""Видалити"".", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "&Додати...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "В&идалити", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "В&ластивості...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "Налаштування", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "&Параметри клавіатури...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/zh-CN.rc b/dll/cpl/input/lang/zh-CN.rc index fbd602efcfd..3a6e20841c4 100644 --- a/dll/cpl/input/lang/zh-CN.rc +++ b/dll/cpl/input/lang/zh-CN.rc @@ -7,14 +7,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "设置" FONT 9, "宋体" BEGIN - LTEXT "为列表中显示的每个输入语言选择服务。\n使用“添加”和“删除”按钮来修改这个列表。", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "设为默认值(&S)", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "添加(&D)...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "删除(&R)", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "属性(&P)...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "首选项", -1, 7, 185, 240, 36 - PUSHBUTTON "键设置(&K)...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "为列表中显示的每个输入语言选择服务。使用“添加”和“删除”按钮来修改这个列表。", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "添加(&D)...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "删除(&R)", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "属性(&P)...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "首选项", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "键设置(&K)...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/zh-HK.rc b/dll/cpl/input/lang/zh-HK.rc index 79f635bfc88..9430e0ff36e 100644 --- a/dll/cpl/input/lang/zh-HK.rc +++ b/dll/cpl/input/lang/zh-HK.rc @@ -13,14 +13,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "設定" FONT 9, "新細明體" BEGIN - LTEXT "為列表中顯示的每個輸入語言選擇服務。\n請按[新增]和[刪除]按鈕來修改這個列表。", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "設為預設值(&S)", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "新增(&D)...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "刪除(&R)", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "內容(&P)...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "偏好設定", -1, 7, 185, 240, 36 - PUSHBUTTON "按鍵設定(&K)...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "為列表中顯示的每個輸入語言選擇服務。請按[新增]和[刪除]按鈕來修改這個列表。", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "新增(&D)...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "刪除(&R)", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "內容(&P)...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "偏好設定", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "按鍵設定(&K)...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/lang/zh-TW.rc b/dll/cpl/input/lang/zh-TW.rc index b5902c9b4df..e7ddb4a0ce0 100644 --- a/dll/cpl/input/lang/zh-TW.rc +++ b/dll/cpl/input/lang/zh-TW.rc @@ -13,14 +13,18 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "設定" FONT 9, "新細明體" BEGIN - LTEXT "為列表中顯示的每個輸入語言選擇服務。\n請按[新增]和[刪除]按鈕來修改這個列表。", -1, 9, 6, 238, 25 - CONTROL "TEXT", IDC_KEYLAYOUT_LIST, "SYSLISTVIEW32", WS_BORDER | WS_VSCROLL | WS_TABSTOP | LVS_SINGLESEL | LVS_NOSORTHEADER | LVS_SHOWSELALWAYS | LVS_REPORT, 8, 36, 237, 101 - PUSHBUTTON "設為預設值(&S)", IDC_SET_DEFAULT, 101, 159, 144, 14 - PUSHBUTTON "新增(&D)...", IDC_ADD_BUTTON, 27, 142, 70, 14 - PUSHBUTTON "刪除(&R)", IDC_REMOVE_BUTTON, 101, 142, 70, 14 - PUSHBUTTON "內容(&P)...", IDC_PROP_BUTTON, 175, 142, 70, 14 - GROUPBOX "偏好設定", -1, 7, 185, 240, 36 - PUSHBUTTON "按鍵設定(&K)...", IDC_KEY_SET_BTN, 14, 198, 110, 14 + GROUPBOX "Default input &language", -1, 5, 5, 246, 55 + LTEXT "Select one of the installed input languages to use when your computer starts.", -1, 15, 15, 230, 23 + COMBOBOX IDC_DEFAULT_LANGUAGE, 15, 40, 230, 300, CBS_HASSTRINGS | CBS_AUTOHSCROLL | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "&Installed services", -1, 5, 65, 246, 125 + LTEXT "為列表中顯示的每個輸入語言選擇服務。請按[新增]和[刪除]按鈕來修改這個列表。", -1, 15, 78, 230, 25 + CONTROL "", IDC_KEYLAYOUT_LIST, "SysTreeView32", TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 15, 105, 155, 80 + PUSHBUTTON "新增(&D)...", IDC_ADD_BUTTON, 175, 105, 70, 14 + PUSHBUTTON "刪除(&R)", IDC_REMOVE_BUTTON, 175, 125, 70, 14 + PUSHBUTTON "內容(&P)...", IDC_PROP_BUTTON, 175, 145, 70, 14 + GROUPBOX "偏好設定", -1, 5, 195, 245, 30 + PUSHBUTTON "Language &Bar...", IDC_LANGUAGE_BAR, 15, 205, 110, 14 + PUSHBUTTON "按鍵設定(&K)...", IDC_KEY_SET_BTN, 133, 205, 110, 14 END IDD_PROPPAGEADVANCEDSETTINGS DIALOGEX 0, 0, 254, 228 diff --git a/dll/cpl/input/resource.h b/dll/cpl/input/resource.h index 7a76196151b..31a2083f235 100644 --- a/dll/cpl/input/resource.h +++ b/dll/cpl/input/resource.h @@ -6,6 +6,8 @@ #define IDI_MIC_ICO 203 #define IDI_INFO_ICO 207 #define IDI_CPLSYSTEM 1502 +#define IDI_KEYBOARD 1503 +#define IDI_DOT 1504 /* IDD */ #define IDD_PROPPAGESETTINGS 500 @@ -17,7 +19,7 @@ /* IDC */ #define IDC_KEYLAYOUT_LIST 1000 -#define IDC_SET_DEFAULT 1001 +#define IDC_DEFAULT_LANGUAGE 1001 #define IDC_ADD_BUTTON 1002 #define IDC_REMOVE_BUTTON 1003 #define IDC_PROP_BUTTON 1004 @@ -37,6 +39,7 @@ #define IDC_CTRL_LAYOUT 1018 #define IDC_LEFT_ALT_LANG 1019 #define IDC_LEFT_ALT_LAYOUT 1020 +#define IDC_LANGUAGE_BAR 1021 /* IDS */ #define IDS_CPLSYSTEMNAME 1 diff --git a/dll/cpl/input/resources/dot.ico b/dll/cpl/input/resources/dot.ico new file mode 100644 index 0000000000000000000000000000000000000000..2ae06af2d03dd95fbf850c5d002b26b4ae45ce13 GIT binary patch literal 894 zcmZQzU}Ruq5D);-5)2v43=Con3=A3!3=9Gc3=9ek5OD?&UwBj4Of84fH@!GFibV0BDg{T6rbq$Pdx*}4|@a#@zK@5 F_y980L6QIf literal 0 HcmV?d00001 diff --git a/dll/cpl/input/resources/keyboard.ico b/dll/cpl/input/resources/keyboard.ico new file mode 100644 index 0000000000000000000000000000000000000000..ad016fdc47bdf49596086a9adfbf265d9e8b70a9 GIT binary patch literal 25214 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 "EN" etc. */ + + /* Prepare for DIB (device-independent bitmap) */ + ZeroMemory(&bmi, sizeof(bmi)); + bmi.bmiHeader.biSize = sizeof(bmi.bmiHeader); + bmi.bmiHeader.biWidth = cxIcon; + bmi.bmiHeader.biHeight = cyIcon; + bmi.bmiHeader.biPlanes = 1; + bmi.bmiHeader.biBitCount = 24; + + /* Create hdc, hbmColor and hbmMono */ + hdc = CreateCompatibleDC(NULL); + hbmColor = CreateDIBSection(hdc, &bmi, DIB_RGB_COLORS, NULL, NULL, 0); + hbmMono = CreateBitmap(cxIcon, cyIcon, 1, 1, NULL); + + /* Create a font */ + if (SystemParametersInfoW(SPI_GETICONTITLELOGFONT, sizeof(lf), &lf, 0)) + hFont = CreateFontIndirectW(&lf); + else + hFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT); + + /* Checking NULL */ + if (!hdc || !hbmColor || !hbmMono || !hFont) + { + if (hdc) + DeleteDC(hdc); + if (hbmColor) + DeleteObject(hbmColor); + if (hbmMono) + DeleteObject(hbmMono); + if (hFont) + DeleteObject(hFont); + return NULL; + } - if (SystemParametersInfoW(SPI_GETICONTITLELOGFONT, sizeof(lf), &lf, 0)) - { - ICONINFO IconInfo; - HFONT hFont; + SetRect(&rect, 0, 0, cxIcon, cyIcon); + + /* Draw hbmColor */ + hBmpOld = SelectObject(hdc, hbmColor); + SetDCBrushColor(hdc, GetSysColor(COLOR_HIGHLIGHT)); + FillRect(hdc, &rect, (HBRUSH)GetStockObject(DC_BRUSH)); + hFontOld = SelectObject(hdc, hFont); + SetTextColor(hdc, GetSysColor(COLOR_HIGHLIGHTTEXT)); + SetBkMode(hdc, TRANSPARENT); + DrawTextW(hdc, szBuf, 2, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); + SelectObject(hdc, hFontOld); + SelectObject(hdc, hBmpOld); + + /* Fill hbmMono by black */ + hBmpOld = SelectObject(hdc, hbmMono); + PatBlt(hdc, 0, 0, cxIcon, cyIcon, BLACKNESS); + SelectObject(hdc, hBmpOld); + + /* Create an icon from hbmColor and hbmMono */ + IconInfo.hbmColor = hbmColor; + IconInfo.hbmMask = hbmMono; + IconInfo.fIcon = TRUE; + hIcon = CreateIconIndirect(&IconInfo); + + /* Clean up */ + DeleteObject(hbmColor); + DeleteObject(hbmMono); + DeleteObject(hFont); + DeleteDC(hdc); - hFont = CreateFontIndirectW(&lf); + return hIcon; +} - if (hFont != NULL) - { - HBITMAP hBmpOld; +static VOID InitDefaultLangComboBox(HWND hwndCombo) +{ + WCHAR szText[256]; + INPUT_LIST_NODE *pNode; + INT iIndex, nCount, iDefault = (INT)SendMessageW(hwndCombo, CB_GETCURSEL, 0, 0); - hBmpOld = SelectObject(hdc, hBitmap); + SendMessageW(hwndCombo, CB_RESETCONTENT, 0, 0); - if (hBmpOld != NULL) - { - RECT rect; + for (pNode = InputList_GetFirst(); pNode != NULL; pNode = pNode->pNext) + { + if (pNode->wFlags & INPUT_LIST_NODE_FLAG_DELETED) + continue; - SetRect(&rect, 0, 0, width / 2, height); + StringCchPrintfW(szText, _countof(szText), L"%s - %s", + pNode->pLocale->pszName, pNode->pLayout->pszName); + iIndex = (INT)SendMessageW(hwndCombo, CB_ADDSTRING, 0, (LPARAM)szText); + SendMessageW(hwndCombo, CB_SETITEMDATA, iIndex, (LPARAM)pNode); - if (bIsDefault != FALSE) - { - SetBkColor(hdc, GetSysColor(COLOR_WINDOW)); - SetTextColor(hdc, GetSysColor(COLOR_WINDOWTEXT)); + if (pNode->wFlags & INPUT_LIST_NODE_FLAG_DEFAULT) + iDefault = iIndex; + } - ExtTextOutW(hdc, rect.left, rect.top, ETO_OPAQUE, &rect, L"", 0, NULL); + nCount = (INT)SendMessageW(hwndCombo, CB_GETCOUNT, 0, 0); + if (iDefault >= nCount) + SendMessageW(hwndCombo, CB_SETCURSEL, nCount - 1, 0); + else + SendMessageW(hwndCombo, CB_SETCURSEL, iDefault, 0); +} - SelectObject(hdc, hFont); - DrawFrameControl(hdc, &rect, DFC_MENU, DFCS_MENUBULLET); - } - else - { - FillRect(hdc, &rect, GetSysColorBrush(COLOR_WINDOW)); - } +static VOID +SetControlsState(HWND hwndDlg) +{ + HWND hwndList = GetDlgItem(hwndDlg, IDC_KEYLAYOUT_LIST); + HWND hwndCombo = GetDlgItem(hwndDlg, IDC_DEFAULT_LANGUAGE); + BOOL bIsLeaf, bCanRemove, bCanProp; + HTREEITEM hSelected = TreeView_GetSelection(hwndList); + TV_ITEM item = { TVIF_PARAM | TVIF_HANDLE }; + item.hItem = hSelected; - SetRect(&rect, width / 2, 0, width, height); + bIsLeaf = (hSelected && TreeView_GetItem(hwndList, &item) && HIWORD(item.lParam)); - SetBkColor(hdc, GetSysColor(COLOR_HIGHLIGHT)); - SetTextColor(hdc, GetSysColor(COLOR_HIGHLIGHTTEXT)); + bCanRemove = (bIsLeaf && (s_nAliveLeafCount > 1)) || (s_nRootCount > 1); + bCanProp = bIsLeaf; - ExtTextOutW(hdc, rect.left, rect.top, ETO_OPAQUE, &rect, L"", 0, NULL); + EnableWindow(GetDlgItem(hwndDlg, IDC_REMOVE_BUTTON), bCanRemove); + EnableWindow(GetDlgItem(hwndDlg, IDC_PROP_BUTTON), bCanProp); - SelectObject(hdc, hFont); - DrawTextW(hdc, szLayout, 2, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); + InitDefaultLangComboBox(hwndCombo); +} - SelectObject(hdc, hBmpNew); +static BOOL CALLBACK +EnumResNameProc(HMODULE hModule, LPCWSTR lpszType, LPWSTR lpszName, LONG_PTR lParam) +{ + HICON* phIconSm = (HICON*)lParam; + if (*phIconSm) + return FALSE; + + *phIconSm = (HICON)LoadImageW(hModule, lpszName, IMAGE_ICON, + GetSystemMetrics(SM_CXSMICON), + GetSystemMetrics(SM_CYSMICON), + 0); + return TRUE; +} - PatBlt(hdc, 0, 0, width, height, BLACKNESS); +static HICON LoadIMEIcon(LPCTSTR pszImeFile) +{ + WCHAR szSysDir[MAX_PATH], szPath[MAX_PATH]; + HINSTANCE hImeInst; + HICON hIconSm = NULL; - SelectObject(hdc, hBmpOld); + GetSystemDirectoryW(szSysDir, _countof(szSysDir)); + StringCchPrintfW(szPath, _countof(szPath), L"%s\\%s", szSysDir, pszImeFile); - IconInfo.hbmColor = hBitmap; - IconInfo.hbmMask = hBmpNew; - IconInfo.fIcon = TRUE; + hImeInst = LoadLibraryExW(szPath, NULL, DONT_RESOLVE_DLL_REFERENCES); + if (hImeInst == NULL) + return NULL; - hIcon = CreateIconIndirect(&IconInfo); + EnumResourceNamesW(hImeInst, RT_GROUP_ICON, EnumResNameProc, (LPARAM)&hIconSm); + FreeLibrary(hImeInst); - DeleteObject(hBmpOld); - } + return hIconSm; +} - DeleteObject(hFont); - } - } +static HTREEITEM FindLanguageInList(HWND hwndList, LPCTSTR pszLangName) +{ + TV_ITEM item; + TCHAR szText[128]; + HTREEITEM hItem; - DeleteObject(hBmpNew); - } + hItem = TreeView_GetRoot(hwndList); + while (hItem) + { + szText[0] = 0; + item.mask = TVIF_TEXT | TVIF_HANDLE; + item.pszText = szText; + item.cchTextMax = _countof(szText); + item.hItem = hItem; + TreeView_GetItem(hwndList, &item); + if (_wcsicmp(szText, pszLangName) == 0) + return hItem; + + hItem = TreeView_GetNextSibling(hwndList, hItem); } - DeleteDC(hdc); - DeleteObject(hBitmap); - - return hIcon; + return NULL; } - static VOID -SetControlsState(HWND hwndDlg) +AddToInputListView(HWND hwndList, INPUT_LIST_NODE *pInputNode) { - HWND hwndList = GetDlgItem(hwndDlg, IDC_KEYLAYOUT_LIST); - INT iSelected = ListView_GetNextItem(hwndList, -1, LVNI_SELECTED); - INT nCount = ListView_GetItemCount(hwndList); - BOOL bCanRemove = (iSelected != -1) && (nCount >= 2); - BOOL bCanDefault = (iSelected != -1) && (nCount >= 2); - BOOL bCanProp = (iSelected != -1); - - LV_ITEM item = { LVIF_PARAM, iSelected }; - if (ListView_GetItem(hwndList, &item)) + TV_ITEM item; + TV_INSERTSTRUCT insert; + HIMAGELIST hImageList = TreeView_GetImageList(hwndList, TVSIL_NORMAL); + WCHAR szKeyboard[64]; + HTREEITEM hItem; + BOOL bBold = !!(pInputNode->wFlags & INPUT_LIST_NODE_FLAG_DEFAULT); + + hItem = FindLanguageInList(hwndList, pInputNode->pLocale->pszName); + if (hItem == NULL) { - INPUT_LIST_NODE *pInput = (INPUT_LIST_NODE*)item.lParam; + // Language icon + INT LangImageIndex = -1; + HICON hLangIcon = CreateLayoutIcon(LOWORD(pInputNode->pLocale->dwId)); + if (hLangIcon) + { + LangImageIndex = ImageList_AddIcon(hImageList, hLangIcon); + DestroyIcon(hLangIcon); + } - if (pInput && (pInput->wFlags & INPUT_LIST_NODE_FLAG_DEFAULT)) + // Language + ZeroMemory(&item, sizeof(item)); + item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_PARAM | TVIF_SELECTEDIMAGE | TVIF_STATE; + item.pszText = pInputNode->pLocale->pszName; + item.iImage = LangImageIndex; + item.iSelectedImage = LangImageIndex; + item.lParam = LOWORD(pInputNode->pLocale->dwId); // HIWORD(item.lParam) == 0 + if (bBold) { - bCanDefault = FALSE; + item.state = item.stateMask = TVIS_BOLD; } + insert.hParent = TVI_ROOT; + insert.hInsertAfter = TVI_LAST; + insert.item = item; + hItem = TreeView_InsertItem(hwndList, &insert); + + // The type of input method (currently keyboard only) + LoadStringW(hApplet, IDS_KEYBOARD, szKeyboard, _countof(szKeyboard)); + ZeroMemory(&item, sizeof(item)); + item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_PARAM | TVIF_SELECTEDIMAGE; + item.pszText = szKeyboard; + item.iImage = s_iKeyboardImage; + item.iSelectedImage = s_iKeyboardImage; + item.lParam = 0; // HIWORD(item.lParam) == 0 + insert.hParent = hItem; + insert.hInsertAfter = TVI_LAST; + insert.item = item; + hItem = TreeView_InsertItem(hwndList, &insert); } + else + { + // Language + ZeroMemory(&item, sizeof(item)); + item.mask = TVIF_STATE | TVIF_HANDLE; + item.hItem = hItem; + item.stateMask = TVIS_BOLD; + if (TreeView_GetItem(hwndList, &item) && bBold && !(item.state & TVIS_BOLD)) + { + // Make the item bold + item.mask = TVIF_STATE | TVIF_HANDLE; + item.hItem = hItem; + item.state = item.stateMask = TVIS_BOLD; + TreeView_SetItem(hwndList, &item); + } - EnableWindow(GetDlgItem(hwndDlg, IDC_REMOVE_BUTTON), bCanRemove); - EnableWindow(GetDlgItem(hwndDlg, IDC_PROP_BUTTON), bCanProp); - EnableWindow(GetDlgItem(hwndDlg, IDC_SET_DEFAULT), bCanDefault); -} - -static VOID -AddToInputListView(HWND hwndList, INPUT_LIST_NODE *pInputNode) -{ - INT ItemIndex, ImageIndex = -1; - LV_ITEM item; - HIMAGELIST hImageList = ListView_GetImageList(hwndList, LVSIL_SMALL); + // The type of input method (currently keyboard only) + hItem = TreeView_GetChild(hwndList, hItem); + } - if (hImageList != NULL) + // Input method + if (hItem) { - HICON hLayoutIcon; + INT ImeImageIndex = s_iDotImage; + if (IS_IME_HKL(pInputNode->hkl) && pInputNode->pLayout->pszImeFile) // IME? + { + HICON hImeIcon = LoadIMEIcon(pInputNode->pLayout->pszImeFile); + if (hImeIcon) + { + ImeImageIndex = ImageList_AddIcon(hImageList, hImeIcon); + DestroyIcon(hImeIcon); + } + } - hLayoutIcon = CreateLayoutIcon(pInputNode->pszIndicator, - (pInputNode->wFlags & INPUT_LIST_NODE_FLAG_DEFAULT)); - if (hLayoutIcon != NULL) + ZeroMemory(&item, sizeof(item)); + item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_PARAM | TVIF_SELECTEDIMAGE | TVIF_STATE; + item.pszText = pInputNode->pLayout->pszName; + item.iImage = ImeImageIndex; + item.iSelectedImage = ImeImageIndex; + item.lParam = (LPARAM)pInputNode; // HIWORD(item.lParam) != 0 + if (bBold) { - ImageIndex = ImageList_AddIcon(hImageList, hLayoutIcon); - DestroyIcon(hLayoutIcon); + item.state = item.stateMask = TVIS_BOLD; // Make the item bold } + insert.hParent = hItem; + insert.hInsertAfter = TVI_LAST; + insert.item = item; + hItem = TreeView_InsertItem(hwndList, &insert); } - - ZeroMemory(&item, sizeof(item)); - item.mask = LVIF_TEXT | LVIF_PARAM | LVIF_IMAGE; - item.pszText = pInputNode->pLocale->pszName; - item.iItem = ListView_GetItemCount(hwndList); - item.lParam = (LPARAM)pInputNode; - item.iImage = ImageIndex; - ItemIndex = ListView_InsertItem(hwndList, &item); - - ListView_SetItemText(hwndList, ItemIndex, 1, pInputNode->pLayout->pszName); } +static VOID ExpandTreeItem(HWND hwndTree, HTREEITEM hItem) +{ + TreeView_Expand(hwndTree, hItem, TVE_EXPAND); + hItem = TreeView_GetChild(hwndTree, hItem); + while (hItem) + { + ExpandTreeItem(hwndTree, hItem); + hItem = TreeView_GetNextSibling(hwndTree, hItem); + } +} static VOID UpdateInputListView(HWND hwndList) { INPUT_LIST_NODE *pNode; - HIMAGELIST hImageList = ListView_GetImageList(hwndList, LVSIL_SMALL); - INT iSelected = ListView_GetNextItem(hwndList, -1, LVNI_SELECTED); + HIMAGELIST hImageList = TreeView_GetImageList(hwndList, TVSIL_NORMAL); + HTREEITEM hItem; + HICON hKeyboardIcon, hDotIcon; + + ImageList_RemoveAll(hImageList); + TreeView_DeleteAllItems(hwndList); + + // Add keyboard icon + s_iKeyboardImage = -1; + hKeyboardIcon = (HICON)LoadImageW(hApplet, MAKEINTRESOURCEW(IDI_KEYBOARD), IMAGE_ICON, + GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), + 0); + if (hKeyboardIcon) + { + s_iKeyboardImage = ImageList_AddIcon(hImageList, hKeyboardIcon); + DestroyIcon(hKeyboardIcon); + } - if (hImageList) + // Add dot icon + s_iDotImage = -1; + hDotIcon = (HICON)LoadImageW(hApplet, MAKEINTRESOURCEW(IDI_DOT), IMAGE_ICON, + GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), + 0); + if (hDotIcon) { - ImageList_RemoveAll(hImageList); + s_iDotImage = ImageList_AddIcon(hImageList, hDotIcon); + DestroyIcon(hDotIcon); } - ListView_DeleteAllItems(hwndList); + InputList_Sort(); - for (pNode = InputList_GetFirst(); pNode != NULL; pNode = pNode->pNext) + s_nAliveLeafCount = InputList_GetAliveCount(); + + // Add items to the list + for (pNode = InputList_GetFirst(); pNode; pNode = pNode->pNext) { if (pNode->wFlags & INPUT_LIST_NODE_FLAG_DELETED) continue; @@ -190,62 +372,43 @@ UpdateInputListView(HWND hwndList) AddToInputListView(hwndList, pNode); } - if (iSelected != -1) + // Expand all (with counting s_nRootCount) + s_nRootCount = 0; + hItem = TreeView_GetRoot(hwndList); + while (hItem) { - INT nCount = ListView_GetItemCount(hwndList); - LV_ITEM item = { LVIF_STATE }; - item.state = item.stateMask = LVIS_SELECTED; - item.iItem = ((nCount == iSelected) ? nCount - 1 : iSelected); - ListView_SetItem(hwndList, &item); + ++s_nRootCount; + ExpandTreeItem(hwndList, hItem); + hItem = TreeView_GetNextSibling(hwndList, hItem); } + // Redraw InvalidateRect(hwndList, NULL, TRUE); } - static VOID OnInitSettingsPage(HWND hwndDlg) { HWND hwndInputList = GetDlgItem(hwndDlg, IDC_KEYLAYOUT_LIST); + HIMAGELIST hLayoutImageList, hOldImageList; LayoutList_Create(); LocaleList_Create(); InputList_Create(); - if (hwndInputList != NULL) - { - WCHAR szBuffer[MAX_STR_LEN]; - HIMAGELIST hLayoutImageList; - LV_COLUMN column = { LVCF_FMT | LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM }; - - ListView_SetExtendedListViewStyle(hwndInputList, LVS_EX_FULLROWSELECT); - - LoadStringW(hApplet, IDS_LANGUAGE, szBuffer, ARRAYSIZE(szBuffer)); - column.fmt = LVCFMT_LEFT; - column.iSubItem = 0; - column.pszText = szBuffer; - column.cx = 175; - ListView_InsertColumn(hwndInputList, 0, &column); - - LoadStringW(hApplet, IDS_LAYOUT, szBuffer, ARRAYSIZE(szBuffer)); - column.fmt = LVCFMT_RIGHT; - column.cx = 155; - column.iSubItem = 1; - column.pszText = szBuffer; - ListView_InsertColumn(hwndInputList, 1, &column); - - hLayoutImageList = ImageList_Create(GetSystemMetrics(SM_CXSMICON) * 2, - GetSystemMetrics(SM_CYSMICON), - ILC_COLOR8 | ILC_MASK, 0, 0); - if (hLayoutImageList != NULL) - { - HIMAGELIST hOldImagelist = ListView_SetImageList(hwndInputList, hLayoutImageList, LVSIL_SMALL); - ImageList_Destroy(hOldImagelist); - } + EnableWindow(GetDlgItem(hwndDlg, IDC_LANGUAGE_BAR), FALSE); - UpdateInputListView(hwndInputList); + hLayoutImageList = ImageList_Create(GetSystemMetrics(SM_CXSMICON), + GetSystemMetrics(SM_CYSMICON), + ILC_COLOR8 | ILC_MASK, 0, 0); + if (hLayoutImageList != NULL) + { + hOldImageList = TreeView_SetImageList(hwndInputList, hLayoutImageList, TVSIL_NORMAL); + ImageList_Destroy(hOldImageList); } + UpdateInputListView(hwndInputList); + SetControlsState(hwndDlg); } @@ -283,12 +446,30 @@ OnCommandSettingsPage(HWND hwndDlg, WPARAM wParam) HWND hwndList = GetDlgItem(hwndDlg, IDC_KEYLAYOUT_LIST); if (hwndList) { - LVITEM item = { LVIF_PARAM }; - item.iItem = ListView_GetNextItem(hwndList, -1, LVNI_SELECTED); + HTREEITEM hItem = TreeView_GetSelection(hwndList); + TV_ITEM item = { TVIF_HANDLE | TVIF_PARAM }; + item.hItem = hItem; - if (ListView_GetItem(hwndList, &item)) + if (hItem && TreeView_GetItem(hwndList, &item)) { - InputList_Remove((INPUT_LIST_NODE*) item.lParam); + if (item.lParam == 0) // Branch? (currently branch is keyboard only) + { + // Get root of branch + item.hItem = TreeView_GetParent(hwndList, hItem); + TreeView_GetItem(hwndList, &item); + } + + if (HIWORD(item.lParam)) // Leaf? + { + if (InputList_Remove((INPUT_LIST_NODE*)item.lParam)) + s_bDefaultInputChanged = TRUE; + } + else // Root? + { + if (InputList_RemoveByLang(LOWORD(item.lParam))) + s_bDefaultInputChanged = TRUE; + } + UpdateInputListView(hwndList); SetControlsState(hwndDlg); PropSheet_Changed(GetParent(hwndDlg), hwndDlg); @@ -302,10 +483,11 @@ OnCommandSettingsPage(HWND hwndDlg, WPARAM wParam) HWND hwndList = GetDlgItem(hwndDlg, IDC_KEYLAYOUT_LIST); if (hwndList) { - LVITEM item = { LVIF_PARAM }; - item.iItem = ListView_GetNextItem(hwndList, -1, LVNI_SELECTED); + HTREEITEM hItem = TreeView_GetSelection(hwndList); + TV_ITEM item = { TVIF_HANDLE | TVIF_PARAM }; + item.hItem = hItem; - if (ListView_GetItem(hwndList, &item)) + if (hItem && TreeView_GetItem(hwndList, &item) && HIWORD(item.lParam)) { if (DialogBoxParamW(hApplet, MAKEINTRESOURCEW(IDD_INPUT_LANG_PROP), @@ -322,25 +504,6 @@ OnCommandSettingsPage(HWND hwndDlg, WPARAM wParam) } break; - case IDC_SET_DEFAULT: - { - HWND hwndList = GetDlgItem(hwndDlg, IDC_KEYLAYOUT_LIST); - if (hwndList) - { - LVITEM item = { LVIF_PARAM }; - item.iItem = ListView_GetNextItem(hwndList, -1, LVNI_SELECTED); - - if (ListView_GetItem(hwndList, &item)) - { - InputList_SetDefault((INPUT_LIST_NODE*) item.lParam); - UpdateInputListView(hwndList); - SetControlsState(hwndDlg); - PropSheet_Changed(GetParent(hwndDlg), hwndDlg); - } - } - } - break; - case IDC_KEY_SET_BTN: { DialogBoxW(hApplet, @@ -349,6 +512,38 @@ OnCommandSettingsPage(HWND hwndDlg, WPARAM wParam) KeySettingsDialogProc); } break; + + case IDC_LANGUAGE_BAR: + { + // FIXME + break; + } + + case IDC_DEFAULT_LANGUAGE: + { + if (HIWORD(wParam) == CBN_SELENDOK) + { + HWND hwndList = GetDlgItem(hwndDlg, IDC_KEYLAYOUT_LIST); + HWND hwndCombo = GetDlgItem(hwndDlg, IDC_DEFAULT_LANGUAGE); + INT iSelected = (INT)SendMessageW(hwndCombo, CB_GETCURSEL, 0, 0); + if (iSelected != CB_ERR) + { + LPARAM lParam = SendMessageW(hwndCombo, CB_GETITEMDATA, iSelected, 0); + if (lParam) + { + INPUT_LIST_NODE* pNode = (INPUT_LIST_NODE*)lParam; + if (!(pNode->wFlags & INPUT_LIST_NODE_FLAG_DEFAULT)) + { + s_bDefaultInputChanged = TRUE; + InputList_SetDefault(pNode); + UpdateInputListView(hwndList); + SetControlsState(hwndDlg); + PropSheet_Changed(GetParent(hwndDlg), hwndDlg); + } + } + } + } + } } } @@ -356,6 +551,9 @@ static BOOL IsRebootNeeded(VOID) { INPUT_LIST_NODE *pNode; + if (s_bDefaultInputChanged) + return TRUE; + for (pNode = InputList_GetFirst(); pNode != NULL; pNode = pNode->pNext) { if (IS_IME_HKL(pNode->hkl)) /* IME? */ @@ -394,21 +592,31 @@ BOOL EnableProcessPrivileges(LPCWSTR lpPrivilegeName, BOOL bEnable) return Ret; } -static VOID +static INT_PTR OnNotifySettingsPage(HWND hwndDlg, LPARAM lParam) { LPNMHDR header = (LPNMHDR)lParam; switch (header->code) { - case LVN_ITEMCHANGED: + case TVN_SELCHANGED: + { + SetControlsState(hwndDlg); + break; + } + + case TVN_ITEMEXPANDING: { - if (header->idFrom == IDC_KEYLAYOUT_LIST) + // FIXME: Prevent collapse (COMCTL32 is buggy) + // https://bugs.winehq.org/show_bug.cgi?id=53727 + NM_TREEVIEW* pTreeView = (NM_TREEVIEW*)lParam; + if ((pTreeView->action & TVE_TOGGLE) == TVE_COLLAPSE) { - SetControlsState(hwndDlg); + SetWindowLongPtrW(hwndDlg, DWLP_MSGRESULT, TRUE); + return TRUE; } + break; } - break; case PSN_APPLY: { @@ -429,11 +637,12 @@ OnNotifySettingsPage(HWND hwndDlg, LPARAM lParam) ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0); } } + break; } - break; } -} + return 0; +} INT_PTR CALLBACK SettingsPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) @@ -453,8 +662,7 @@ SettingsPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) break; case WM_NOTIFY: - OnNotifySettingsPage(hwndDlg, lParam); - break; + return OnNotifySettingsPage(hwndDlg, lParam); } return FALSE; -- 2.51.2