shell32: better icon handling for special folders

Huw D M Davies h.davies1 at physics.ox.ac.uk
Tue Apr 12 05:40:39 CDT 2005


        Huw Davies <huw at codeweavers.com>
        Better icon handling for some special folders.
        Identify and add defines for a bunch of shell icons.
-- 
Huw Davies
huw at codeweavers.com
Index: dlls/shell32/folders.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/folders.c,v
retrieving revision 1.58
diff -u -p -r1.58 folders.c
--- dlls/shell32/folders.c	11 Apr 2005 13:04:41 -0000	1.58
+++ dlls/shell32/folders.c	12 Apr 2005 10:34:10 -0000
@@ -258,7 +258,14 @@ static HRESULT WINAPI IExtractIconW_fnGe
 	  else
 	  {
 	    lstrcpynW(szIconFile, swShell32Name, cchMax);
-	    *piIndex = -IDI_SHELL_MYCOMPUTER;
+            if(IsEqualGUID(riid, &CLSID_MyComputer))
+                *piIndex = -IDI_SHELL_MY_COMPUTER;
+            else if(IsEqualGUID(riid, &CLSID_MyDocuments))
+                *piIndex = -IDI_SHELL_FOLDER;
+            else if(IsEqualGUID(riid, &CLSID_NetworkPlaces))
+                *piIndex = -IDI_SHELL_MY_NETWORK_PLACES;
+            else
+                *piIndex = -IDI_SHELL_FOLDER;
 	  }
 	}
 
Index: dlls/shell32/shres.rc
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shres.rc,v
retrieving revision 1.37
diff -u -p -r1.37 shres.rc
--- dlls/shell32/shres.rc	11 Apr 2005 13:04:41 -0000	1.37
+++ dlls/shell32/shres.rc	12 Apr 2005 10:34:11 -0000
@@ -9908,7 +9908,7 @@ IDI_SHELL_RAMDISK ICON ramdisk.ico
 
 
 /* BINRES mycomputer.ico */
-IDI_SHELL_MYCOMPUTER ICON mycomputer.ico
+IDI_SHELL_MY_COMPUTER ICON mycomputer.ico
 /* {
  '00 00 01 00 02 00 10 10 10 00 01 00 04 00 28 01'
  '00 00 26 00 00 00 20 20 10 00 01 00 04 00 E8 02'
Index: dlls/shell32/shresdef.h
===================================================================
RCS file: /home/wine/wine/dlls/shell32/shresdef.h,v
retrieving revision 1.14
diff -u -p -r1.14 shresdef.h
--- dlls/shell32/shresdef.h	11 Apr 2005 13:04:41 -0000	1.14
+++ dlls/shell32/shresdef.h	12 Apr 2005 10:34:11 -0000
@@ -92,14 +92,27 @@
 #define IDI_SHELL_DOCUMENT           1
 #define IDI_SHELL_FOLDER             4
 #define IDI_SHELL_FOLDER_OPEN        5
-#define IDI_SHELL_FLOPPY             6
+#define IDI_SHELL_5_12_FLOPPY        6
+#define IDI_SHELL_3_14_FLOPPY        7
+#define IDI_SHELL_FLOPPY             8
 #define IDI_SHELL_DRIVE              9
 #define IDI_SHELL_NETDRIVE          10
 #define IDI_SHELL_NETDRIVE2         11
 #define IDI_SHELL_CDROM             12
 #define IDI_SHELL_RAMDISK           13
-#define IDI_SHELL_MYCOMPUTER        16
+#define IDI_SHELL_ENTIRE_NETWORK    14
+#define IDI_SHELL_NETWORK           15
+#define IDI_SHELL_MY_COMPUTER       16
 #define IDI_SHELL_PRINTER           17
+#define IDI_SHELL_MY_NETWORK_PLACES 18
+#define IDI_SHELL_COMPUTERS_NEAR_ME 19
+#define IDI_SHELL_SEARCH            23
+#define IDI_SHELL_HELP              24
+#define IDI_SHELL_EMPTY_RECYCLE_BIN 32
+#define IDI_SHELL_FULL_RECYCLE_BIN  33
 #define IDI_SHELL_DESKTOP           35
+#define IDI_SHELL_CONTROL_PANEL     36
+#define IDI_SHELL_PRINTERS_FOLDER   38
+#define IDI_SHELL_FONTS_FOLDER      39
 
 #endif



More information about the wine-patches mailing list