Alexander Nicolaysen Sørnes : wordpad: Show error message if saving fails.

Alexandre Julliard julliard at winehq.org
Mon Jul 14 05:57:10 CDT 2008


Module: wine
Branch: master
Commit: bd2734d9c6cc34ea0d36c893865ba26e45019eb1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=bd2734d9c6cc34ea0d36c893865ba26e45019eb1

Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date:   Fri Jul 11 20:38:50 2008 +0200

wordpad: Show error message if saving 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 87f5a97..d1a8473 100644
--- a/programs/wordpad/En.rc
+++ b/programs/wordpad/En.rc
@@ -234,4 +234,6 @@ BEGIN
                                  "Are you sure that you wish to do this?"
     STRING_INVALID_NUMBER,       "Invalid number format"
     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."
 END
diff --git a/programs/wordpad/No.rc b/programs/wordpad/No.rc
index 411e58a..f73b145 100644
--- a/programs/wordpad/No.rc
+++ b/programs/wordpad/No.rc
@@ -234,4 +234,6 @@ BEGIN
                                  "sikker på at du vil fortsette?"
     STRING_INVALID_NUMBER,       "Ugyldig tallformat"
     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."
 END
diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c
index 6f3e41a..20fa60c 100644
--- a/programs/wordpad/wordpad.c
+++ b/programs/wordpad/wordpad.c
@@ -753,6 +753,22 @@ static void DoOpenFile(LPCWSTR szOpenFileName)
     update_font_list();
 }
 
+static void ShowWriteError(DWORD Code)
+{
+    LPWSTR Message;
+
+    switch(Code)
+    {
+        case ERROR_ACCESS_DENIED:
+            Message = MAKEINTRESOURCEW(STRING_WRITE_ACCESS_DENIED);
+            break;
+
+        default:
+            Message = MAKEINTRESOURCEW(STRING_WRITE_FAILED);
+    }
+    MessageBoxW(hMainWnd, Message, wszAppTitle, MB_ICONEXCLAMATION | MB_OK);
+}
+
 static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format)
 {
     HANDLE hFile;
@@ -763,7 +779,10 @@ static void DoSaveFile(LPCWSTR wszSaveFileName, WPARAM format)
         FILE_ATTRIBUTE_NORMAL, NULL);
 
     if(hFile == INVALID_HANDLE_VALUE)
+    {
+        ShowWriteError(GetLastError());
         return;
+    }
 
     if(format == (SF_TEXT | SF_UNICODE))
     {
diff --git a/programs/wordpad/wordpad.h b/programs/wordpad/wordpad.h
index 53a6c13..c5305bb 100644
--- a/programs/wordpad/wordpad.h
+++ b/programs/wordpad/wordpad.h
@@ -193,6 +193,8 @@
 #define STRING_SAVE_LOSEFORMATTING 1704
 #define STRING_INVALID_NUMBER 1705
 #define STRING_OLE_STORAGE_NOT_SUPPORTED 1706
+#define STRING_WRITE_FAILED 1707
+#define STRING_WRITE_ACCESS_DENIED 1708
 
 LPWSTR file_basename(LPWSTR);
 




More information about the wine-cvs mailing list