[CPL][INPUT] Make the ListView a TreeView (#4726)

- Make the list a TreeView.
- Modify IDD_PROPPAGESETTINGS resource dialog for UI compatibility.
This commit is contained in:
Katayama Hirofumi MZ 2022-09-29 07:31:43 +09:00 committed by GitHub
parent f0e13157c6
commit 5f4bb73eda
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 822 additions and 394 deletions

View file

@ -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>

View file

@ -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)

View file

@ -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);

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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&regar...", 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&regar...", 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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -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;
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);
hdcsrc = GetDC(NULL);
hdc = CreateCompatibleDC(hdcsrc);
hBitmap = CreateCompatibleBitmap(hdcsrc, width, height);
ReleaseDC(NULL, hdcsrc);
if (hdc && hBitmap)
/* Getting "EN", "FR", etc. from English, French, ... */
if (!GetLocaleInfoW(LangID, LOCALE_SABBREVLANGNAME | LOCALE_NOUSEROVERRIDE,
szBuf, ARRAYSIZE(szBuf)))
{
HBITMAP hBmpNew;
StringCchCopyW(szBuf, ARRAYSIZE(szBuf), L"??");
}
szBuf[2] = UNICODE_NULL; /* Truncate the identifier to two characters: "ENG" --> "EN" etc. */
hBmpNew = CreateBitmap(width, height, 1, 1, NULL);
if (hBmpNew)
{
LOGFONTW lf;
/* 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;
if (SystemParametersInfoW(SPI_GETICONTITLELOGFONT, sizeof(lf), &lf, 0))
{
ICONINFO IconInfo;
HFONT hFont;
/* 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);
hFont = CreateFontIndirectW(&lf);
/* Create a font */
if (SystemParametersInfoW(SPI_GETICONTITLELOGFONT, sizeof(lf), &lf, 0))
hFont = CreateFontIndirectW(&lf);
else
hFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
if (hFont != NULL)
{
HBITMAP hBmpOld;
hBmpOld = SelectObject(hdc, hBitmap);
if (hBmpOld != NULL)
{
RECT rect;
SetRect(&rect, 0, 0, width / 2, height);
if (bIsDefault != FALSE)
{
SetBkColor(hdc, GetSysColor(COLOR_WINDOW));
SetTextColor(hdc, GetSysColor(COLOR_WINDOWTEXT));
ExtTextOutW(hdc, rect.left, rect.top, ETO_OPAQUE, &rect, L"", 0, NULL);
SelectObject(hdc, hFont);
DrawFrameControl(hdc, &rect, DFC_MENU, DFCS_MENUBULLET);
}
else
{
FillRect(hdc, &rect, GetSysColorBrush(COLOR_WINDOW));
}
SetRect(&rect, width / 2, 0, width, height);
SetBkColor(hdc, GetSysColor(COLOR_HIGHLIGHT));
SetTextColor(hdc, GetSysColor(COLOR_HIGHLIGHTTEXT));
ExtTextOutW(hdc, rect.left, rect.top, ETO_OPAQUE, &rect, L"", 0, NULL);
SelectObject(hdc, hFont);
DrawTextW(hdc, szLayout, 2, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
SelectObject(hdc, hBmpNew);
PatBlt(hdc, 0, 0, width, height, BLACKNESS);
SelectObject(hdc, hBmpOld);
IconInfo.hbmColor = hBitmap;
IconInfo.hbmMask = hBmpNew;
IconInfo.fIcon = TRUE;
hIcon = CreateIconIndirect(&IconInfo);
DeleteObject(hBmpOld);
}
DeleteObject(hFont);
}
}
DeleteObject(hBmpNew);
}
/* 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;
}
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);
DeleteObject(hBitmap);
return hIcon;
}
static VOID InitDefaultLangComboBox(HWND hwndCombo)
{
WCHAR szText[256];
INPUT_LIST_NODE *pNode;
INT iIndex, nCount, iDefault = (INT)SendMessageW(hwndCombo, CB_GETCURSEL, 0, 0);
SendMessageW(hwndCombo, CB_RESETCONTENT, 0, 0);
for (pNode = InputList_GetFirst(); pNode != NULL; pNode = pNode->pNext)
{
if (pNode->wFlags & INPUT_LIST_NODE_FLAG_DELETED)
continue;
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 (pNode->wFlags & INPUT_LIST_NODE_FLAG_DEFAULT)
iDefault = iIndex;
}
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);
}
static VOID
SetControlsState(HWND hwndDlg)
{
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);
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;
LV_ITEM item = { LVIF_PARAM, iSelected };
if (ListView_GetItem(hwndList, &item))
{
INPUT_LIST_NODE *pInput = (INPUT_LIST_NODE*)item.lParam;
bIsLeaf = (hSelected && TreeView_GetItem(hwndList, &item) && HIWORD(item.lParam));
if (pInput && (pInput->wFlags & INPUT_LIST_NODE_FLAG_DEFAULT))
{
bCanDefault = FALSE;
}
}
bCanRemove = (bIsLeaf && (s_nAliveLeafCount > 1)) || (s_nRootCount > 1);
bCanProp = bIsLeaf;
EnableWindow(GetDlgItem(hwndDlg, IDC_REMOVE_BUTTON), bCanRemove);
EnableWindow(GetDlgItem(hwndDlg, IDC_PROP_BUTTON), bCanProp);
EnableWindow(GetDlgItem(hwndDlg, IDC_SET_DEFAULT), bCanDefault);
InitDefaultLangComboBox(hwndCombo);
}
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;
}
static HICON LoadIMEIcon(LPCTSTR pszImeFile)
{
WCHAR szSysDir[MAX_PATH], szPath[MAX_PATH];
HINSTANCE hImeInst;
HICON hIconSm = NULL;
GetSystemDirectoryW(szSysDir, _countof(szSysDir));
StringCchPrintfW(szPath, _countof(szPath), L"%s\\%s", szSysDir, pszImeFile);
hImeInst = LoadLibraryExW(szPath, NULL, DONT_RESOLVE_DLL_REFERENCES);
if (hImeInst == NULL)
return NULL;
EnumResourceNamesW(hImeInst, RT_GROUP_ICON, EnumResNameProc, (LPARAM)&hIconSm);
FreeLibrary(hImeInst);
return hIconSm;
}
static HTREEITEM FindLanguageInList(HWND hwndList, LPCTSTR pszLangName)
{
TV_ITEM item;
TCHAR szText[128];
HTREEITEM hItem;
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);
}
return NULL;
}
static VOID
AddToInputListView(HWND hwndList, INPUT_LIST_NODE *pInputNode)
{
INT ItemIndex, ImageIndex = -1;
LV_ITEM item;
HIMAGELIST hImageList = ListView_GetImageList(hwndList, LVSIL_SMALL);
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);
if (hImageList != NULL)
hItem = FindLanguageInList(hwndList, pInputNode->pLocale->pszName);
if (hItem == NULL)
{
HICON hLayoutIcon;
hLayoutIcon = CreateLayoutIcon(pInputNode->pszIndicator,
(pInputNode->wFlags & INPUT_LIST_NODE_FLAG_DEFAULT));
if (hLayoutIcon != NULL)
// Language icon
INT LangImageIndex = -1;
HICON hLangIcon = CreateLayoutIcon(LOWORD(pInputNode->pLocale->dwId));
if (hLangIcon)
{
ImageIndex = ImageList_AddIcon(hImageList, hLayoutIcon);
DestroyIcon(hLayoutIcon);
LangImageIndex = ImageList_AddIcon(hImageList, hLangIcon);
DestroyIcon(hLangIcon);
}
// 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)
{
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);
}
// The type of input method (currently keyboard only)
hItem = TreeView_GetChild(hwndList, hItem);
}
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);
// Input method
if (hItem)
{
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);
}
}
ListView_SetItemText(hwndList, ItemIndex, 1, pInputNode->pLayout->pszName);
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)
{
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);
}
}
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;
if (hImageList)
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)
{
ImageList_RemoveAll(hImageList);
s_iKeyboardImage = ImageList_AddIcon(hImageList, hKeyboardIcon);
DestroyIcon(hKeyboardIcon);
}
ListView_DeleteAllItems(hwndList);
// Add dot icon
s_iDotImage = -1;
hDotIcon = (HICON)LoadImageW(hApplet, MAKEINTRESOURCEW(IDI_DOT), IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON),
0);
if (hDotIcon)
{
s_iDotImage = ImageList_AddIcon(hImageList, hDotIcon);
DestroyIcon(hDotIcon);
}
for (pNode = InputList_GetFirst(); pNode != NULL; pNode = pNode->pNext)
InputList_Sort();
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)
EnableWindow(GetDlgItem(hwndDlg, IDC_LANGUAGE_BAR), FALSE);
hLayoutImageList = ImageList_Create(GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
ILC_COLOR8 | ILC_MASK, 0, 0);
if (hLayoutImageList != 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);
}
UpdateInputListView(hwndInputList);
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:
{
if (header->idFrom == IDC_KEYLAYOUT_LIST)
{
SetControlsState(hwndDlg);
}
SetControlsState(hwndDlg);
break;
}
case TVN_ITEMEXPANDING:
{
// 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)
{
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;