https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5f4bb73edaaa738759cc86...
commit 5f4bb73edaaa738759cc86bf4cffde85c0765513 Author: Katayama Hirofumi MZ katayama.hirofumi.mz@gmail.com AuthorDate: Thu Sep 29 07:31:43 2022 +0900 Commit: GitHub noreply@github.com CommitDate: Thu Sep 29 07:31:43 2022 +0900
[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(-)
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 <reactos/version.rc>
IDI_CPLSYSTEM ICON "resources/keyboard-shortcuts.ico" +IDI_KEYBOARD ICON "resources/keyboard.ico" +IDI_DOT ICON "resources/dot.ico"
#include <reactos/manifest_hosted.rc>
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 00000000000..2ae06af2d03 Binary files /dev/null and b/dll/cpl/input/resources/dot.ico differ diff --git a/dll/cpl/input/resources/keyboard.ico b/dll/cpl/input/resources/keyboard.ico new file mode 100644 index 00000000000..ad016fdc47b Binary files /dev/null and b/dll/cpl/input/resources/keyboard.ico differ diff --git a/dll/cpl/input/settings_page.c b/dll/cpl/input/settings_page.c index 86ff2162f66..c49e25d9b29 100644 --- a/dll/cpl/input/settings_page.c +++ b/dll/cpl/input/settings_page.c @@ -11,178 +11,360 @@ #include "locale_list.h" #include "input_list.h"
+static INT s_nAliveLeafCount = 0; +static INT s_nRootCount = 0; +static INT s_iKeyboardImage = -1; +static INT s_iDotImage = -1; +static BOOL s_bDefaultInputChanged = FALSE; + static HICON -CreateLayoutIcon(LPWSTR szLayout, BOOL bIsDefault) +CreateLayoutIcon(LANGID LangID) { - INT width = GetSystemMetrics(SM_CXSMICON) * 2; - INT height = GetSystemMetrics(SM_CYSMICON); + WCHAR szBuf[4]; HDC hdc; - HDC hdcsrc; - HBITMAP hBitmap; - HICON hIcon = NULL; - - hdcsrc = GetDC(NULL); - hdc = CreateCompatibleDC(hdcsrc); - hBitmap = CreateCompatibleBitmap(hdcsrc, width, height); - - ReleaseDC(NULL, hdcsrc); - - if (hdc && hBitmap) + HBITMAP hbmColor, hbmMono, hBmpOld; + RECT rect; + HFONT hFontOld, hFont; + ICONINFO IconInfo; + HICON hIcon; + LOGFONTW lf; + BITMAPINFO bmi; + INT cxIcon = GetSystemMetrics(SM_CXSMICON); + INT cyIcon = GetSystemMetrics(SM_CYSMICON); + + /* Getting "EN", "FR", etc. from English, French, ... */ + if (!GetLocaleInfoW(LangID, LOCALE_SABBREVLANGNAME | LOCALE_NOUSEROVERRIDE, + szBuf, ARRAYSIZE(szBuf))) { - HBITMAP hBmpNew; - - hBmpNew = CreateBitmap(width, height, 1, 1, NULL); - if (hBmpNew) - { - LOGFONTW lf; + StringCchCopyW(szBuf, ARRAYSIZE(szBuf), L"??"); + } + szBuf[2] = UNICODE_NULL; /* Truncate the identifier to two characters: "ENG" --> "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;