[devmgr]
authorEric Kohl <eric.kohl@reactos.org>
Fri, 1 Jan 2010 14:44:06 +0000 (14:44 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Fri, 1 Jan 2010 14:44:06 +0000 (14:44 +0000)
- Add missing string resources and translate the german ones.
- Set the focus to the combobox when the details page is opened.
- Don't display an error message when a property is not set for the selected device.
- Display 'Capabilities' and 'Config Flags' as DWORD values.

Ooops! These should have been committed as well.

svn path=/trunk/; revision=44854

reactos/dll/win32/devmgr/advprop.c
reactos/dll/win32/devmgr/resource.h

index b097662..a54d82f 100644 (file)
@@ -470,15 +470,16 @@ UpdateDetailsDlg(IN HWND hwndDlg,
     UINT Properties[] =
     {
         IDS_PROP_DEVICEID,
-        IDS_PROP_HARDWAREID,
+        IDS_PROP_HARDWAREIDS,
         IDS_PROP_COMPATIBLEIDS,
         IDS_PROP_MATCHINGDEVICEID,
         IDS_PROP_SERVICE,
         IDS_PROP_ENUMERATOR,
+        IDS_PROP_CAPABILITIES,
         IDS_PROP_DEVNODEFLAGS,
         IDS_PROP_CONFIGFLAGS,
         IDS_PROP_CSCONFIGFLAGS,
-        IDS_PROP_EJECTRELATIONS,
+        IDS_PROP_EJECTIONRELATIONS,
         IDS_PROP_REMOVALRELATIONS,
         IDS_PROP_BUSRELATIONS,
         IDS_PROP_DEVUPPERFILTERS,
@@ -487,7 +488,11 @@ UpdateDetailsDlg(IN HWND hwndDlg,
         IDS_PROP_CLASSLOWERFILTERS,
         IDS_PROP_CLASSINSTALLER,
         IDS_PROP_CLASSCOINSTALLER,
-        IDS_PROP_DEVICECOINSTALLER
+        IDS_PROP_DEVICECOINSTALLER,
+        IDS_PROP_FIRMWAREREVISION,
+        IDS_PROP_CURRENTPOWERSTATE,
+        IDS_PROP_POWERCAPABILITIES,
+        IDS_PROP_POWERSTATEMAPPINGS
     };
 
 
@@ -543,6 +548,8 @@ UpdateDetailsDlg(IN HWND hwndDlg,
                 0);
 
     SetListViewText(hwndListView, 0, dap->szDeviceID);
+
+    SetFocus(hwndComboBox);
 }
 
 
@@ -573,16 +580,19 @@ SetDevicePropertyText(IN PDEVADVPROP_INFO dap,
 
     dwSize = 0;
     SetupDiGetDeviceRegistryProperty(DeviceInfoSet,
-                                          DeviceInfoData,
-                                          dwProperty,
-                                          &dwType,
-                                          NULL,
-                                          0,
-                                          &dwSize);
+                                     DeviceInfoData,
+                                     dwProperty,
+                                     &dwType,
+                                     NULL,
+                                     0,
+                                     &dwSize);
     if (dwSize == 0)
     {
-        swprintf(dap->szTemp, L"Error: Getting the size failed! (Error: %ld)", GetLastError());
-        SetListViewText(hwndListView, 0, dap->szTemp);
+        if (GetLastError() != ERROR_FILE_NOT_FOUND)
+        {
+            swprintf(dap->szTemp, L"Error: Getting the size failed! (Error: %ld)", GetLastError());
+            SetListViewText(hwndListView, 0, dap->szTemp);
+        }
         return;
     }
 
@@ -621,6 +631,11 @@ SetDevicePropertyText(IN PDEVADVPROP_INFO dap,
                 index++;
             }
         }
+        else if (dwType == REG_DWORD)
+        {
+            swprintf(dap->szTemp, L"0x%08x", *lpBuffer);
+            SetListViewText(hwndListView, 0, dap->szTemp);
+        }
         else
         {
             SetListViewText(hwndListView, 0, L"Error: Unsupported value type!");
@@ -674,6 +689,11 @@ DisplayDeviceProperties(IN PDEVADVPROP_INFO dap,
                                   SPDRP_COMPATIBLEIDS);
             break;
 
+#if 0
+        case 3: /* Matching ID */
+            break;
+#endif
+
         case 4: /* Service */
             SetDevicePropertyText(dap,
                                   hwndListView,
@@ -686,13 +706,35 @@ DisplayDeviceProperties(IN PDEVADVPROP_INFO dap,
                                   SPDRP_ENUMERATOR_NAME);
             break;
 
-        case 12: /* Upper Filters */
+        case 6: /* Capabilities */
+            SetDevicePropertyText(dap,
+                                  hwndListView,
+                                  SPDRP_CAPABILITIES);
+            break;
+
+#if 0
+        case 7: /* Devnode Flags */
+            break;
+#endif
+
+        case 8: /* Config Flags */
+            SetDevicePropertyText(dap,
+                                  hwndListView,
+                                  SPDRP_CONFIGFLAGS);
+            break;
+
+#if 0
+        case 9: /* CSConfig Flags */
+            break;
+#endif
+
+        case 13: /* Upper Filters */
             SetDevicePropertyText(dap,
                                   hwndListView,
                                   SPDRP_UPPERFILTERS);
             break;
 
-        case 13: /* Lower Filters */
+        case 14: /* Lower Filters */
             SetDevicePropertyText(dap,
                                   hwndListView,
                                   SPDRP_LOWERFILTERS);
index 67c5211..4c038b2 100644 (file)
 #define IDS_DEV_SETPROPERTIES_FAILED           0x238
 
 #define IDS_PROP_DEVICEID                      0x300
-#define IDS_PROP_HARDWAREID                    0x301
+#define IDS_PROP_HARDWAREIDS                   0x301
 #define IDS_PROP_COMPATIBLEIDS                 0x302
 #define IDS_PROP_MATCHINGDEVICEID              0x303
 #define IDS_PROP_SERVICE                       0x304
 #define IDS_PROP_ENUMERATOR                    0x305
-#define IDS_PROP_DEVNODEFLAGS                  0x306
-#define IDS_PROP_CONFIGFLAGS                   0x307
-#define IDS_PROP_CSCONFIGFLAGS                 0x308
-#define IDS_PROP_EJECTRELATIONS                        0x309
-#define IDS_PROP_REMOVALRELATIONS              0x30A
-#define IDS_PROP_BUSRELATIONS                  0x30B
-#define IDS_PROP_DEVUPPERFILTERS               0x30C
-#define IDS_PROP_DEVLOWERFILTERS               0x30D
-#define IDS_PROP_CLASSUPPERFILTERS             0x30E
-#define IDS_PROP_CLASSLOWERFILTERS             0x30F
-#define IDS_PROP_CLASSINSTALLER                        0x310
-#define IDS_PROP_CLASSCOINSTALLER              0x311
-#define IDS_PROP_DEVICECOINSTALLER             0x312
+#define IDS_PROP_CAPABILITIES                  0x306
+#define IDS_PROP_DEVNODEFLAGS                  0x307
+#define IDS_PROP_CONFIGFLAGS                   0x308
+#define IDS_PROP_CSCONFIGFLAGS                 0x309
+#define IDS_PROP_EJECTIONRELATIONS             0x30A
+#define IDS_PROP_REMOVALRELATIONS              0x30B
+#define IDS_PROP_BUSRELATIONS                  0x30C
+#define IDS_PROP_DEVUPPERFILTERS               0x30D
+#define IDS_PROP_DEVLOWERFILTERS               0x30E
+#define IDS_PROP_CLASSUPPERFILTERS             0x30F
+#define IDS_PROP_CLASSLOWERFILTERS             0x310
+#define IDS_PROP_CLASSINSTALLER                        0x311
+#define IDS_PROP_CLASSCOINSTALLER              0x312
+#define IDS_PROP_DEVICECOINSTALLER             0x313
+#define IDS_PROP_FIRMWAREREVISION              0x314
+#define IDS_PROP_CURRENTPOWERSTATE             0x315
+#define IDS_PROP_POWERCAPABILITIES             0x316
+#define IDS_PROP_POWERSTATEMAPPINGS            0x317
 
 #endif /* __DEVMGR_RESOURCE_H */