https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8ef8e41cc9483f7665666…
commit 8ef8e41cc9483f7665666641cfdd48f5d71a1a7c
Author: Denis Malikov <Getequ(a)users.noreply.github.com>
AuthorDate: Wed Dec 15 21:42:47 2021 +0700
Commit: GitHub <noreply(a)github.com>
CommitDate: Wed Dec 15 17:42:47 2021 +0300
[SHELL32] Show error message if move or copy operation failed (#4155)
This allows user to know when there is not enough space on the target media,
when there is no permissions for the operation, or some other error.
CORE-9239
---
dll/win32/shell32/lang/bg-BG.rc | 2 ++
dll/win32/shell32/lang/ca-ES.rc | 2 ++
dll/win32/shell32/lang/cs-CZ.rc | 2 ++
dll/win32/shell32/lang/da-DK.rc | 2 ++
dll/win32/shell32/lang/de-DE.rc | 2 ++
dll/win32/shell32/lang/el-GR.rc | 2 ++
dll/win32/shell32/lang/en-GB.rc | 2 ++
dll/win32/shell32/lang/en-US.rc | 2 ++
dll/win32/shell32/lang/es-ES.rc | 2 ++
dll/win32/shell32/lang/et-EE.rc | 2 ++
dll/win32/shell32/lang/fi-FI.rc | 2 ++
dll/win32/shell32/lang/fr-FR.rc | 2 ++
dll/win32/shell32/lang/he-IL.rc | 2 ++
dll/win32/shell32/lang/hi-IN.rc | 2 ++
dll/win32/shell32/lang/hu-HU.rc | 2 ++
dll/win32/shell32/lang/id-ID.rc | 2 ++
dll/win32/shell32/lang/it-IT.rc | 2 ++
dll/win32/shell32/lang/ja-JP.rc | 2 ++
dll/win32/shell32/lang/ko-KR.rc | 2 ++
dll/win32/shell32/lang/nl-NL.rc | 2 ++
dll/win32/shell32/lang/no-NO.rc | 2 ++
dll/win32/shell32/lang/pl-PL.rc | 2 ++
dll/win32/shell32/lang/pt-BR.rc | 2 ++
dll/win32/shell32/lang/pt-PT.rc | 2 ++
dll/win32/shell32/lang/ro-RO.rc | 2 ++
dll/win32/shell32/lang/ru-RU.rc | 6 +++--
dll/win32/shell32/lang/sk-SK.rc | 2 ++
dll/win32/shell32/lang/sl-SI.rc | 2 ++
dll/win32/shell32/lang/sq-AL.rc | 2 ++
dll/win32/shell32/lang/sv-SE.rc | 2 ++
dll/win32/shell32/lang/tr-TR.rc | 2 ++
dll/win32/shell32/lang/uk-UA.rc | 2 ++
dll/win32/shell32/lang/zh-CN.rc | 2 ++
dll/win32/shell32/lang/zh-TW.rc | 2 ++
dll/win32/shell32/shlfileop.cpp | 51 +++++++++++++++++++++++++++++++++++++++++
dll/win32/shell32/shresdef.h | 2 ++
36 files changed, 123 insertions(+), 2 deletions(-)
diff --git a/dll/win32/shell32/lang/bg-BG.rc b/dll/win32/shell32/lang/bg-BG.rc
index 29053c2ddcd..703d1837dad 100644
--- a/dll/win32/shell32/lang/bg-BG.rc
+++ b/dll/win32/shell32/lang/bg-BG.rc
@@ -806,6 +806,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/ca-ES.rc b/dll/win32/shell32/lang/ca-ES.rc
index 6262d5a19ee..12063262bc3 100644
--- a/dll/win32/shell32/lang/ca-ES.rc
+++ b/dll/win32/shell32/lang/ca-ES.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/cs-CZ.rc b/dll/win32/shell32/lang/cs-CZ.rc
index dafe2216d03..187c0c2c892 100644
--- a/dll/win32/shell32/lang/cs-CZ.rc
+++ b/dll/win32/shell32/lang/cs-CZ.rc
@@ -811,6 +811,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Složku '%1' nebylo možné vytvořit"
IDS_CREATEFOLDER_CAPTION "Složku nebylo možné vytvořit"
diff --git a/dll/win32/shell32/lang/da-DK.rc b/dll/win32/shell32/lang/da-DK.rc
index 3e6baa9b2ae..6f41e1b47df 100644
--- a/dll/win32/shell32/lang/da-DK.rc
+++ b/dll/win32/shell32/lang/da-DK.rc
@@ -811,6 +811,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/de-DE.rc b/dll/win32/shell32/lang/de-DE.rc
index f176b284e9b..e9aa547ecff 100644
--- a/dll/win32/shell32/lang/de-DE.rc
+++ b/dll/win32/shell32/lang/de-DE.rc
@@ -806,6 +806,8 @@ BEGIN
IDS_COPYERRORSAME "'%s' kann nicht kopiert werden: Quell- und Zieldatei
sind identisch."
IDS_MOVEERRORSUBFOLDER "'%s' kann nicht verschoben werden: Der Zielorder
ist ein Unterordner des Quellordners."
IDS_COPYERRORSUBFOLDER "'%s' kann nicht kopiert werden: Der Zielorder
ist ein Unterordner des Quellordners."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED " Der Ordner kann nicht erstellt werden
'%1'"
IDS_CREATEFOLDER_CAPTION " Der Ordner kann nicht erstellt werden."
diff --git a/dll/win32/shell32/lang/el-GR.rc b/dll/win32/shell32/lang/el-GR.rc
index 813d78e3989..3aaa46cf184 100644
--- a/dll/win32/shell32/lang/el-GR.rc
+++ b/dll/win32/shell32/lang/el-GR.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/en-GB.rc b/dll/win32/shell32/lang/en-GB.rc
index e8400de4545..cc4dad3cbe3 100644
--- a/dll/win32/shell32/lang/en-GB.rc
+++ b/dll/win32/shell32/lang/en-GB.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/en-US.rc b/dll/win32/shell32/lang/en-US.rc
index 5d36961e0cd..757e4ea2bc3 100644
--- a/dll/win32/shell32/lang/en-US.rc
+++ b/dll/win32/shell32/lang/en-US.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/es-ES.rc b/dll/win32/shell32/lang/es-ES.rc
index 596203601f0..30437706199 100644
--- a/dll/win32/shell32/lang/es-ES.rc
+++ b/dll/win32/shell32/lang/es-ES.rc
@@ -814,6 +814,8 @@ BEGIN
IDS_COPYERRORSAME "Imposible copiar '%s': El archivo de origen y el de
destino son el mismo."
IDS_MOVEERRORSUBFOLDER "Imposible mover '%s': La carpeta de destino es
un subdirectorio de la de origen."
IDS_COPYERRORSUBFOLDER "Imposible copiar '%s': La carpeta de destino es
un subdirectorio de la de origen."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "No se pudo crear la carpeta '%1'"
IDS_CREATEFOLDER_CAPTION "No se pudo crear la carpeta"
diff --git a/dll/win32/shell32/lang/et-EE.rc b/dll/win32/shell32/lang/et-EE.rc
index e36e88aabc4..d77888fa7bb 100644
--- a/dll/win32/shell32/lang/et-EE.rc
+++ b/dll/win32/shell32/lang/et-EE.rc
@@ -812,6 +812,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Ei saa luua kausta '%1'"
IDS_CREATEFOLDER_CAPTION "Ei saa kausta luua"
diff --git a/dll/win32/shell32/lang/fi-FI.rc b/dll/win32/shell32/lang/fi-FI.rc
index c37618c3af9..a20594097ed 100644
--- a/dll/win32/shell32/lang/fi-FI.rc
+++ b/dll/win32/shell32/lang/fi-FI.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/fr-FR.rc b/dll/win32/shell32/lang/fr-FR.rc
index 86b1b69717e..fdcb8e66a01 100644
--- a/dll/win32/shell32/lang/fr-FR.rc
+++ b/dll/win32/shell32/lang/fr-FR.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Impossible de copier '%s' : Les noms des fichiers
source et destination sont identiques."
IDS_MOVEERRORSUBFOLDER "Impossible de déplacer '%s' : Le dossier de
destination est un sous-dossier du dossier source."
IDS_COPYERRORSUBFOLDER "Impossible de copier '%s' : Le dossier de
destination est un sous-dossier du dossier source."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Impossible de créer le dossier '%1'"
IDS_CREATEFOLDER_CAPTION "Impossible de créer un dossier"
diff --git a/dll/win32/shell32/lang/he-IL.rc b/dll/win32/shell32/lang/he-IL.rc
index b8e3ce71d08..f086b8abb10 100644
--- a/dll/win32/shell32/lang/he-IL.rc
+++ b/dll/win32/shell32/lang/he-IL.rc
@@ -807,6 +807,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/hi-IN.rc b/dll/win32/shell32/lang/hi-IN.rc
index cb6ad494f48..3096d6999a3 100644
--- a/dll/win32/shell32/lang/hi-IN.rc
+++ b/dll/win32/shell32/lang/hi-IN.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "फ़ोल्डर '%1' बनाने में असमर्थ"
IDS_CREATEFOLDER_CAPTION "फ़ोल्डर बनाने में असमर्थ"
diff --git a/dll/win32/shell32/lang/hu-HU.rc b/dll/win32/shell32/lang/hu-HU.rc
index c2ec4d550d6..45febcd796d 100644
--- a/dll/win32/shell32/lang/hu-HU.rc
+++ b/dll/win32/shell32/lang/hu-HU.rc
@@ -804,6 +804,8 @@ BEGIN
IDS_COPYERRORSAME "'%s' nem másolható: a forrás- és célfájl
ugyanaz."
IDS_MOVEERRORSUBFOLDER "'%s' nem mozgatható: a célmappa a forrásmappa
egyik almappája."
IDS_COPYERRORSUBFOLDER "'%s' nem másolható: a célmappa a forrásmappa
egyik almappája."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Nem sikerült a(z) '%1' mappa
létrehozása."
IDS_CREATEFOLDER_CAPTION "Nem sikerült létrehozni a mappát"
diff --git a/dll/win32/shell32/lang/id-ID.rc b/dll/win32/shell32/lang/id-ID.rc
index 4c8e9a72e04..03a6d9a123e 100644
--- a/dll/win32/shell32/lang/id-ID.rc
+++ b/dll/win32/shell32/lang/id-ID.rc
@@ -802,6 +802,8 @@ BEGIN
IDS_COPYERRORSAME "Tidak bisa menyalin '%s': Nama berkas asal dan tujuan
sama."
IDS_MOVEERRORSUBFOLDER "Tidak bisa memindahkan '%s': Folder tujuan
merupakan subfolder dari folder asal."
IDS_COPYERRORSUBFOLDER "Tidak bisa menyalin '%s': Folder tujuan
merupakan subfolder dari folder asal."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Tidak bisa membuat folder folder '%1'"
IDS_CREATEFOLDER_CAPTION "Tidak bisa membuat folder"
diff --git a/dll/win32/shell32/lang/it-IT.rc b/dll/win32/shell32/lang/it-IT.rc
index 6f1093cd913..615ff750298 100644
--- a/dll/win32/shell32/lang/it-IT.rc
+++ b/dll/win32/shell32/lang/it-IT.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/ja-JP.rc b/dll/win32/shell32/lang/ja-JP.rc
index 763f17f4779..ff6eb6994a1 100644
--- a/dll/win32/shell32/lang/ja-JP.rc
+++ b/dll/win32/shell32/lang/ja-JP.rc
@@ -802,6 +802,8 @@ BEGIN
IDS_COPYERRORSAME "コピーできません '%s': コピー元とコピー先のファイル名が同じです。"
IDS_MOVEERRORSUBFOLDER "移動できません '%s': 移動先のフォルダは移動元のフォルダのサブフォルダです。"
IDS_COPYERRORSUBFOLDER "コピーできません '%s':
コピー先のフォルダはコピー元のフォルダのサブフォルダです。"
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "フォルダ '%1' を作成できません"
IDS_CREATEFOLDER_CAPTION "フォルダを作成できません"
diff --git a/dll/win32/shell32/lang/ko-KR.rc b/dll/win32/shell32/lang/ko-KR.rc
index 8939d0e7947..8f77796c636 100644
--- a/dll/win32/shell32/lang/ko-KR.rc
+++ b/dll/win32/shell32/lang/ko-KR.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/nl-NL.rc b/dll/win32/shell32/lang/nl-NL.rc
index 16cf100515b..d86abbe3566 100644
--- a/dll/win32/shell32/lang/nl-NL.rc
+++ b/dll/win32/shell32/lang/nl-NL.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/no-NO.rc b/dll/win32/shell32/lang/no-NO.rc
index 086d403e6da..7eaca4b45e9 100644
--- a/dll/win32/shell32/lang/no-NO.rc
+++ b/dll/win32/shell32/lang/no-NO.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/pl-PL.rc b/dll/win32/shell32/lang/pl-PL.rc
index 9214d71d909..dec9704c99b 100644
--- a/dll/win32/shell32/lang/pl-PL.rc
+++ b/dll/win32/shell32/lang/pl-PL.rc
@@ -811,6 +811,8 @@ BEGIN
IDS_COPYERRORSAME "Nie można skopiować '%s': Nazwy plików źródłowego i
docelowego są takie same."
IDS_MOVEERRORSUBFOLDER "Nie można przenieść '%s': Folder docelowy jest
podfolderem folderu źródłowego."
IDS_COPYERRORSUBFOLDER "Nie można skopiować '%s': Folder docelowy jest
podfolderem folderu źródłowego."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Nie można utworzyć folderu '%1'"
IDS_CREATEFOLDER_CAPTION "Nie można utworzyć folderu"
diff --git a/dll/win32/shell32/lang/pt-BR.rc b/dll/win32/shell32/lang/pt-BR.rc
index 614f1ef8dc0..922a741bb01 100644
--- a/dll/win32/shell32/lang/pt-BR.rc
+++ b/dll/win32/shell32/lang/pt-BR.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/pt-PT.rc b/dll/win32/shell32/lang/pt-PT.rc
index 2d58a03cd79..84ce916ffa8 100644
--- a/dll/win32/shell32/lang/pt-PT.rc
+++ b/dll/win32/shell32/lang/pt-PT.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Impossivel copiar '%s': Os nomes dos arquivos de
origem e de destino são os mesmos."
IDS_MOVEERRORSUBFOLDER "Impossivel mover '%s': A pasta de destino é uma
subpasta da pasta de origem."
IDS_COPYERRORSUBFOLDER "Impossivel copiar '%s': A pasta de destino é uma
subpasta da pasta de origem."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Impossivel criar pasta '%1'"
IDS_CREATEFOLDER_CAPTION "Impossivel criar pasta"
diff --git a/dll/win32/shell32/lang/ro-RO.rc b/dll/win32/shell32/lang/ro-RO.rc
index 1de40d0d214..52262c0e66e 100644
--- a/dll/win32/shell32/lang/ro-RO.rc
+++ b/dll/win32/shell32/lang/ro-RO.rc
@@ -807,6 +807,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Nu poate fi creat un dosar cu numele „%1”"
IDS_CREATEFOLDER_CAPTION "Nu poate fi creat dosar"
diff --git a/dll/win32/shell32/lang/ru-RU.rc b/dll/win32/shell32/lang/ru-RU.rc
index 8c8fdcdc7b7..fd4b752c8b8 100644
--- a/dll/win32/shell32/lang/ru-RU.rc
+++ b/dll/win32/shell32/lang/ru-RU.rc
@@ -805,13 +805,15 @@ BEGIN
IDS_OPENFILELOCATION "Открыть &расположение объекта"
IDS_SENDTO_MENU "Отправит&ь"
- IDS_MOVEERRORTITLE "Error Moving File or Folder"
- IDS_COPYERRORTITLE "Error Copying File or Folder"
+ IDS_MOVEERRORTITLE "Ошибка при перемещении папки или файла"
+ IDS_COPYERRORTITLE "Ошибка при копировании папки или файла"
IDS_MOVEERRORSAMEFOLDER "Cannot move '%s': The destination folder is the
same as the source folder."
IDS_MOVEERRORSAME "Cannot move '%s': The source and destination file
names are the same."
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Не удаётся переместить '%s': %s"
+ IDS_COPYERROR "Не удаётся скопировать '%s': %s"
IDS_CREATEFOLDER_DENIED "Невозможно создать папку '%1'"
IDS_CREATEFOLDER_CAPTION "Невозможно создать папку"
diff --git a/dll/win32/shell32/lang/sk-SK.rc b/dll/win32/shell32/lang/sk-SK.rc
index 2bfb217380d..f880a915846 100644
--- a/dll/win32/shell32/lang/sk-SK.rc
+++ b/dll/win32/shell32/lang/sk-SK.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/sl-SI.rc b/dll/win32/shell32/lang/sl-SI.rc
index a7f42e94382..d2a99c525e6 100644
--- a/dll/win32/shell32/lang/sl-SI.rc
+++ b/dll/win32/shell32/lang/sl-SI.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/sq-AL.rc b/dll/win32/shell32/lang/sq-AL.rc
index 32c275cc326..bb63c6f5f8c 100644
--- a/dll/win32/shell32/lang/sq-AL.rc
+++ b/dll/win32/shell32/lang/sq-AL.rc
@@ -809,6 +809,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Unable to create the folder '%1'"
IDS_CREATEFOLDER_CAPTION "Unable to create folder"
diff --git a/dll/win32/shell32/lang/sv-SE.rc b/dll/win32/shell32/lang/sv-SE.rc
index 915ef081f52..5fd6a37ceac 100644
--- a/dll/win32/shell32/lang/sv-SE.rc
+++ b/dll/win32/shell32/lang/sv-SE.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Kunde inte skapa mappen '%1'"
IDS_CREATEFOLDER_CAPTION "Kunde inte skapa mapp"
diff --git a/dll/win32/shell32/lang/tr-TR.rc b/dll/win32/shell32/lang/tr-TR.rc
index 52d060c06d9..aaaf53eabd4 100644
--- a/dll/win32/shell32/lang/tr-TR.rc
+++ b/dll/win32/shell32/lang/tr-TR.rc
@@ -807,6 +807,8 @@ BEGIN
IDS_COPYERRORSAME "'%s' kopyalanamıyor: Kaynak ve hedef dosya adları
aynı."
IDS_MOVEERRORSUBFOLDER "'%s' taşınamıyor: Hedef dizin, kaynak dizinin
bir alt dizinidir."
IDS_COPYERRORSUBFOLDER "'%s' kopyalanamıyor: Hedef dizin, kaynak dizinin
bir alt dizinidir."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED """%1"" dizini
oluşturulamıyor."
IDS_CREATEFOLDER_CAPTION "Dizin Oluşturulamıyor"
diff --git a/dll/win32/shell32/lang/uk-UA.rc b/dll/win32/shell32/lang/uk-UA.rc
index 6a465c79edf..e03599d3be3 100644
--- a/dll/win32/shell32/lang/uk-UA.rc
+++ b/dll/win32/shell32/lang/uk-UA.rc
@@ -805,6 +805,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "Не вдалося створити папку '%1'"
IDS_CREATEFOLDER_CAPTION "Не вдалося створити папку"
diff --git a/dll/win32/shell32/lang/zh-CN.rc b/dll/win32/shell32/lang/zh-CN.rc
index cafd0a4dff4..42ae713d7ef 100644
--- a/dll/win32/shell32/lang/zh-CN.rc
+++ b/dll/win32/shell32/lang/zh-CN.rc
@@ -813,6 +813,8 @@ BEGIN
IDS_COPYERRORSAME "Cannot copy '%s': The source and destination file
names are the same."
IDS_MOVEERRORSUBFOLDER "Cannot move '%s': The destination folder is a
subfolder of the source folder."
IDS_COPYERRORSUBFOLDER "Cannot copy '%s': The destination folder is a
subfolder of the source folder."
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "无法创建文件夹 '%1'"
IDS_CREATEFOLDER_CAPTION "无法创建文件夹"
diff --git a/dll/win32/shell32/lang/zh-TW.rc b/dll/win32/shell32/lang/zh-TW.rc
index 064076cd7a5..8e1e75b9d01 100644
--- a/dll/win32/shell32/lang/zh-TW.rc
+++ b/dll/win32/shell32/lang/zh-TW.rc
@@ -813,6 +813,8 @@ BEGIN
IDS_COPYERRORSAME "無法複製「%s」:來源及目的地的檔案名稱相同。"
IDS_MOVEERRORSUBFOLDER "無法移動「%s」:目的資料夾是來源資料夾的子資料夾。"
IDS_COPYERRORSUBFOLDER "無法複製「%s」:目的資料夾是來源資料夾的子資料夾。"
+ IDS_MOVEERROR "Cannot move '%s': %s"
+ IDS_COPYERROR "Cannot copy '%s': %s"
IDS_CREATEFOLDER_DENIED "無法建立資料夾「%1」"
IDS_CREATEFOLDER_CAPTION "無法建立資料夾"
diff --git a/dll/win32/shell32/shlfileop.cpp b/dll/win32/shell32/shlfileop.cpp
index 8fd4179ba93..59aa0cf2b09 100644
--- a/dll/win32/shell32/shlfileop.cpp
+++ b/dll/win32/shell32/shlfileop.cpp
@@ -663,6 +663,48 @@ EXTERN_C DWORD WINAPI Win32DeleteFileW(LPCWSTR path)
return (SHNotifyDeleteFileW(NULL, path) == ERROR_SUCCESS);
}
+#ifdef __REACTOS__
+/************************************************************************
+ * CheckForError [internal]
+ *
+ * Show message box if operation failed
+ *
+ * PARAMS
+ * op [I] File Operation context
+ * error [I] Error code
+ * src [I] Source file full name
+ *
+ */
+static DWORD CheckForError(FILE_OPERATION *op, DWORD error, LPCWSTR src)
+{
+ CStringW strTitle, strMask, strText;
+ LPWSTR lpMsgBuffer;
+
+ if (error == ERROR_SUCCESS || (op->req->fFlags & (FOF_NOERRORUI |
FOF_SILENT)))
+ goto exit;
+
+ strTitle.LoadStringW(op->req->wFunc == FO_COPY ? IDS_COPYERRORTITLE :
IDS_MOVEERRORTITLE);
+
+ FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL,
+ error,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPWSTR)&lpMsgBuffer,
+ 0,
+ NULL);
+
+ strText.Format(op->req->wFunc == FO_COPY ? IDS_COPYERROR : IDS_MOVEERROR,
+ PathFindFileNameW(src),
+ lpMsgBuffer);
+
+ MessageBoxW(op->req->hwnd, strText, strTitle, MB_ICONERROR);
+ LocalFree(lpMsgBuffer);
+
+exit:
+ return error;
+}
+#endif
+
/************************************************************************
* SHNotifyMoveFile [internal]
*
@@ -710,7 +752,12 @@ static DWORD SHNotifyMoveFileW(FILE_OPERATION *op, LPCWSTR src,
LPCWSTR dest, BO
SHChangeNotify(isdir ? SHCNE_RMDIR : SHCNE_DELETE, SHCNF_PATHW, src, NULL);
return ERROR_SUCCESS;
}
+
+#ifdef __REACTOS__
+ return CheckForError(op, GetLastError(), src);
+#else
return GetLastError();
+#endif
}
/************************************************************************
@@ -757,7 +804,11 @@ static DWORD SHNotifyCopyFileW(FILE_OPERATION *op, LPCWSTR src,
LPCWSTR dest, BO
return ERROR_SUCCESS;
}
+#ifdef __REACTOS__
+ return CheckForError(op, GetLastError(), src);
+#else
return GetLastError();
+#endif
}
/*************************************************************************
diff --git a/dll/win32/shell32/shresdef.h b/dll/win32/shell32/shresdef.h
index dcad860d37f..b6bb348d2ba 100644
--- a/dll/win32/shell32/shresdef.h
+++ b/dll/win32/shell32/shresdef.h
@@ -250,6 +250,8 @@
#define IDS_COPYERRORSAME 348
#define IDS_MOVEERRORSUBFOLDER 349
#define IDS_COPYERRORSUBFOLDER 350
+#define IDS_MOVEERROR 351
+#define IDS_COPYERROR 352
#define IDS_MENU_EMPTY 34561