[ros-diffs] [janderwald] 35201: * register printer shell folder * move printer column descriptors to resource files * fix enumeration of printers

janderwald at svn.reactos.org janderwald at svn.reactos.org
Fri Aug 8 23:50:24 CEST 2008


Author: janderwald
Date: Fri Aug  8 16:50:24 2008
New Revision: 35201

URL: http://svn.reactos.org/svn/reactos?rev=35201&view=rev
Log:
* register printer shell folder
* move printer column descriptors to resource files
* fix enumeration of printers


Modified:
    trunk/reactos/dll/win32/shell32/lang/bg-BG.rc
    trunk/reactos/dll/win32/shell32/lang/ca-ES.rc
    trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc
    trunk/reactos/dll/win32/shell32/lang/da-DK.rc
    trunk/reactos/dll/win32/shell32/lang/de-DE.rc
    trunk/reactos/dll/win32/shell32/lang/el-GR.rc
    trunk/reactos/dll/win32/shell32/lang/en-GB.rc
    trunk/reactos/dll/win32/shell32/lang/en-US.rc
    trunk/reactos/dll/win32/shell32/lang/es-ES.rc
    trunk/reactos/dll/win32/shell32/lang/fi-FI.rc
    trunk/reactos/dll/win32/shell32/lang/fr-FR.rc
    trunk/reactos/dll/win32/shell32/lang/hu-HU.rc
    trunk/reactos/dll/win32/shell32/lang/it-IT.rc
    trunk/reactos/dll/win32/shell32/lang/ja-JP.rc
    trunk/reactos/dll/win32/shell32/lang/ko-KR.rc
    trunk/reactos/dll/win32/shell32/lang/nl-NL.rc
    trunk/reactos/dll/win32/shell32/lang/no-NO.rc
    trunk/reactos/dll/win32/shell32/lang/pl-PL.rc
    trunk/reactos/dll/win32/shell32/lang/pt-BR.rc
    trunk/reactos/dll/win32/shell32/lang/pt-PT.rc
    trunk/reactos/dll/win32/shell32/lang/ru-RU.rc
    trunk/reactos/dll/win32/shell32/lang/sk-SK.rc
    trunk/reactos/dll/win32/shell32/lang/sl-SI.rc
    trunk/reactos/dll/win32/shell32/lang/sv-SE.rc
    trunk/reactos/dll/win32/shell32/lang/tr-TR.rc
    trunk/reactos/dll/win32/shell32/lang/uk-UA.rc
    trunk/reactos/dll/win32/shell32/lang/zh-CN.rc
    trunk/reactos/dll/win32/shell32/lang/zh-TW.rc
    trunk/reactos/dll/win32/shell32/pidl.c
    trunk/reactos/dll/win32/shell32/pidl.h
    trunk/reactos/dll/win32/shell32/regsvr.c
    trunk/reactos/dll/win32/shell32/shfldr_fonts.c
    trunk/reactos/dll/win32/shell32/shfldr_printers.c
    trunk/reactos/dll/win32/shell32/shresdef.h

Modified: trunk/reactos/dll/win32/shell32/lang/bg-BG.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/bg-BG.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/bg-BG.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/bg-BG.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -602,6 +602,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	// special folders 
 	IDS_DESKTOP                 "Ðàáîòíà ïëîù"
@@ -617,6 +622,9 @@
 	IDS_SELECT                  "Èçáîð"
 	IDS_OPEN                    "Îòâàðÿíå"
 	IDS_CREATELINK              "Ñúçäàâàíå íà &âðúçêà"
+	IDS_COPY                    "Copy"
+	IDS_DELETE                  "Delete"
+	IDS_PROPERTIES              "Properties"
 
 	IDS_CREATEFOLDER_DENIED     "Ñúçäàâàíåòî íà íîâà ïàïêà å íåâúçìîæíî: íåäîñòàòú÷íè ïðàâà."
 	IDS_CREATEFOLDER_CAPTION    "Ãðåøêà ïðè ñúçäàâàíå íà íîâà ïàïêà"

Modified: trunk/reactos/dll/win32/shell32/lang/ca-ES.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ca-ES.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/ca-ES.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/ca-ES.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -599,6 +599,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Desktop"

Modified: trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -601,6 +601,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Plocha"

Modified: trunk/reactos/dll/win32/shell32/lang/da-DK.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/da-DK.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/da-DK.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/da-DK.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -599,6 +599,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Desktop"

Modified: trunk/reactos/dll/win32/shell32/lang/de-DE.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/de-DE.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/de-DE.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/de-DE.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -601,6 +601,12 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Schriftartentyp"
 	IDS_SHV_COLUMN_WORKGROUP    "Arbeitsgruppe"
 	IDS_SHV_NETWORKLOCATION     "Netzwerkstandort"
+	IDS_SHV_COLUMN_DOCUMENTS    "Dokumente"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Kommentare"
+	IDS_SHV_COLUMN_LOCATION     "Ort"
+	IDS_SHV_COLUMN_MODEL        "Model"
+
 
 	/* special folders */
 	IDS_DESKTOP                 "Desktop"

Modified: trunk/reactos/dll/win32/shell32/lang/el-GR.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/el-GR.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/el-GR.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/el-GR.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -599,6 +599,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "ÅðéöÜíåéá åñãáóßáò"

Modified: trunk/reactos/dll/win32/shell32/lang/en-GB.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/en-GB.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/en-GB.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/en-GB.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -599,6 +599,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Desktop"

Modified: trunk/reactos/dll/win32/shell32/lang/en-US.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/en-US.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/en-US.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/en-US.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -600,6 +600,12 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
+
 
 	/* special folders */
 	IDS_DESKTOP                 "Desktop"

Modified: trunk/reactos/dll/win32/shell32/lang/es-ES.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/es-ES.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/es-ES.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/es-ES.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -601,6 +601,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Escritorio"

Modified: trunk/reactos/dll/win32/shell32/lang/fi-FI.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/fi-FI.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/fi-FI.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/fi-FI.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -599,6 +599,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Työpöytä"

Modified: trunk/reactos/dll/win32/shell32/lang/fr-FR.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/fr-FR.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/fr-FR.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/fr-FR.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -603,6 +603,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Bureau"

Modified: trunk/reactos/dll/win32/shell32/lang/hu-HU.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/hu-HU.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/hu-HU.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/hu-HU.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -602,6 +602,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Asztal"

Modified: trunk/reactos/dll/win32/shell32/lang/it-IT.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/it-IT.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/it-IT.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/it-IT.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -600,6 +600,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Desktop"

Modified: trunk/reactos/dll/win32/shell32/lang/ja-JP.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ja-JP.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/ja-JP.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/ja-JP.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -599,6 +599,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "ƒfƒXƒNƒgƒbƒv"

Modified: trunk/reactos/dll/win32/shell32/lang/ko-KR.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ko-KR.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/ko-KR.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/ko-KR.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -599,6 +599,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Desktop"

Modified: trunk/reactos/dll/win32/shell32/lang/nl-NL.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/nl-NL.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/nl-NL.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/nl-NL.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -599,6 +599,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Desktop"

Modified: trunk/reactos/dll/win32/shell32/lang/no-NO.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/no-NO.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/no-NO.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/no-NO.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -578,6 +578,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Skrivebord"

Modified: trunk/reactos/dll/win32/shell32/lang/pl-PL.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/pl-PL.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/pl-PL.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/pl-PL.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -605,6 +605,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Pulpit"

Modified: trunk/reactos/dll/win32/shell32/lang/pt-BR.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/pt-BR.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/pt-BR.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/pt-BR.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -601,6 +601,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Área de trabalho"

Modified: trunk/reactos/dll/win32/shell32/lang/pt-PT.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/pt-PT.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/pt-PT.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/pt-PT.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -601,6 +601,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Ambiente de trabalho"

Modified: trunk/reactos/dll/win32/shell32/lang/ru-RU.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ru-RU.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/ru-RU.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/ru-RU.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -598,6 +598,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Òèï øðèôòà"
 	IDS_SHV_COLUMN_WORKGROUP    "Ðàáî÷àÿ ãðóïïà"
 	IDS_SHV_NETWORKLOCATION     "Ñåòåâîå ðàñïîëîæåíèå"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Ðàáî÷èé ñòîë"

Modified: trunk/reactos/dll/win32/shell32/lang/sk-SK.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sk-SK.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/sk-SK.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/sk-SK.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -605,6 +605,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Pracovná plocha"

Modified: trunk/reactos/dll/win32/shell32/lang/sl-SI.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sl-SI.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/sl-SI.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/sl-SI.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -599,6 +599,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Desktop"

Modified: trunk/reactos/dll/win32/shell32/lang/sv-SE.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sv-SE.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/sv-SE.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/sv-SE.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -599,6 +599,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Desktop"

Modified: trunk/reactos/dll/win32/shell32/lang/tr-TR.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/tr-TR.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/tr-TR.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/tr-TR.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -599,6 +599,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Masaüstü"

Modified: trunk/reactos/dll/win32/shell32/lang/uk-UA.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/uk-UA.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/uk-UA.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/uk-UA.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -600,6 +600,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Ðîáî÷èé ñò³ë"

Modified: trunk/reactos/dll/win32/shell32/lang/zh-CN.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/zh-CN.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/zh-CN.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/zh-CN.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -588,6 +588,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "×ÀÃæ"

Modified: trunk/reactos/dll/win32/shell32/lang/zh-TW.rc
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/zh-TW.rc?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/lang/zh-TW.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/lang/zh-TW.rc [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -600,6 +600,11 @@
 	IDS_SHV_COLUMN_FONTTYPE     "Fonttype"
 	IDS_SHV_COLUMN_WORKGROUP    "Workgroup"
 	IDS_SHV_NETWORKLOCATION     "Network Location"
+	IDS_SHV_COLUMN_DOCUMENTS    "Documents"
+	IDS_SHV_COLUMN_STATUS       "Status"
+	IDS_SHV_COLUMN_COMMENTS     "Comments"
+	IDS_SHV_COLUMN_LOCATION     "Location"
+	IDS_SHV_COLUMN_MODEL        "Model"
 
 	/* special folders */
 	IDS_DESKTOP                 "Desktop"

Modified: trunk/reactos/dll/win32/shell32/pidl.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/pidl.c?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/pidl.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/pidl.c [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -1387,21 +1387,7 @@
 
 LPITEMIDLIST _ILCreatePrinters(void)
 {
-    LPITEMIDLIST parent = _ILCreateGuid(PT_GUID, &CLSID_MyComputer), ret = NULL;
-
-    TRACE("()\n");
-    if (parent)
-    {
-        LPITEMIDLIST printers = _ILCreateGuid(PT_YAGUID, &CLSID_Printers);
-
-        if (printers)
-        {
-            ret = ILCombine(parent, printers);
-            SHFree(printers);
-        }
-        SHFree(parent);
-    }
-    return ret;
+    return _ILCreateGuid(PT_YAGUID, &CLSID_Printers);
 }
 
 LPITEMIDLIST _ILCreateNetwork(void)

Modified: trunk/reactos/dll/win32/shell32/pidl.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/pidl.h?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/pidl.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/pidl.h [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -122,11 +122,18 @@
 
 typedef struct tagPIDLFontStruct
 {
-    BYTE dummy;			
-    WORD offsFile;	
-    WCHAR szName[1];		/*10*/ /* terminated by 0x00, followed by display name and comment string */
+    BYTE dummy;
+    WORD offsFile;
+    WCHAR szName[1];
 } PIDLFontStruct;
 
+typedef struct tagPIDLPrinterStruct
+{
+    BYTE dummy;
+    DWORD Attributes;
+    WORD offsServer;
+    WCHAR szName[1];
+}PIDLPrinterStruct;
 
 typedef struct tagGUIDStruct
 {
@@ -190,6 +197,7 @@
 	  struct tagPIDLCPanelStruct cpanel;
           struct tagValueW valueW;
 	  struct tagPIDLFontStruct cfont;
+	  struct tagPIDLPrinterStruct cprinter;
 	}u;
 } PIDLDATA, *LPPIDLDATA;
 #include "poppack.h"

Modified: trunk/reactos/dll/win32/shell32/regsvr.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/regsvr.c?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/regsvr.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/regsvr.c [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -799,13 +799,11 @@
         wszControlPanel,
         wszFonts
     },
-#if 0
     {
         &CLSID_Printers,
         wszControlPanel,
         wszPrinters
     },
-#endif
     { NULL }
 };
 

Modified: trunk/reactos/dll/win32/shell32/shfldr_fonts.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shfldr_fonts.c?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/shfldr_fonts.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/shfldr_fonts.c [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -732,9 +732,7 @@
             break;
      }
 
-    FIXME ("(%p)->(%p %i %p)\n", This, pidl, iColumn, psd);
-
-    return E_NOTIMPL;
+    return E_FAIL;
 }
 
 static HRESULT WINAPI ISF_Fonts_fnMapColumnToSCID (IShellFolder2 * iface,

Modified: trunk/reactos/dll/win32/shell32/shfldr_printers.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shfldr_printers.c?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/shfldr_printers.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/shfldr_printers.c [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -71,6 +71,26 @@
 #define _IExtractIconA_Offset ((int)(&(((IExtractIconWImpl*)0)->lpvtblExtractIconA)))
 #define _ICOM_THIS_From_IExtractIconA(class, name) class* This = (class*)(((char*)name)-_IExtractIconA_Offset);
 
+static shvheader PrinterSFHeader[] = {
+    {IDS_SHV_COLUMN8, SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_RIGHT, 15},
+    {IDS_SHV_COLUMN_DOCUMENTS , SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_RIGHT, 15},
+    {IDS_SHV_COLUMN_STATUS, SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_RIGHT, 15},
+    {IDS_SHV_COLUMN_COMMENTS, SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_RIGHT, 15},
+    {IDS_SHV_COLUMN_LOCATION, SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_RIGHT, 15},
+    {IDS_SHV_COLUMN_MODEL, SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_RIGHT, 15}
+};
+
+#define COLUMN_NAME          0
+#define COLUMN_DOCUMENTS     1
+#define COLUMN_STATUS        2
+#define COLUMN_COMMENTS      3
+#define COLUMN_LOCATION      4
+#define COLUMN_MODEL         5
+
+
+#define PrinterSHELLVIEWCOLUMNS (6)
+
+
 /**************************************************************************
  *  IExtractIconW_QueryInterface
  */
@@ -416,6 +436,61 @@
     return E_NOTIMPL;
 }
 
+static LPITEMIDLIST _ILCreatePrinterItem(PRINTER_INFO_4W *pi)
+{
+    PIDLDATA tmp;
+    LPITEMIDLIST pidl;
+    PIDLPrinterStruct * p;
+    int size0 = (char*)&tmp.u.cprinter.szName-(char*)&tmp.u.cprinter;
+    int size = size0;
+
+    tmp.type = 0x00;
+    tmp.u.cprinter.dummy = 0xFF;
+    if (pi->pPrinterName)
+        tmp.u.cprinter.offsServer = wcslen(pi->pPrinterName) + 1;
+    else
+        tmp.u.cprinter.offsServer = 1;
+
+    size += tmp.u.cprinter.offsServer * sizeof(WCHAR);
+    if (pi->pServerName)
+        size += ( + wcslen(pi->pServerName) + 1) * sizeof(WCHAR);
+    else
+        size += sizeof(WCHAR);
+
+    pidl = (LPITEMIDLIST)SHAlloc(size + 4);
+    if (!pidl)
+        return pidl;
+
+    pidl->mkid.cb = size+2;
+    memcpy(pidl->mkid.abID, &tmp, 2+size0);
+
+    p = &((PIDLDATA*)pidl->mkid.abID)->u.cprinter;
+
+    p->Attributes = pi->Attributes;
+    if (pi->pPrinterName)
+        wcscpy(p->szName, pi->pPrinterName);
+    else
+        p->szName[0] = L'\0';
+
+    if (pi->pServerName)
+        wcscpy(p->szName + p->offsServer, pi->pServerName);
+    else
+        p->szName[p->offsServer] = L'\0';
+
+    *(WORD*)((char*)pidl+(size+2)) = 0;
+    return pidl;
+}
+
+static PIDLPrinterStruct * _ILGetPrinterStruct(LPCITEMIDLIST pidl)
+{
+    LPPIDLDATA pdata = _ILGetDataPointer(pidl);
+
+    if (pdata && pdata->type==0x00)
+        return (PIDLPrinterStruct*)&(pdata->u.cfont);
+
+    return NULL;
+}
+
 /**************************************************************************
  *  CreatePrintersEnumList()
  */
@@ -428,10 +503,13 @@
     /* enumerate the folders */
     if (dwFlags & SHCONTF_NONFOLDERS)
     {
-        DWORD needed, num, i;
+        DWORD needed = 0, num = 0, i;
         PRINTER_INFO_4W *pi;
 
         EnumPrintersW(PRINTER_ENUM_LOCAL, NULL, 4, NULL, 0, &needed, &num);
+        if (!needed)
+            return ret;
+
         pi = HeapAlloc(GetProcessHeap(), 0, needed);
         if(!EnumPrintersW(PRINTER_ENUM_LOCAL, NULL, 4, (LPBYTE)pi, needed, &needed, &num)) {
             HeapFree(GetProcessHeap(), 0, pi);
@@ -439,13 +517,13 @@
         }
 
         for(i = 0; i < num; i++) {
-            DWORD len = strlenW(pi[i].pPrinterName);
-            LPITEMIDLIST pidl = _ILAlloc(PT_VALUEW, (len + 1) * sizeof(WCHAR));
-            LPPIDLDATA data = _ILGetDataPointer(pidl);
-            memcpy(data->u.valueW.name, pi[i].pPrinterName, (len + 1) * sizeof(WCHAR));
-            AddToEnumList(list, pidl);
+            LPITEMIDLIST pidl = _ILCreatePrinterItem(&pi[i]);
+            if (pidl)
+            {
+                if (!AddToEnumList(list, pidl))
+                    SHFree(pidl);
+            }
         }
-
         HeapFree(GetProcessHeap(), 0, pi);
     }
     return ret;
@@ -480,10 +558,10 @@
 {
     IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
-    FIXME ("(%p)->(pidl=%p,%p,%s,%p)\n",
-           This, pidl, pbcReserved, shdebugstr_guid (riid), ppvOut);
-
-    return E_NOTIMPL;
+    TRACE ("(%p)->(pidl=%p,%p,%s,%p)\n", This,
+            pidl, pbcReserved, shdebugstr_guid (riid), ppvOut);
+
+    return SHELL32_BindToChild (This->pidlRoot, NULL, pidl, riid, ppvOut);
 }
 
 /**************************************************************************
@@ -508,9 +586,12 @@
                         LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
 {
     IGenericSFImpl *This = (IGenericSFImpl *)iface;
-
-    FIXME ("(%p)->(0x%08lx,pidl1=%p,pidl2=%p): stub\n", This, lParam, pidl1, pidl2);
-    return E_NOTIMPL;
+    int nReturn;
+
+    TRACE ("(%p)->(0x%08lx,pidl1=%p,pidl2=%p)\n", This, lParam, pidl1, pidl2);
+    nReturn = SHELL32_CompareIDs (_IShellFolder_ (This), lParam, pidl1, pidl2);
+    TRACE ("-- %i\n", nReturn);
+    return nReturn;
 }
 
 /**************************************************************************
@@ -519,12 +600,40 @@
 static HRESULT WINAPI ISF_Printers_fnCreateViewObject (IShellFolder2 * iface,
                               HWND hwndOwner, REFIID riid, LPVOID * ppvOut)
 {
-    IGenericSFImpl *This = (IGenericSFImpl *)iface;
-
-    FIXME ("(%p)->(hwnd=%p,%s,%p): stub\n",
-           This, hwndOwner, shdebugstr_guid (riid), ppvOut);
-
-    return E_NOTIMPL;
+
+    LPSHELLVIEW pShellView;
+    HRESULT hr = E_INVALIDARG;
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
+
+    TRACE ("(%p)->(hwnd=%p,%s,%p)\n", This,
+            hwndOwner, shdebugstr_guid (riid), ppvOut);
+
+    if (!ppvOut)
+        return hr;
+
+    *ppvOut = NULL;
+
+    if (IsEqualIID (riid, &IID_IDropTarget))
+    {
+        WARN ("IDropTarget not implemented\n");
+        hr = E_NOTIMPL;
+    }
+    else if (IsEqualIID (riid, &IID_IContextMenu))
+    {
+        WARN ("IContextMenu not implemented\n");
+        hr = E_NOTIMPL;
+    }
+    else if (IsEqualIID (riid, &IID_IShellView))
+    {
+        pShellView = IShellView_Constructor ((IShellFolder *) iface);
+        if (pShellView)
+        {
+            hr = IShellView_QueryInterface (pShellView, riid, ppvOut);
+            IShellView_Release (pShellView);
+        }
+    }
+    TRACE ("-- (%p)->(interface=%p)\n", This, ppvOut);
+    return hr;
 }
 
 /**************************************************************************
@@ -594,8 +703,7 @@
                 LPCITEMIDLIST pidl, DWORD dwFlags, LPSTRRET strRet)
 {
     IGenericSFImpl *This = (IGenericSFImpl *)iface;
-    WCHAR *name;
-    DWORD len;
+    PIDLPrinterStruct * p;
 
     TRACE ("(%p)->(pidl=%p,0x%08lx,%p)\n", This, pidl, dwFlags, strRet);
     pdump (pidl);
@@ -603,13 +711,15 @@
     if (!strRet)
         return E_INVALIDARG;
 
-    name = _ILGetDataPointer(pidl)->u.valueW.name;
-    len = strlenW(name);
-
-    strRet->uType = STRRET_WSTR;
-    strRet->u.pOleStr = SHAlloc((len + 1) * sizeof(WCHAR));
-    memcpy(strRet->u.pOleStr, name, (len + 1) * sizeof(WCHAR));
-
+    p = _ILGetPrinterStruct(pidl);
+    if (!p)
+        return E_INVALIDARG;
+
+    strRet->u.pOleStr = SHAlloc(p->offsServer * sizeof(WCHAR));
+    if (!strRet->u.pOleStr)
+        return E_OUTOFMEMORY;
+
+    memcpy((LPVOID)strRet->u.pOleStr, (LPVOID)p->szName, p->offsServer * sizeof(WCHAR));
     TRACE("ret %s\n", debugstr_w(strRet->u.pOleStr));
 
     return S_OK;
@@ -659,20 +769,21 @@
 static HRESULT WINAPI ISF_Printers_fnGetDefaultColumn (IShellFolder2 * iface,
                 DWORD dwRes, ULONG * pSort, ULONG * pDisplay)
 {
-    IGenericSFImpl *This = (IGenericSFImpl *)iface;
-
-    FIXME ("(%p): stub\n", This);
-
-    return E_NOTIMPL;
+    if (pSort)
+        *pSort = 0;
+    if (pDisplay)
+        *pDisplay = 0;
+
+    return S_OK;
 }
 static HRESULT WINAPI ISF_Printers_fnGetDefaultColumnState (
                 IShellFolder2 * iface, UINT iColumn, DWORD * pcsFlags)
 {
-    IGenericSFImpl *This = (IGenericSFImpl *)iface;
-
-    FIXME ("(%p): stub\n", This);
-
-    return E_NOTIMPL;
+    if (!pcsFlags || iColumn >= PrinterSHELLVIEWCOLUMNS)
+        return E_INVALIDARG;
+    *pcsFlags = PrinterSFHeader[iColumn].pcsFlags;
+    return S_OK;
+
 }
 
 static HRESULT WINAPI ISF_Printers_fnGetDetailsEx (IShellFolder2 * iface,
@@ -688,8 +799,33 @@
                 LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS * psd)
 {
     IGenericSFImpl *This = (IGenericSFImpl *)iface;
-
-    FIXME ("(%p)->(%p %i %p): stub\n", This, pidl, iColumn, psd);
+    WCHAR buffer[MAX_PATH] = {0};
+    HRESULT hr = E_FAIL;
+
+    TRACE("(%p)->(%p %i %p): stub\n", This, pidl, iColumn, psd);
+
+    if (iColumn >= PrinterSHELLVIEWCOLUMNS)
+        return E_FAIL;
+
+    psd->fmt = PrinterSFHeader[iColumn].fmt;
+    psd->cxChar = PrinterSFHeader[iColumn].cxChar;
+    if (pidl == NULL)
+    {
+        psd->str.uType = STRRET_WSTR;
+        if (LoadStringW(shell32_hInstance, PrinterSFHeader[iColumn].colnameid, buffer, MAX_PATH))
+            hr = SHStrDupW(buffer, &psd->str.u.pOleStr);
+
+        return hr;
+    }
+
+    if (iColumn == COLUMN_NAME)
+    {
+        psd->str.uType = STRRET_WSTR;
+        return IShellFolder2_GetDisplayNameOf(iface, pidl, SHGDN_NORMAL, &psd->str);
+    }
+
+    psd->str.uType = STRRET_CSTR;
+    psd->str.u.cStr[0] = '\0';
 
     return E_NOTIMPL;
 }

Modified: trunk/reactos/dll/win32/shell32/shresdef.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shresdef.h?rev=35201&r1=35200&r2=35201&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/shresdef.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/shell32/shresdef.h [iso-8859-1] Fri Aug  8 16:50:24 2008
@@ -153,6 +153,11 @@
 #define IDS_COPY                    315
 #define IDS_DELETE                  316
 #define IDS_PROPERTIES              317
+#define IDS_SHV_COLUMN_DOCUMENTS    318
+#define IDS_SHV_COLUMN_STATUS       319
+#define IDS_SHV_COLUMN_COMMENTS     320
+#define IDS_SHV_COLUMN_LOCATION     321
+#define IDS_SHV_COLUMN_MODEL        322
 
 /* Note: this string is referenced from the registry */
 #define IDS_RECYCLEBIN_FOLDER_NAME   8964



More information about the Ros-diffs mailing list