Alexander Nicolaysen Sørnes : wordpad: Show error if file open fails.
Alexandre Julliard
julliard at winehq.org
Fri Jul 18 06:45:31 CDT 2008
Module: wine
Branch: master
Commit: b69592416c57d12fe70811f82b7f6297bde9d7ef
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b69592416c57d12fe70811f82b7f6297bde9d7ef
Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date: Thu Jul 17 16:58:07 2008 +0200
wordpad: Show error if file open fails.
---
programs/wordpad/En.rc | 2 ++
programs/wordpad/No.rc | 2 ++
programs/wordpad/wordpad.c | 19 +++++++++++++++++++
programs/wordpad/wordpad.h | 2 ++
4 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/programs/wordpad/En.rc b/programs/wordpad/En.rc
index d1a8473..b9e4552 100644
--- a/programs/wordpad/En.rc
+++ b/programs/wordpad/En.rc
@@ -236,4 +236,6 @@ BEGIN
STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documents are not supported"
STRING_WRITE_FAILED, "Could not save the file."
STRING_WRITE_ACCESS_DENIED, "You do not have access to save the file."
+ STRING_OPEN_FAILED, "Could not open the file."
+ STRING_OPEN_ACCESS_DENIED, "You do not have access to open the file."
END
diff --git a/programs/wordpad/No.rc b/programs/wordpad/No.rc
index f73b145..5a3be26 100644
--- a/programs/wordpad/No.rc
+++ b/programs/wordpad/No.rc
@@ -236,4 +236,6 @@ BEGIN
STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documents are not supported"
STRING_WRITE_FAILED, "Klarte ikke lagre filen."
STRING_WRITE_ACCESS_DENIED, "Du har ikke tilgang til å lagre filen."
+ STRING_OPEN_FAILED, "Klarte ikke åpne filen."
+ STRING_OPEN_ACCESS_DENIED, "Du har ikke tilgang til å åpne filen."
END
diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c
index 20fa60c..be6bb8b 100644
--- a/programs/wordpad/wordpad.c
+++ b/programs/wordpad/wordpad.c
@@ -698,6 +698,22 @@ static void set_fileformat(WPARAM format)
target_device(hMainWnd, wordWrap[reg_formatindex(fileFormat)]);
}
+static void ShowOpenError(DWORD Code)
+{
+ LPWSTR Message;
+
+ switch(Code)
+ {
+ case ERROR_ACCESS_DENIED:
+ Message = MAKEINTRESOURCEW(STRING_OPEN_ACCESS_DENIED);
+ break;
+
+ default:
+ Message = MAKEINTRESOURCEW(STRING_OPEN_FAILED);
+ }
+ MessageBoxW(hMainWnd, Message, wszAppTitle, MB_ICONEXCLAMATION | MB_OK);
+}
+
static void DoOpenFile(LPCWSTR szOpenFileName)
{
HANDLE hFile;
@@ -709,7 +725,10 @@ static void DoOpenFile(LPCWSTR szOpenFileName)
hFile = CreateFileW(szOpenFileName, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE)
+ {
+ ShowOpenError(GetLastError());
return;
+ }
ReadFile(hFile, fileStart, 5, &readOut, NULL);
SetFilePointer(hFile, 0, NULL, FILE_BEGIN);
diff --git a/programs/wordpad/wordpad.h b/programs/wordpad/wordpad.h
index c5305bb..96b2a25 100644
--- a/programs/wordpad/wordpad.h
+++ b/programs/wordpad/wordpad.h
@@ -195,6 +195,8 @@
#define STRING_OLE_STORAGE_NOT_SUPPORTED 1706
#define STRING_WRITE_FAILED 1707
#define STRING_WRITE_ACCESS_DENIED 1708
+#define STRING_OPEN_FAILED 1709
+#define STRING_OPEN_ACCESS_DENIED 1710
LPWSTR file_basename(LPWSTR);
More information about the wine-cvs
mailing list