From: Thomas Bluemel Date: Fri, 25 Nov 2005 22:01:19 +0000 (+0000) Subject: only display the troubleshoot button if necessary X-Git-Tag: backups/ros-branch-0_2_9@19949~354 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=4008050e1e4f48f0a8c165d3f6c05f11f05e72b1;ds=sidebyside only display the troubleshoot button if necessary svn path=/trunk/; revision=19574 --- diff --git a/reactos/lib/devmgr/En.rc b/reactos/lib/devmgr/En.rc index 07055955eb8..5458df43210 100644 --- a/reactos/lib/devmgr/En.rc +++ b/reactos/lib/devmgr/En.rc @@ -23,6 +23,7 @@ BEGIN LTEXT "",IDC_MANUFACTURER,14,88,183,10,SS_ENDELLIPSIS LTEXT "",IDC_LOCATION,14,100,183,10,SS_ENDELLIPSIS LTEXT "",IDC_STATUS,14,112,183,30 - PUSHBUTTON "&Troubleshoot...",IDC_TROUBLESHOOT,85,140,54,14 + PUSHBUTTON "&Troubleshoot...",IDC_TROUBLESHOOT,85,140,54,14, + BS_PUSHBUTTON | WS_CHILD | WS_DISABLED | WS_TABSTOP PUSHBUTTON "P&roperties",IDC_PROPERTIES,146,140,50,14 END diff --git a/reactos/lib/devmgr/Pl.rc b/reactos/lib/devmgr/Pl.rc index e921e3b40fd..4e9f7b980db 100644 --- a/reactos/lib/devmgr/Pl.rc +++ b/reactos/lib/devmgr/Pl.rc @@ -23,6 +23,7 @@ BEGIN LTEXT "",IDC_MANUFACTURER,14,88,183,10,SS_ENDELLIPSIS LTEXT "",IDC_LOCATION,14,100,183,10,SS_ENDELLIPSIS LTEXT "",IDC_STATUS,14,112,183,30 - PUSHBUTTON "&Rozwi¹zywanie problemów...",IDC_TROUBLESHOOT,85,140,54,14 + PUSHBUTTON "&Rozwi¹zywanie problemów...",IDC_TROUBLESHOOT,85,140,54,14, + BS_PUSHBUTTON | WS_CHILD | WS_DISABLED | WS_TABSTOP PUSHBUTTON "&W³aœciwoœci",IDC_PROPERTIES,146,140,50,14 END diff --git a/reactos/lib/devmgr/hwpage.c b/reactos/lib/devmgr/hwpage.c index ce8969ef587..5329d9bac16 100644 --- a/reactos/lib/devmgr/hwpage.c +++ b/reactos/lib/devmgr/hwpage.c @@ -502,6 +502,20 @@ HardwareDlgResize(IN PHARDWARE_PAGE_DATA hpd, } +static VOID +EnableTroubleShoot(PHARDWARE_PAGE_DATA hpd, + BOOL Enable) +{ + HWND hBtnTroubleShoot = GetDlgItem(hpd->hWnd, + IDC_TROUBLESHOOT); + + EnableWindow(hBtnTroubleShoot, + Enable); + ShowWindow(hBtnTroubleShoot, + Enable ? SW_SHOW : SW_HIDE); +} + + static INT_PTR CALLBACK HardwareDlgProc(IN HWND hwndDlg, @@ -548,6 +562,14 @@ HardwareDlgProc(IN HWND hwndDlg, (INT)HIWORD(lParam)); break; + case WM_SETTEXT: + { + LPCWSTR szWndText = (LPCWSTR)lParam; + EnableTroubleShoot(hpd, + (szWndText != NULL && szWndText[0] != L'\0')); + break; + } + case WM_INITDIALOG: { hpd = (PHARDWARE_PAGE_DATA)lParam; @@ -618,6 +640,10 @@ HardwareDlgProc(IN HWND hwndDlg, /* fill the devices list view control */ FillDevicesList(hpd); + + /* decide whether to show or hide the troubleshoot button */ + EnableTroubleShoot(hpd, + GetWindowTextLength(hwndDlg) != 0); } break; }