diff --git a/reactos/dll/win32/shell32/lang/bg-BG.rc b/reactos/dll/win32/shell32/lang/bg-BG.rc index 4437d0f8102..2ffd68210b5 100644 --- a/reactos/dll/win32/shell32/lang/bg-BG.rc +++ b/reactos/dll/win32/shell32/lang/bg-BG.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Ïîñòàâÿíå", FCIDM_SHVIEW_INSERT MENUITEM "Ïîñòàâÿíå êàòî âðúçêà", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Íîâè" - BEGIN - MENUITEM "Íîâà &ïàïêà", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "Íîâà &âðúçêà", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Ñâîéñòâà", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "Íîâè" + FCIDM_SHVIEW_NEWFOLDER "Íîâà &ïàïêà" + FCIDM_SHVIEW_NEWLINK "Íîâà &âðúçêà" END diff --git a/reactos/dll/win32/shell32/lang/ca-ES.rc b/reactos/dll/win32/shell32/lang/ca-ES.rc index 08e66515a8b..c2331893455 100644 --- a/reactos/dll/win32/shell32/lang/ca-ES.rc +++ b/reactos/dll/win32/shell32/lang/ca-ES.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Paste", FCIDM_SHVIEW_INSERT MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "New" - BEGIN - MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "New" + FCIDM_SHVIEW_NEWFOLDER "New &Folder" + FCIDM_SHVIEW_NEWLINK "New &Link" END diff --git a/reactos/dll/win32/shell32/lang/cs-CZ.rc b/reactos/dll/win32/shell32/lang/cs-CZ.rc index 4832daeb0d7..f269c2b8d36 100644 --- a/reactos/dll/win32/shell32/lang/cs-CZ.rc +++ b/reactos/dll/win32/shell32/lang/cs-CZ.rc @@ -55,14 +55,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "V&ložit", FCIDM_SHVIEW_INSERT MENUITEM "Vložit zást&upce", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "&Nový" - BEGIN - MENUITEM "Nová &složka", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "Nový &zástupce", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "&Vlastnosti", FCIDM_SHVIEW_PROPERTIES END END @@ -436,4 +428,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "&Nový" + FCIDM_SHVIEW_NEWFOLDER "Nová &složka" + FCIDM_SHVIEW_NEWLINK "Nový &zástupce" END diff --git a/reactos/dll/win32/shell32/lang/da-DK.rc b/reactos/dll/win32/shell32/lang/da-DK.rc index 6dfacbf78e8..7186c2b332f 100644 --- a/reactos/dll/win32/shell32/lang/da-DK.rc +++ b/reactos/dll/win32/shell32/lang/da-DK.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Paste", FCIDM_SHVIEW_INSERT MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "New" - BEGIN - MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "New" + FCIDM_SHVIEW_NEWFOLDER "New &Folder" + FCIDM_SHVIEW_NEWLINK "New &Link" END diff --git a/reactos/dll/win32/shell32/lang/de-DE.rc b/reactos/dll/win32/shell32/lang/de-DE.rc index a2c7b2629f9..3e6952936da 100644 --- a/reactos/dll/win32/shell32/lang/de-DE.rc +++ b/reactos/dll/win32/shell32/lang/de-DE.rc @@ -56,14 +56,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Einfügen", FCIDM_SHVIEW_INSERT MENUITEM "Einfügen als Verweis", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Neu" - BEGIN - MENUITEM "Neues Ver&zeichnis", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "Neuer Ver&weis", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "&Eigenschaften", FCIDM_SHVIEW_PROPERTIES END END @@ -436,4 +428,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Autoren" IDS_SHELL_ABOUT_BACK "< &Zurück" + FCIDM_SHVIEW_NEW "Neu" + FCIDM_SHVIEW_NEWFOLDER "Neues Ver&zeichnis" + FCIDM_SHVIEW_NEWLINK "Neuer Ver&weis" END diff --git a/reactos/dll/win32/shell32/lang/en-US.rc b/reactos/dll/win32/shell32/lang/en-US.rc index 22942c9e383..34b6a329329 100644 --- a/reactos/dll/win32/shell32/lang/en-US.rc +++ b/reactos/dll/win32/shell32/lang/en-US.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Paste", FCIDM_SHVIEW_INSERT MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "New" - BEGIN - MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "New" + FCIDM_SHVIEW_NEWFOLDER "New &Folder" + FCIDM_SHVIEW_NEWLINK "New &Link" END diff --git a/reactos/dll/win32/shell32/lang/eo-EO.rc b/reactos/dll/win32/shell32/lang/eo-EO.rc index 11f98d7a421..7b958e5d3d6 100644 --- a/reactos/dll/win32/shell32/lang/eo-EO.rc +++ b/reactos/dll/win32/shell32/lang/eo-EO.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Paste", FCIDM_SHVIEW_INSERT MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "New" - BEGIN - MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "New" + FCIDM_SHVIEW_NEWFOLDER "New &Folder" + FCIDM_SHVIEW_NEWLINK "New &Link" END diff --git a/reactos/dll/win32/shell32/lang/es-ES.rc b/reactos/dll/win32/shell32/lang/es-ES.rc index ad913dc0e6c..19a76a193e7 100644 --- a/reactos/dll/win32/shell32/lang/es-ES.rc +++ b/reactos/dll/win32/shell32/lang/es-ES.rc @@ -55,14 +55,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Pegar", FCIDM_SHVIEW_INSERT MENUITEM "Pegar acceso directo", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Nuevo" - BEGIN - MENUITEM "Nueva &carpeta", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "Nuevo &acceso directo", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Propiedades", FCIDM_SHVIEW_PROPERTIES END END @@ -436,4 +428,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "Nuevo" + FCIDM_SHVIEW_NEWFOLDER "Nueva &carpeta" + FCIDM_SHVIEW_NEWLINK "Nuevo &acceso directo" END diff --git a/reactos/dll/win32/shell32/lang/fi-FI.rc b/reactos/dll/win32/shell32/lang/fi-FI.rc index 6429cf9806b..6cdceb243b1 100644 --- a/reactos/dll/win32/shell32/lang/fi-FI.rc +++ b/reactos/dll/win32/shell32/lang/fi-FI.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Liitä", FCIDM_SHVIEW_INSERT MENUITEM "Liitä Linkiksi", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Uusi" - BEGIN - MENUITEM "Uusi &Kansio", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "Uusi &Linkki", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Ominaisuudet", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "Uusi" + FCIDM_SHVIEW_NEWFOLDER "Uusi &Kansio" + FCIDM_SHVIEW_NEWLINK "Uusi &Linkki" END diff --git a/reactos/dll/win32/shell32/lang/fr-FR.rc b/reactos/dll/win32/shell32/lang/fr-FR.rc index aedc361fd1d..d5fa0e2ec68 100644 --- a/reactos/dll/win32/shell32/lang/fr-FR.rc +++ b/reactos/dll/win32/shell32/lang/fr-FR.rc @@ -58,14 +58,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Coller", FCIDM_SHVIEW_INSERT MENUITEM "Coller comme un lien", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Nouveau" - BEGIN - MENUITEM "Nouveau d&ossier", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "Nouveau &lien", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Propriétés", FCIDM_SHVIEW_PROPERTIES END END @@ -439,4 +431,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "Nouveau" + FCIDM_SHVIEW_NEWFOLDER "Nouveau d&ossier" + FCIDM_SHVIEW_NEWLINK "Nouveau &lien" END diff --git a/reactos/dll/win32/shell32/lang/hu-HU.rc b/reactos/dll/win32/shell32/lang/hu-HU.rc index 1a79815bd97..079afb2c63e 100644 --- a/reactos/dll/win32/shell32/lang/hu-HU.rc +++ b/reactos/dll/win32/shell32/lang/hu-HU.rc @@ -57,14 +57,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Beillesztés", FCIDM_SHVIEW_INSERT MENUITEM "Parancsikon beillesztése", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Ú&j" - BEGIN - MENUITEM "&Mappa", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "&Parancsikon", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Beállítások", FCIDM_SHVIEW_PROPERTIES END END @@ -438,4 +430,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "Ú&j" + FCIDM_SHVIEW_NEWFOLDER "&Mappa" + FCIDM_SHVIEW_NEWLINK "&Parancsikon" END diff --git a/reactos/dll/win32/shell32/lang/it-IT.rc b/reactos/dll/win32/shell32/lang/it-IT.rc index ab82ac0b8d9..d678aa9b30b 100644 --- a/reactos/dll/win32/shell32/lang/it-IT.rc +++ b/reactos/dll/win32/shell32/lang/it-IT.rc @@ -55,14 +55,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Incolla", FCIDM_SHVIEW_INSERT MENUITEM "Crea Collegamento", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Nuovo" - BEGIN - MENUITEM "Nuova &Cartella", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "Nuovo &Collegamento", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Proprietà", FCIDM_SHVIEW_PROPERTIES END END @@ -436,4 +428,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "Nuovo" + FCIDM_SHVIEW_NEWFOLDER "Nuova &Cartella" + FCIDM_SHVIEW_NEWLINK "Nuovo &Collegamento" END diff --git a/reactos/dll/win32/shell32/lang/ja-JP.rc b/reactos/dll/win32/shell32/lang/ja-JP.rc index daf4ba515f5..481a1a1c7f8 100644 --- a/reactos/dll/win32/shell32/lang/ja-JP.rc +++ b/reactos/dll/win32/shell32/lang/ja-JP.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "“\\‚è•t‚¯", FCIDM_SHVIEW_INSERT MENUITEM "ƒVƒ‡[ƒgƒJƒbƒg‚Ì“\\‚è•t‚¯", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "V‹Kì¬" - BEGIN - MENUITEM "ƒtƒHƒ‹ƒ_(&F)", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "ƒVƒ‡[ƒgƒJƒbƒg(&L)", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "ƒvƒƒpƒeƒB", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "V‹Kì¬" + FCIDM_SHVIEW_NEWFOLDER "ƒtƒHƒ‹ƒ_(&F)" + FCIDM_SHVIEW_NEWLINK "ƒVƒ‡[ƒgƒJƒbƒg(&L)" END diff --git a/reactos/dll/win32/shell32/lang/ko-KO.rc b/reactos/dll/win32/shell32/lang/ko-KO.rc index b2d127148a6..330c2471a28 100644 --- a/reactos/dll/win32/shell32/lang/ko-KO.rc +++ b/reactos/dll/win32/shell32/lang/ko-KO.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Paste", FCIDM_SHVIEW_INSERT MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "New" - BEGIN - MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "New" + FCIDM_SHVIEW_NEWFOLDER "New &Folder" + FCIDM_SHVIEW_NEWLINK "New &Link" END diff --git a/reactos/dll/win32/shell32/lang/nb-NO.rc b/reactos/dll/win32/shell32/lang/nb-NO.rc index 4e9f8760752..a158cde45a3 100644 --- a/reactos/dll/win32/shell32/lang/nb-NO.rc +++ b/reactos/dll/win32/shell32/lang/nb-NO.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Lim inn", FCIDM_SHVIEW_INSERT MENUITEM "Lim inn som snarvei", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Ny" - BEGIN - MENUITEM "Ny &mappe", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "Ny &snarvei", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Egenskaper", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "Ny" + FCIDM_SHVIEW_NEWFOLDER "Ny &mappe" + FCIDM_SHVIEW_NEWLINK "Ny &snarvei" END diff --git a/reactos/dll/win32/shell32/lang/nl-NL.rc b/reactos/dll/win32/shell32/lang/nl-NL.rc index 9f679ca00fe..903b2785c8f 100644 --- a/reactos/dll/win32/shell32/lang/nl-NL.rc +++ b/reactos/dll/win32/shell32/lang/nl-NL.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Paste", FCIDM_SHVIEW_INSERT MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "New" - BEGIN - MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "New" + FCIDM_SHVIEW_NEWFOLDER "New &Folder" + FCIDM_SHVIEW_NEWLINK "New &Link" END diff --git a/reactos/dll/win32/shell32/lang/pl-PL.rc b/reactos/dll/win32/shell32/lang/pl-PL.rc index 279d676cfc1..fd783392a73 100644 --- a/reactos/dll/win32/shell32/lang/pl-PL.rc +++ b/reactos/dll/win32/shell32/lang/pl-PL.rc @@ -55,14 +55,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "W&klej", FCIDM_SHVIEW_INSERT MENUITEM "Wklej s&krót", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "&Nowy" - BEGIN - MENUITEM "&Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "&Skrót", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "W³aœciwoœci", FCIDM_SHVIEW_PROPERTIES END END @@ -436,4 +428,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "&Nowy" + FCIDM_SHVIEW_NEWFOLDER "&Folder" + FCIDM_SHVIEW_NEWLINK "&Skrót" END diff --git a/reactos/dll/win32/shell32/lang/pt-BR.rc b/reactos/dll/win32/shell32/lang/pt-BR.rc index ed421706ff7..7099372cd80 100644 --- a/reactos/dll/win32/shell32/lang/pt-BR.rc +++ b/reactos/dll/win32/shell32/lang/pt-BR.rc @@ -56,14 +56,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Co&lar", FCIDM_SHVIEW_INSERT MENUITEM "Colar a&talho", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Novo" - BEGIN - MENUITEM "&Pasta", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "&Atalho", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Propriedades", FCIDM_SHVIEW_PROPERTIES END END @@ -437,4 +429,8 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "Novo" + FCIDM_SHVIEW_NEWFOLDER "&Pasta" + FCIDM_SHVIEW_NEWLINK "&Atalho" + END diff --git a/reactos/dll/win32/shell32/lang/pt-PT.rc b/reactos/dll/win32/shell32/lang/pt-PT.rc index f54fc01221d..82ad715158a 100644 --- a/reactos/dll/win32/shell32/lang/pt-PT.rc +++ b/reactos/dll/win32/shell32/lang/pt-PT.rc @@ -56,14 +56,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Co&lar", FCIDM_SHVIEW_INSERT MENUITEM "Colar a&talho", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Novo" - BEGIN - MENUITEM "&Pasta", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "&Atalho", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Propriedades", FCIDM_SHVIEW_PROPERTIES END END @@ -437,4 +429,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "Novo" + FCIDM_SHVIEW_NEWFOLDER "&Pasta" + FCIDM_SHVIEW_NEWLINK "&Atalho" END diff --git a/reactos/dll/win32/shell32/lang/ru-RU.rc b/reactos/dll/win32/shell32/lang/ru-RU.rc index 08ff7f980fa..b612e0e442a 100644 --- a/reactos/dll/win32/shell32/lang/ru-RU.rc +++ b/reactos/dll/win32/shell32/lang/ru-RU.rc @@ -55,14 +55,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Âñòàâèòü", FCIDM_SHVIEW_INSERT MENUITEM "Âñòàâèòü &ÿðëûê", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Ñîçäàòü" - BEGIN - MENUITEM "&Ïàïêà", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "&ßðëûê", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Ñâî&éñòâà", FCIDM_SHVIEW_PROPERTIES END END @@ -434,4 +426,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Àâòîðû" IDS_SHELL_ABOUT_BACK "< &Íàçàä" + FCIDM_SHVIEW_NEW "Ñîçäàòü" + FCIDM_SHVIEW_NEWFOLDER "&Ïàïêà" + FCIDM_SHVIEW_NEWLINK "&ßðëûê" END diff --git a/reactos/dll/win32/shell32/lang/sk-SK.rc b/reactos/dll/win32/shell32/lang/sk-SK.rc index 5abdfd82947..1e9cabdca80 100644 --- a/reactos/dll/win32/shell32/lang/sk-SK.rc +++ b/reactos/dll/win32/shell32/lang/sk-SK.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Paste", FCIDM_SHVIEW_INSERT MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "New" - BEGIN - MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "New" + FCIDM_SHVIEW_NEWFOLDER "New &Folder" + FCIDM_SHVIEW_NEWLINK "New &Link" END diff --git a/reactos/dll/win32/shell32/lang/sl-SI.rc b/reactos/dll/win32/shell32/lang/sl-SI.rc index 36eb22aec95..62b252ad18b 100644 --- a/reactos/dll/win32/shell32/lang/sl-SI.rc +++ b/reactos/dll/win32/shell32/lang/sl-SI.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Paste", FCIDM_SHVIEW_INSERT MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "New" - BEGIN - MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "New" + FCIDM_SHVIEW_NEWFOLDER "New &Folder" + FCIDM_SHVIEW_NEWLINK "New &Link" END diff --git a/reactos/dll/win32/shell32/lang/sv-SE.rc b/reactos/dll/win32/shell32/lang/sv-SE.rc index c71562e65c4..c855ca77dba 100644 --- a/reactos/dll/win32/shell32/lang/sv-SE.rc +++ b/reactos/dll/win32/shell32/lang/sv-SE.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Paste", FCIDM_SHVIEW_INSERT MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "New" - BEGIN - MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "New" + FCIDM_SHVIEW_NEWFOLDER "New &Folder" + FCIDM_SHVIEW_NEWLINK "New &Link" END diff --git a/reactos/dll/win32/shell32/lang/tr-TR.rc b/reactos/dll/win32/shell32/lang/tr-TR.rc index 4e4696b078b..c0374ae50d6 100644 --- a/reactos/dll/win32/shell32/lang/tr-TR.rc +++ b/reactos/dll/win32/shell32/lang/tr-TR.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Yapýþtýr", FCIDM_SHVIEW_INSERT MENUITEM "Kýsayol Yapýþtýr", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Yeni" - BEGIN - MENUITEM "Yeni &Dizin", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "Yeni &Kýsayol", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Özellikler", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "Yeni" + FCIDM_SHVIEW_NEWFOLDER "Yeni &Dizin" + FCIDM_SHVIEW_NEWLINK "Yeni &Kýsayol" END diff --git a/reactos/dll/win32/shell32/lang/uk-UA.rc b/reactos/dll/win32/shell32/lang/uk-UA.rc index 555c189a493..67daeeb9ba5 100644 --- a/reactos/dll/win32/shell32/lang/uk-UA.rc +++ b/reactos/dll/win32/shell32/lang/uk-UA.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Âñòàâèòè", FCIDM_SHVIEW_INSERT MENUITEM "Âñòàâèòè Ïîñèëàííÿ", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "Ñòâîðèòè" - BEGIN - MENUITEM "Íîâà &Òåêà", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "Íîâå &Ïîñèëàííÿ", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Âëàñòèâîñò³", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "Ñòâîðèòè" + FCIDM_SHVIEW_NEWFOLDER "Íîâà &Òåêà" + FCIDM_SHVIEW_NEWLINK "Íîâå &Ïîñèëàííÿ" END diff --git a/reactos/dll/win32/shell32/lang/wa-WA.rc b/reactos/dll/win32/shell32/lang/wa-WA.rc index 5c3031c43c6..21796deb73a 100644 --- a/reactos/dll/win32/shell32/lang/wa-WA.rc +++ b/reactos/dll/win32/shell32/lang/wa-WA.rc @@ -54,14 +54,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Paste", FCIDM_SHVIEW_INSERT MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "New" - BEGIN - MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES END END @@ -435,4 +427,7 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "New" + FCIDM_SHVIEW_NEWFOLDER "New &Folder" + FCIDM_SHVIEW_NEWLINK "New &Link" END diff --git a/reactos/dll/win32/shell32/lang/zh-CN.rc b/reactos/dll/win32/shell32/lang/zh-CN.rc index a40766cd085..e556b478c05 100644 --- a/reactos/dll/win32/shell32/lang/zh-CN.rc +++ b/reactos/dll/win32/shell32/lang/zh-CN.rc @@ -55,14 +55,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Paste", FCIDM_SHVIEW_INSERT MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "New" - BEGIN - MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES END END @@ -436,6 +428,9 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "New" + FCIDM_SHVIEW_NEWFOLDER "New &Folder" + FCIDM_SHVIEW_NEWLINK "New &Link" END #pragma code_page(default) diff --git a/reactos/dll/win32/shell32/lang/zh-TW.rc b/reactos/dll/win32/shell32/lang/zh-TW.rc index 5e8bd65f64a..d88c189d2dc 100644 --- a/reactos/dll/win32/shell32/lang/zh-TW.rc +++ b/reactos/dll/win32/shell32/lang/zh-TW.rc @@ -55,14 +55,6 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Paste", FCIDM_SHVIEW_INSERT MENUITEM "Paste as Link", FCIDM_SHVIEW_INSERTLINK - MENUITEM SEPARATOR - POPUP "New" - BEGIN - MENUITEM "New &Folder", FCIDM_SHVIEW_NEWFOLDER - MENUITEM "New &Link", FCIDM_SHVIEW_NEWLINK - MENUITEM SEPARATOR - END - MENUITEM SEPARATOR MENUITEM "Properties", FCIDM_SHVIEW_PROPERTIES END END @@ -436,6 +428,9 @@ BEGIN IDS_SHELL_ABOUT_AUTHORS "&Authors" IDS_SHELL_ABOUT_BACK "< &Back" + FCIDM_SHVIEW_NEW "New" + FCIDM_SHVIEW_NEWFOLDER "New &Folder" + FCIDM_SHVIEW_NEWLINK "New &Link" END #pragma code_page(default) diff --git a/reactos/dll/win32/shell32/shresdef.h b/reactos/dll/win32/shell32/shresdef.h index 862314eb543..b8fb3a67253 100644 --- a/reactos/dll/win32/shell32/shresdef.h +++ b/reactos/dll/win32/shell32/shresdef.h @@ -105,6 +105,7 @@ #define IDS_OPEN_WITH_CHOOSE 143 #define IDS_SHELL_ABOUT_AUTHORS 144 #define IDS_SHELL_ABOUT_BACK 145 +#define FCIDM_SHVIEW_NEW 146 /* Note: this string is referenced from the registry */ #define IDS_RECYCLEBIN_FOLDER_NAME 8964 diff --git a/reactos/dll/win32/shell32/shv_bg_cmenu.c b/reactos/dll/win32/shell32/shv_bg_cmenu.c index d226b0ea8e0..59dfee4faee 100644 --- a/reactos/dll/win32/shell32/shv_bg_cmenu.c +++ b/reactos/dll/win32/shell32/shv_bg_cmenu.c @@ -49,493 +49,10 @@ typedef struct IShellFolder* pSFParent; LONG ref; BOOL bDesktop; - UINT iIdShellNewFirst; - UINT iIdShellNewLast; } BgCmImpl; -typedef enum -{ - SHELLNEW_TYPE_COMMAND = 1, - SHELLNEW_TYPE_DATA = 2, - SHELLNEW_TYPE_FILENAME = 4, - SHELLNEW_TYPE_NULLFILE = 8 -}SHELLNEW_TYPE; - - -typedef struct __SHELLNEW_ITEM__ -{ - SHELLNEW_TYPE Type; - LPWSTR szExt; - LPWSTR szTarget; - LPWSTR szDesc; - LPWSTR szIcon; - struct __SHELLNEW_ITEM__ * Next; -}SHELLNEW_ITEM, *PSHELLNEW_ITEM; - - static const IContextMenu2Vtbl cmvt; -static PSHELLNEW_ITEM s_SnHead = NULL; - -static -BOOL -GetKeyDescription(LPWSTR szKeyName, LPWSTR szResult) -{ - HKEY hKey; - DWORD dwDesc, dwError; - WCHAR szDesc[100]; - - static const WCHAR szFriendlyTypeName[] = { '\\','F','r','i','e','n','d','l','y','T','y','p','e','N','a','m','e',0 }; - - TRACE("GetKeyDescription: keyname %s\n", debugstr_w(szKeyName)); - - if (RegOpenKeyExW(HKEY_CLASSES_ROOT,szKeyName,0, KEY_READ | KEY_QUERY_VALUE,&hKey) != ERROR_SUCCESS) - return FALSE; - - if (RegLoadMUIStringW(hKey,szFriendlyTypeName,szResult,MAX_PATH,&dwDesc,0,NULL) == ERROR_SUCCESS) - { - TRACE("result %s\n", debugstr_w(szResult)); - RegCloseKey(hKey); - return TRUE; - } - /* fetch default value */ - dwDesc = sizeof(szDesc); - dwError = RegGetValueW(hKey,NULL,NULL, RRF_RT_REG_SZ,NULL,szDesc,&dwDesc); - if(dwError == ERROR_SUCCESS) - { - if (wcsncmp(szDesc, szKeyName, dwDesc / sizeof(WCHAR))) - { - /* recurse for to a linked key */ - if (!GetKeyDescription(szDesc, szResult)) - { - /* use description */ - wcscpy(szResult, szDesc); - } - } - else - { - /* use default value as description */ - wcscpy(szResult, szDesc); - } - } - else - { - /* registry key w/o default key?? */ - TRACE("RegGetValue failed with %x\n", dwError); - wcscpy(szResult, szKeyName); - } - - RegCloseKey(hKey); - return TRUE; -} - - -PSHELLNEW_ITEM LoadItem(LPWSTR szKeyName) -{ - HKEY hKey; - DWORD dwIndex; - WCHAR szName[MAX_PATH]; - WCHAR szCommand[MAX_PATH]; - WCHAR szDesc[MAX_PATH] = {0}; - WCHAR szIcon[MAX_PATH] = {0}; - DWORD dwName, dwCommand; - LONG result; - PSHELLNEW_ITEM pNewItem; - - static const WCHAR szShellNew[] = { '\\','S','h','e','l','l','N','e','w',0 }; - static const WCHAR szCmd[] = { 'C','o','m','m','a','n','d',0 }; - static const WCHAR szData[] = { 'D','a','t','a',0 }; - static const WCHAR szFileName[] = { 'F','i','l','e','N','a','m','e', 0 }; - static const WCHAR szNullFile[] = { 'N','u','l','l','F','i','l','e', 0 }; - - wcscpy(szName, szKeyName); - GetKeyDescription(szKeyName, szDesc); - wcscat(szName, szShellNew); - result = RegOpenKeyExW(HKEY_CLASSES_ROOT,szName,0,KEY_READ,&hKey); - - //TRACE("LoadItem dwName %d keyname %s szName %s szDesc %s szIcon %s\n", dwName, debugstr_w(szKeyName), debugstr_w(szName), debugstr_w(szDesc), debugstr_w(szIcon)); - - if (result != ERROR_SUCCESS) - { - return NULL; - } - - dwIndex = 0; - pNewItem = NULL; - - do - { - dwName = MAX_PATH; - dwCommand = MAX_PATH; - result = RegEnumValueW(hKey,dwIndex,szName,&dwName,NULL,NULL,(LPBYTE)szCommand, &dwCommand); - if (result == ERROR_SUCCESS) - { - long type = -1; - LPWSTR szTarget = szCommand; - //TRACE("szName %s szCommand %s\n", debugstr_w(szName), debugstr_w(szCommand)); - if (!wcsicmp(szName, szCmd)) - { - type = SHELLNEW_TYPE_COMMAND; - }else if (!wcsicmp(szName, szData)) - { - type = SHELLNEW_TYPE_DATA; - } - else if (!wcsicmp(szName, szFileName)) - { - type = SHELLNEW_TYPE_FILENAME; - } - else if (!wcsicmp(szName, szNullFile)) - { - type = SHELLNEW_TYPE_NULLFILE; - szTarget = NULL; - } - if (type != -1) - { - pNewItem = HeapAlloc(GetProcessHeap(), 0, sizeof(SHELLNEW_ITEM)); - pNewItem->Type = type; - if (szTarget) - pNewItem->szTarget = wcsdup(szTarget); - else - pNewItem->szTarget = NULL; - - pNewItem->szDesc = wcsdup(szDesc); - pNewItem->szIcon = wcsdup(szIcon); - pNewItem->szExt = wcsdup(szKeyName); - pNewItem->Next = NULL; - break; - } - } - dwIndex++; - }while(result != ERROR_NO_MORE_ITEMS); - RegCloseKey(hKey); - return pNewItem; -} - - -BOOL -LoadShellNewItems() -{ - DWORD dwIndex; - WCHAR szName[MAX_PATH]; - LONG result; - PSHELLNEW_ITEM pNewItem; - PSHELLNEW_ITEM pCurItem = NULL; - static WCHAR szLnk[] = { '.','l','n','k',0 }; - - dwIndex = 0; - do - { - result = RegEnumKeyW(HKEY_CLASSES_ROOT,dwIndex,szName,MAX_PATH); - if (result == ERROR_SUCCESS) - { - pNewItem = LoadItem(szName); - if (pNewItem) - { - if (!wcsicmp(pNewItem->szExt, szLnk)) - { - if (s_SnHead) - { - pNewItem->Next = s_SnHead; - s_SnHead = pNewItem; - } - else - { - s_SnHead = pCurItem = pNewItem; - } - } - else - { - if (pCurItem) - { - pCurItem->Next = pNewItem; - pCurItem = pNewItem; - } - else - { - pCurItem = s_SnHead = pNewItem; - } - } - } - } - dwIndex++; - }while(result != ERROR_NO_MORE_ITEMS); - - if (s_SnHead == NULL) - return FALSE; - else - return TRUE; -} -VOID -InsertShellNewItems(HMENU hMenu, UINT idFirst, UINT idMenu, BgCmImpl * This) -{ - MENUITEMINFOW mii; - PSHELLNEW_ITEM pCurItem; - UINT i; - if (s_SnHead == NULL) - { - if (!LoadShellNewItems()) - return; - - } - - ZeroMemory(&mii, sizeof(mii)); - mii.cbSize = sizeof(mii); - - This->iIdShellNewFirst = idFirst; - - /* - * FIXME: small hack for new shortcut - */ - - mii.fMask = MIIM_ID; - mii.wID = idFirst; - SetMenuItemInfoW(hMenu, 1, TRUE, &mii); - idFirst++; - - mii.fMask = MIIM_TYPE | MIIM_ID; - mii.fType = MFT_SEPARATOR; - mii.wID = -1; - InsertMenuItemW(hMenu, -1, TRUE, &mii); - - - mii.fMask = MIIM_ID | MIIM_TYPE | MIIM_STATE | MIIM_DATA; - mii.fType = MFT_OWNERDRAW; - mii.fState = MFS_ENABLED; - - pCurItem = s_SnHead; - i = 0; - - while(pCurItem) - { - if (i >= 1) - { - mii.dwTypeData = pCurItem->szDesc; - mii.cch = strlenW(mii.dwTypeData); - mii.wID = idFirst; - InsertMenuItemW(hMenu, idMenu, TRUE, &mii); - idMenu++; - idFirst++; - } - pCurItem = pCurItem->Next; - i++; - } - This->iIdShellNewLast = idFirst; -} -VOID -DoShellNewCmd(BgCmImpl * This, LPCMINVOKECOMMANDINFO lpcmi) -{ - PSHELLNEW_ITEM pCurItem = s_SnHead; - IPersistFolder3 * psf; - LPITEMIDLIST pidl; - STRRET strTemp; - WCHAR szTemp[MAX_PATH]; - WCHAR szBuffer[MAX_PATH]; - WCHAR szPath[MAX_PATH]; - STARTUPINFOW sInfo; - PROCESS_INFORMATION pi; - UINT i, target; - HANDLE hFile; - DWORD dwWritten, dwError; - - static const WCHAR szNew[] = { 'N','e','w',' ',0 }; //FIXME - static const WCHAR szP1[] = { '%', '1', 0 }; - static const WCHAR szFormat[] = {'%','s',' ','(','%','d',')','%','s',0 }; - - i = This->iIdShellNewFirst; - target = LOWORD(lpcmi->lpVerb); - - while(pCurItem) - { - if (i == target) - break; - - pCurItem = pCurItem->Next; - i++; - } - - if (!pCurItem) - return; - - if (This->bDesktop) - { - if (!SHGetSpecialFolderPathW(0, szPath, CSIDL_DESKTOPDIRECTORY, FALSE)) - { - ERR("Failed to get desktop folder location"); - return; - } - } - else - { - if (IShellFolder2_QueryInterface(This->pSFParent, &IID_IPersistFolder2, (LPVOID*)&psf) != S_OK) - { - ERR("Failed to get interface IID_IPersistFolder2\n"); - return; - } - if (IPersistFolder2_GetCurFolder(psf, &pidl) != S_OK) - { - ERR("IPersistFolder2_GetCurFolder failed\n"); - return; - } - - if (IShellFolder2_GetDisplayNameOf(This->pSFParent, pidl, SHGDN_FORPARSING, &strTemp) != S_OK) - { - ERR("IShellFolder_GetDisplayNameOf failed\n"); - return; - } - StrRetToBufW(&strTemp, pidl, szPath, MAX_PATH); - } - switch(pCurItem->Type) - { - case SHELLNEW_TYPE_COMMAND: - { - LPWSTR ptr; - LPWSTR szCmd; - - if (!ExpandEnvironmentStringsW(pCurItem->szTarget, szBuffer, MAX_PATH)) - { - TRACE("ExpandEnvironmentStrings failed\n"); - break; - } - - ptr = wcsstr(szBuffer, szP1); - if (ptr) - { - ptr[1] = 's'; - sprintfW(szTemp, szBuffer, szPath); - ptr = szTemp; - } - else - { - ptr = szBuffer; - } - - ZeroMemory(&sInfo, sizeof(sInfo)); - sInfo.cb = sizeof(sizeof(sInfo)); - szCmd = wcsdup(ptr); - if (!szCmd) - break; - if (CreateProcessW(NULL, szCmd, NULL, NULL,FALSE,0,NULL,NULL,&sInfo, &pi)) - { - CloseHandle( pi.hProcess ); - CloseHandle( pi.hThread ); - } - free(szCmd); - break; - } - case SHELLNEW_TYPE_DATA: - case SHELLNEW_TYPE_FILENAME: - case SHELLNEW_TYPE_NULLFILE: - { - i = 2; - - PathAddBackslashW(szPath); - wcscat(szPath, szNew); - wcscat(szPath, pCurItem->szDesc); - wcscpy(szBuffer, szPath); - wcscat(szBuffer, pCurItem->szExt); - do - { - hFile = CreateFileW(szBuffer, GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL); - if (hFile != INVALID_HANDLE_VALUE) - break; - dwError = GetLastError(); - - TRACE("FileName %s szBuffer %s i %u error %x\n", debugstr_w(szBuffer), debugstr_w(szPath), i, dwError); - sprintfW(szBuffer, szFormat, szPath, i, pCurItem->szExt); - i++; - }while(hFile == INVALID_HANDLE_VALUE && dwError == ERROR_FILE_EXISTS); - - if (hFile == INVALID_HANDLE_VALUE) - return; - - if (pCurItem->Type == SHELLNEW_TYPE_DATA) - { - i = WideCharToMultiByte(CP_ACP, 0, pCurItem->szTarget, -1, (LPSTR)szTemp, MAX_PATH*2, NULL, NULL); - if (i) - { - WriteFile(hFile, (LPCVOID)szTemp, i, &dwWritten, NULL); - } - } - CloseHandle(hFile); - if (pCurItem->Type == SHELLNEW_TYPE_FILENAME) - { - if (!CopyFileW(pCurItem->szTarget, szBuffer, FALSE)) - break; - } - TRACE("Notifying fs %s\n", debugstr_w(szBuffer)); - SHChangeNotify(SHCNE_CREATE, SHCNF_PATHW, (LPCVOID)szBuffer, NULL); - break; - } - } -} -HRESULT -DoMeasureItem(BgCmImpl *This, HWND hWnd, MEASUREITEMSTRUCT * lpmis) -{ - PSHELLNEW_ITEM pCurItem; - PSHELLNEW_ITEM pItem; - UINT i; - HDC hDC; - SIZE size; - - TRACE("DoMeasureItem entered with id %x\n", lpmis->itemID); - - pCurItem = s_SnHead; - - i = This->iIdShellNewFirst; - pItem = NULL; - while(pCurItem) - { - if (i == lpmis->itemID) - { - pItem = pCurItem; - break; - } - pCurItem = pCurItem->Next; - i++; - } - - if (!pItem) - return E_FAIL; - - hDC = GetDC(hWnd); - GetTextExtentPoint32W(hDC, pCurItem->szDesc, strlenW(pCurItem->szDesc), &size); - lpmis->itemWidth = size.cx + 32; - lpmis->itemHeight = max(size.cy, 20); - ReleaseDC (hWnd, hDC); - return S_OK; -} - -HRESULT -DoDrawItem(BgCmImpl *This, HWND hWnd, DRAWITEMSTRUCT * drawItem) -{ - PSHELLNEW_ITEM pCurItem; - PSHELLNEW_ITEM pItem; - UINT i; - pCurItem = s_SnHead; - - TRACE("DoDrawItem entered with id %x\n", drawItem->itemID); - - i = This->iIdShellNewFirst; - pItem = NULL; - while(pCurItem) - { - if (i == drawItem->itemID) - { - pItem = pCurItem; - break; - } - pCurItem = pCurItem->Next; - i++; - } - - if (!pItem) - return E_FAIL; - - drawItem->rcItem.left += 20; - - DrawTextW(drawItem->hDC, pCurItem->szDesc, wcslen(pCurItem->szDesc), &drawItem->rcItem, 0); - return S_OK; -} BOOL HasClipboardData() { @@ -693,13 +210,6 @@ static HRESULT WINAPI ISVBgCm_fnQueryContextMenu( } DestroyMenu(hMyMenu); - mii.cbSize = sizeof(mii); - mii.fMask = MIIM_SUBMENU; - if (GetMenuItemInfoW(hMenu, 10, TRUE, &mii)) - { - InsertShellNewItems(mii.hSubMenu, 0x6000, 0x6000, This); - } - if (!HasClipboardData()) { mii.cbSize = sizeof(mii); @@ -720,36 +230,6 @@ static HRESULT WINAPI ISVBgCm_fnQueryContextMenu( return hr; } -/************************************************************************** -* DoNewFolder -*/ -static void DoNewFolder( - IContextMenu2 *iface, - IShellView *psv) -{ - BgCmImpl *This = (BgCmImpl *)iface; - ISFHelper * psfhlp; - WCHAR wszName[MAX_PATH]; - - IShellFolder_QueryInterface(This->pSFParent, &IID_ISFHelper, (LPVOID*)&psfhlp); - if (psfhlp) - { - LPITEMIDLIST pidl; - ISFHelper_GetUniqueName(psfhlp, wszName, MAX_PATH); - ISFHelper_AddFolder(psfhlp, 0, wszName, &pidl); - - if(psv) - { - /* if we are in a shellview do labeledit */ - IShellView_SelectItem(psv, - pidl,(SVSI_DESELECTOTHERS | SVSI_EDIT | SVSI_ENSUREVISIBLE - |SVSI_FOCUSED|SVSI_SELECT)); - } - SHFree(pidl); - - ISFHelper_Release(psfhlp); - } -} /************************************************************************** * DoPaste @@ -876,11 +356,7 @@ static HRESULT WINAPI ISVBgCm_fnInvokeCommand( { TRACE("%s\n",lpcmi->lpVerb); - if (! strcmp(lpcmi->lpVerb,CMDSTR_NEWFOLDERA)) - { - DoNewFolder(iface, lpSV); - } - else if (! strcmp(lpcmi->lpVerb,CMDSTR_VIEWLISTA)) + if (! strcmp(lpcmi->lpVerb,CMDSTR_VIEWLISTA)) { if(hWndSV) SendMessageA(hWndSV, WM_COMMAND, MAKEWPARAM(FCIDM_SHVIEW_LISTVIEW,0),0 ); } @@ -900,11 +376,6 @@ static HRESULT WINAPI ISVBgCm_fnInvokeCommand( case FCIDM_SHVIEW_REFRESH: if (lpSV) IShellView_Refresh(lpSV); break; - - case FCIDM_SHVIEW_NEWFOLDER: - DoNewFolder(iface, lpSV); - break; - case FCIDM_SHVIEW_INSERT: DoPaste(iface); break; @@ -918,16 +389,6 @@ static HRESULT WINAPI ISVBgCm_fnInvokeCommand( break; default: - if (LOWORD(lpcmi->lpVerb) >= This->iIdShellNewFirst && LOWORD(lpcmi->lpVerb) <= This->iIdShellNewLast) - { - DoShellNewCmd(This, lpcmi); - if (lpSV) - { - IShellView_Refresh(lpSV); - } - break; - } - /* if it's an id just pass it to the parent shv */ if (hWndSV) SendMessageA(hWndSV, WM_COMMAND, MAKEWPARAM(LOWORD(lpcmi->lpVerb), 0),0 ); break; @@ -963,8 +424,7 @@ static HRESULT WINAPI ISVBgCm_fnGetCommandString( if(HIWORD(idCommand)) { if (!strcmp((LPSTR)idCommand, CMDSTR_VIEWLISTA) || - !strcmp((LPSTR)idCommand, CMDSTR_VIEWDETAILSA) || - !strcmp((LPSTR)idCommand, CMDSTR_NEWFOLDERA)) + !strcmp((LPSTR)idCommand, CMDSTR_VIEWDETAILSA)) { return NOERROR; } @@ -985,23 +445,9 @@ static HRESULT WINAPI ISVBgCm_fnHandleMenuMsg( LPARAM lParam) { BgCmImpl *This = (BgCmImpl *)iface; - DRAWITEMSTRUCT * lpids = (DRAWITEMSTRUCT*) lParam; - MEASUREITEMSTRUCT *lpmis = (MEASUREITEMSTRUCT*) lParam; TRACE("ISVBgCm_fnHandleMenuMsg (%p)->(msg=%x wp=%lx lp=%lx)\n",This, uMsg, wParam, lParam); - switch(uMsg) - { - case WM_MEASUREITEM: - if (lpmis->itemID >= This->iIdShellNewFirst && lpmis->itemID <= This->iIdShellNewLast) - return DoMeasureItem(This, (HWND)wParam, lpmis); - break; - case WM_DRAWITEM: - if (lpmis->itemID >= This->iIdShellNewFirst && lpmis->itemID <= This->iIdShellNewLast) - return DoDrawItem(This, (HWND)wParam, lpids); - break; - } - return E_NOTIMPL; }