Author: ekohl
Date: Sun Feb 28 17:01:35 2016
New Revision: 70799
URL: http://svn.reactos.org/svn/reactos?rev=70799&view=rev
Log:
[INPUT]
Prevent removal of all languages from the language list by disabling the
'Remove' button when only one item remains. Enable the 'Remove' button when
there is more than one item in the list.
CORE-3587 #resolve
Modified:
trunk/reactos/dll/cpl/input/settings.c
Modified: trunk/reactos/dll/cpl/input/settings.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/input/settings.c?rev=70799&r1=70798&r2=70799&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/input/settings.c [iso-8859-1] (original)
+++ trunk/reactos/dll/cpl/input/settings.c [iso-8859-1] Sun Feb 28
17:01:35 2016
@@ -743,8 +743,13 @@
hImgList = ImageList_Create(16, 16, ILC_COLOR8 | ILC_MASK, 0, 1);
InitLangList(hwndDlg, hImgList);
(VOID) ListView_SetImageList(GetDlgItem(MainDlgWnd,
IDC_KEYLAYOUT_LIST), hImgList, LVSIL_SMALL);
+
+ /* Disable the Remove button if there is only one layout in the
layout list */
+ if (ListView_GetItemCount(GetDlgItem(hwndDlg, IDC_KEYLAYOUT_LIST))
<= 1)
+ EnableWindow(GetDlgItem(hwndDlg, IDC_REMOVE_BUTTON), FALSE);
}
break;
+
case WM_NOTIFY:
{
switch (LOWORD(wParam))
@@ -753,11 +758,16 @@
}
}
break;
+
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_REMOVE_BUTTON:
DeleteLayout();
+
+ /* Disable the Remove button if there is only one layout
in the layout list */
+ if (ListView_GetItemCount(GetDlgItem(hwndDlg,
IDC_KEYLAYOUT_LIST)) <= 1)
+ EnableWindow(GetDlgItem(hwndDlg, IDC_REMOVE_BUTTON),
FALSE);
break;
case IDC_KEY_SET_BTN:
@@ -772,6 +782,10 @@
MAKEINTRESOURCE(IDD_ADD),
hwndDlg,
AddDlgProc);
+
+ /* Enable the Remove button if there is more than one
layout in the layout list */
+ if (ListView_GetItemCount(GetDlgItem(hwndDlg,
IDC_KEYLAYOUT_LIST)) > 1)
+ EnableWindow(GetDlgItem(hwndDlg, IDC_REMOVE_BUTTON),
TRUE);
break;
case IDC_PROP_BUTTON:
@@ -788,6 +802,7 @@
break;
}
break;
+
case WM_DESTROY:
break;
}