Author: gedmurphy
Date: Thu Jun 18 13:08:11 2015
New Revision: 68185
URL:
http://svn.reactos.org/svn/reactos?rev=68185&view=rev
Log:
[DEVMGR]
- Add tooltips for the toolbar
- Fix the 'disable' button not showing for devices that be disabled
- Some code cleanup / noise
Modified:
trunk/reactos/dll/win32/devmgr/devmgmt/DeviceView.cpp
trunk/reactos/dll/win32/devmgr/devmgmt/DeviceView.h
trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp
trunk/reactos/dll/win32/devmgr/devmgmt/Resource.h
trunk/reactos/dll/win32/devmgr/devmgmt/lang/en-US.rc
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/DeviceView.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/D…
==============================================================================
--- trunk/reactos/dll/win32/devmgr/devmgmt/DeviceView.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/devmgr/devmgmt/DeviceView.cpp [iso-8859-1] Thu Jun 18 13:08:11
2015
@@ -286,7 +286,7 @@
CDeviceNode *Node = dynamic_cast<CDeviceNode *>(GetNode(TvItem));
if (Node)
{
- Node->CanDisable();
+ return Node->CanDisable();
}
return false;
}
@@ -348,9 +348,11 @@
}
bool
-CDeviceView::GetNextClass(_In_ ULONG ClassIndex,
- _Out_ LPGUID ClassGuid,
- _Out_ HDEVINFO *hDevInfo)
+CDeviceView::GetNextClass(
+ _In_ ULONG ClassIndex,
+ _Out_ LPGUID ClassGuid,
+ _Out_ HDEVINFO *hDevInfo
+ )
{
CONFIGRET cr;
@@ -644,28 +646,24 @@
ATLASSERT(FALSE);
}
- // Check if this is a hidden device
- if (DeviceNode->IsHidden())
- {
- if (m_ShowHidden == FALSE)
- continue;
- }
-
- if (DeviceNode->HasProblem())
- {
- HasProblem = true;
- }
-
- // Add this device to the tree under its parent
- hDevItem = InsertIntoTreeView(hParentTreeItem,
- DeviceNode);
- if (hDevItem)
- {
- // Check if this child has any children itself
- if (!RecurseChildDevices(Device, hDevItem))
+ // Don't show hidden devices if not requested
+ if ((m_ShowHidden == TRUE) || (!(DeviceNode->IsHidden())))
+ {
+ if (DeviceNode->HasProblem())
+ {
HasProblem = true;
- }
-
+ }
+
+ // Add this device to the tree under its parent
+ hDevItem = InsertIntoTreeView(hParentTreeItem,
+ DeviceNode);
+ if (hDevItem)
+ {
+ // Check if this child has any children itself
+ if (!RecurseChildDevices(Device, hDevItem))
+ HasProblem = true;
+ }
+ }
}
(void)TreeView_SortChildren(m_hTreeView,
@@ -816,7 +814,9 @@
CClassNode*
-CDeviceView::GetClassNode(_In_ LPGUID ClassGuid)
+CDeviceView::GetClassNode(
+ _In_ LPGUID ClassGuid
+ )
{
POSITION Pos;
CClassNode *Node;
@@ -840,7 +840,9 @@
}
CDeviceNode*
-CDeviceView::GetDeviceNode(_In_ DEVINST Device)
+CDeviceView::GetDeviceNode(
+ _In_ DEVINST Device
+ )
{
POSITION Pos;
CDeviceNode *Node;
@@ -863,7 +865,9 @@
return Node;
}
-CNode* CDeviceView::GetNode(LPTV_ITEMW TvItem)
+CNode* CDeviceView::GetNode(
+ _In_ LPTV_ITEMW TvItem
+ )
{
TvItem->mask = TVIF_PARAM;
if (TreeView_GetItem(m_hTreeView, TvItem))
@@ -883,19 +887,18 @@
void
CDeviceView::EmptyLists()
{
- CClassNode *ClassNode;
- CDeviceNode *DeviceNode;
+ CNode *Node;
while (!m_ClassNodeList.IsEmpty())
{
- ClassNode = m_ClassNodeList.RemoveTail();
- delete ClassNode;
+ Node = m_ClassNodeList.RemoveTail();
+ delete Node;
}
while (!m_DeviceNodeList.IsEmpty())
{
- DeviceNode = m_DeviceNodeList.RemoveTail();
- delete DeviceNode;
+ Node = m_DeviceNodeList.RemoveTail();
+ delete Node;
}
}
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/DeviceView.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/D…
==============================================================================
--- trunk/reactos/dll/win32/devmgr/devmgmt/DeviceView.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/devmgr/devmgmt/DeviceView.h [iso-8859-1] Thu Jun 18 13:08:11
2015
@@ -15,19 +15,15 @@
{
CAtlList<CClassNode *> m_ClassNodeList;
CAtlList<CDeviceNode *> m_DeviceNodeList;
-
SP_CLASSIMAGELIST_DATA m_ImageListData;
-
HWND m_hMainWnd;
HWND m_hTreeView;
HWND m_hPropertyDialog;
HMENU m_hMenu;
HMENU m_hContextMenu;
ViewType m_ViewType;
-
HTREEITEM m_hTreeRoot;
DEVINST m_RootDevInst;
-
bool m_ShowHidden;
int m_RootClassImage;
@@ -72,10 +68,16 @@
ViewType GetCurrentView() { return m_ViewType; }
- bool HasProperties(_In_ LPTV_ITEMW TvItem);
+ bool HasProperties(
+ _In_ LPTV_ITEMW TvItem
+ );
//bool SelDeviceIsHidden();
- bool CanDisable(_In_ LPTV_ITEMW TvItem);
- bool IsDisabled(_In_ LPTV_ITEMW TvItem);
+ bool CanDisable(
+ _In_ LPTV_ITEMW TvItem
+ );
+ bool IsDisabled(
+ _In_ LPTV_ITEMW TvItem
+ );
bool SelDeviceIsStarted();
bool SelDeviceIsInstalled();
@@ -126,11 +128,17 @@
VOID EmptyDeviceView(
);
- CNode* GetNode(_In_ LPTV_ITEMW TvItem);
+ CNode* GetNode(
+ _In_ LPTV_ITEMW TvItem
+ );
CNode* GetSelectedNode();
- CClassNode* GetClassNode(_In_ LPGUID ClassGuid);
- CDeviceNode* GetDeviceNode(_In_ DEVINST Device);
+ CClassNode* GetClassNode(
+ _In_ LPGUID ClassGuid
+ );
+ CDeviceNode* GetDeviceNode(
+ _In_ DEVINST Device
+ );
void EmptyLists();
};
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/M…
==============================================================================
--- trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/devmgr/devmgmt/MainWindow.cpp [iso-8859-1] Thu Jun 18 13:08:11
2015
@@ -500,6 +500,35 @@
case NM_RETURN:
{
m_DeviceView->DisplayPropertySheet();
+ break;
+ }
+
+ case TTN_GETDISPINFO:
+ {
+ LPTOOLTIPTEXT lpttt = (LPTOOLTIPTEXT)lParam;
+
+ UINT_PTR idButton = (UINT)lpttt->hdr.idFrom;
+ switch (idButton)
+ {
+ case IDC_PROPERTIES:
+ lpttt->lpszText = MAKEINTRESOURCEW(IDS_TOOLTIP_PROPERTIES);
+ break;
+ case IDC_SCAN_HARDWARE:
+ lpttt->lpszText = MAKEINTRESOURCEW(IDS_TOOLTIP_SCAN);
+ break;
+ case IDC_ENABLE_DRV:
+ lpttt->lpszText = MAKEINTRESOURCE(IDS_TOOLTIP_ENABLE);
+ break;
+ case IDC_DISABLE_DRV:
+ lpttt->lpszText = MAKEINTRESOURCE(IDS_TOOLTIP_DIABLE);
+ break;
+ case IDC_UPDATE_DRV:
+ lpttt->lpszText = MAKEINTRESOURCE(IDS_TOOLTIP_UPDATE);
+ break;
+ case IDC_UNINSTALL_DRV:
+ lpttt->lpszText = MAKEINTRESOURCE(IDS_TOOLTIP_UNINSTALL);
+ break;
+ }
break;
}
}
@@ -657,12 +686,12 @@
WPARAM wParam,
LPARAM lParam)
{
- CMainWindow *pThis;
+ CMainWindow *This;
LRESULT RetCode = 0;
// Get the object pointer from window context
- pThis = (CMainWindow *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
- if (pThis == NULL)
+ This = (CMainWindow *)GetWindowLongPtr(hwnd, GWLP_USERDATA);
+ if (This == NULL)
{
// Check that this isn't a create message
if (msg != WM_CREATE)
@@ -677,47 +706,47 @@
case WM_CREATE:
{
// Get the object pointer from the create param
- pThis = (CMainWindow *)((LPCREATESTRUCT)lParam)->lpCreateParams;
+ This = (CMainWindow *)((LPCREATESTRUCT)lParam)->lpCreateParams;
// Store the pointer in the window's global user data
- SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)pThis);
+ SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)This);
// Call the create handler
- RetCode = pThis->OnCreate(hwnd);
+ RetCode = This->OnCreate(hwnd);
break;
}
case WM_SIZE:
{
- RetCode = pThis->OnSize();
+ RetCode = This->OnSize();
break;
}
case WM_NOTIFY:
{
- RetCode = pThis->OnNotify(lParam);
+ RetCode = This->OnNotify(lParam);
break;
}
case WM_CONTEXTMENU:
{
- RetCode = pThis->OnContext(lParam);
+ RetCode = This->OnContext(lParam);
break;
}
case WM_MENUSELECT:
{
- if (pThis->m_hStatusBar != NULL)
+ if (This->m_hStatusBar != NULL)
{
- if (!pThis->MainWndMenuHint(LOWORD(wParam),
- MainMenuHintTable,
- sizeof(MainMenuHintTable) /
sizeof(MainMenuHintTable[0]),
- IDS_HINT_BLANK))
+ if (!This->MainWndMenuHint(LOWORD(wParam),
+ MainMenuHintTable,
+ sizeof(MainMenuHintTable) /
sizeof(MainMenuHintTable[0]),
+ IDS_HINT_BLANK))
{
- pThis->MainWndMenuHint(LOWORD(wParam),
- SystemMenuHintTable,
- sizeof(SystemMenuHintTable) /
sizeof(SystemMenuHintTable[0]),
- IDS_HINT_BLANK);
+ This->MainWndMenuHint(LOWORD(wParam),
+ SystemMenuHintTable,
+ sizeof(SystemMenuHintTable) /
sizeof(SystemMenuHintTable[0]),
+ IDS_HINT_BLANK);
}
}
@@ -727,7 +756,7 @@
case WM_COMMAND:
{
// Handle the command message
- RetCode = pThis->OnCommand(wParam, lParam);
+ RetCode = This->OnCommand(wParam, lParam);
if (RetCode == -1)
{
// Hand it off to the default message handler
@@ -738,13 +767,13 @@
case WM_ENTERMENULOOP:
{
- pThis->UpdateStatusBar(true);
+ This->UpdateStatusBar(true);
break;
}
case WM_EXITMENULOOP:
{
- pThis->UpdateStatusBar(false);
+ This->UpdateStatusBar(false);
break;
}
@@ -759,7 +788,7 @@
case WM_DESTROY:
{
// Call the destroy handler
- RetCode = pThis->OnDestroy();
+ RetCode = This->OnDestroy();
break;
}
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/Resource.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/R…
==============================================================================
--- trunk/reactos/dll/win32/devmgr/devmgmt/Resource.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/devmgr/devmgmt/Resource.h [iso-8859-1] Thu Jun 18 13:08:11
2015
@@ -36,9 +36,14 @@
#define IDS_LICENSE 303
/* tooltips */
-#define IDS_TOOLTIP_PROP 6000
-#define IDS_TOOLTIP_REFRESH 6001
-#define IDS_TOOLTIP_HELP 6002
+#define IDS_TOOLTIP_PROPERTIES 6000
+#define IDS_TOOLTIP_SCAN 6001
+#define IDS_TOOLTIP_ENABLE 6002
+#define IDS_TOOLTIP_DIABLE 6003
+#define IDS_TOOLTIP_UPDATE 6004
+#define IDS_TOOLTIP_UNINSTALL 6005
+
+
/* menu hints */
#define IDS_HINT_BLANK 20000
Modified: trunk/reactos/dll/win32/devmgr/devmgmt/lang/en-US.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/devmgr/devmgmt/l…
==============================================================================
--- trunk/reactos/dll/win32/devmgr/devmgmt/lang/en-US.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/devmgr/devmgmt/lang/en-US.rc [iso-8859-1] Thu Jun 18 13:08:11
2015
@@ -49,11 +49,21 @@
END
END
+#define IDS_HINT_PROPERTIES 20001
+#define IDS_HINT_SCAN 20002
+#define IDS_HINT_ENABLE 20003
+#define IDS_HINT_DISABLE 20004
+#define IDS_HINT_UPDATE 20005
+#define IDS_HINT_UNINSTALL 20006
+
STRINGTABLE DISCARDABLE
BEGIN
- IDS_TOOLTIP_PROP "Properties"
- IDS_TOOLTIP_REFRESH "Scan for hardware changes"
- IDS_TOOLTIP_HELP "Help"
+ IDS_TOOLTIP_PROPERTIES "Properties"
+ IDS_TOOLTIP_SCAN "Scan for hardware changes"
+ IDS_TOOLTIP_ENABLE "Enable"
+ IDS_TOOLTIP_DIABLE "Disable"
+ IDS_TOOLTIP_UPDATE "Update Driver Software"
+ IDS_TOOLTIP_UNINSTALL "Uninstall"
END
/* Hints */