Alexander Nicolaysen Sørnes : wordpad: Add file saving dialog.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Jun 4 08:14:26 CDT 2007


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

Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date:   Thu May 31 15:38:51 2007 +0200

wordpad: Add file saving dialog.

---

 programs/wordpad/De.rc      |    1 +
 programs/wordpad/En.rc      |    1 +
 programs/wordpad/Fr.rc      |    3 ++-
 programs/wordpad/Hu.rc      |    1 +
 programs/wordpad/Ko.rc      |    1 +
 programs/wordpad/Nl.rc      |    1 +
 programs/wordpad/No.rc      |    1 +
 programs/wordpad/Pl.rc      |    1 +
 programs/wordpad/Ru.rc      |    1 +
 programs/wordpad/Tr.rc      |    1 +
 programs/wordpad/resource.h |    7 ++++---
 programs/wordpad/wordpad.c  |   32 ++++++++++++++++++++++++++++++--
 12 files changed, 45 insertions(+), 6 deletions(-)

diff --git a/programs/wordpad/De.rc b/programs/wordpad/De.rc
index 6d973ab..054e234 100644
--- a/programs/wordpad/De.rc
+++ b/programs/wordpad/De.rc
@@ -25,6 +25,7 @@ BEGIN
         MENUITEM "&Neu\tCtrl+N",          ID_FILE_NEW
         MENUITEM "&Öffnen\tCtrl+O",       ID_FILE_OPEN
         MENUITEM "&Speichern\tCtrl+S",    ID_FILE_SAVE
+        MENUITEM "Speichern &unter...",        ID_FILE_SAVEAS
         MENUITEM SEPARATOR
         MENUITEM "&Beenden",      ID_FILE_EXIT
     END
diff --git a/programs/wordpad/En.rc b/programs/wordpad/En.rc
index bab4178..4fa734d 100644
--- a/programs/wordpad/En.rc
+++ b/programs/wordpad/En.rc
@@ -25,6 +25,7 @@ BEGIN
         MENUITEM "&New\tCtrl+N",          ID_FILE_NEW
         MENUITEM "&Open\tCtrl+O",         ID_FILE_OPEN
         MENUITEM "&Save\tCtrl+S",         ID_FILE_SAVE
+        MENUITEM "Save &as . . .",        ID_FILE_SAVEAS
         MENUITEM SEPARATOR
         MENUITEM "E&xit",         ID_FILE_EXIT
     END
diff --git a/programs/wordpad/Fr.rc b/programs/wordpad/Fr.rc
index 901749e..e0d8370 100644
--- a/programs/wordpad/Fr.rc
+++ b/programs/wordpad/Fr.rc
@@ -24,7 +24,8 @@ BEGIN
     BEGIN
         MENUITEM "&Nouveau\tCtrl+N",        ID_FILE_NEW
         MENUITEM "&Ouvrir\tCtrl+O",         ID_FILE_OPEN
-        MENUITEM "&Sauver\tCtrl+S",         ID_FILE_SAVE
+        MENUITEM "&Enregistrer\tCtrl+S",    ID_FILE_SAVE
+        MENUITEM "Enregistrer &sous...",    ID_FILE_SAVEAS
         MENUITEM SEPARATOR
         MENUITEM "&Quitter",        ID_FILE_EXIT
     END
diff --git a/programs/wordpad/Hu.rc b/programs/wordpad/Hu.rc
index 8c1e058..2cab4f5 100644
--- a/programs/wordpad/Hu.rc
+++ b/programs/wordpad/Hu.rc
@@ -25,6 +25,7 @@ BEGIN
         MENUITEM "&Új\tCtrl+N",           ID_FILE_NEW
         MENUITEM "&Megnyitás\tCtrl+O",    ID_FILE_OPEN
         MENUITEM "M&entés\tCtrl+S",       ID_FILE_SAVE
+        MENUITEM "Mentés má&sként...",        ID_FILE_SAVEAS
         MENUITEM SEPARATOR
         MENUITEM "&Kilépés",      ID_FILE_EXIT
     END
diff --git a/programs/wordpad/Ko.rc b/programs/wordpad/Ko.rc
index 33c7678..6694006 100644
--- a/programs/wordpad/Ko.rc
+++ b/programs/wordpad/Ko.rc
@@ -26,6 +26,7 @@ BEGIN
         MENUITEM "»õ ÆÄÀÏ(&N)\tCtrl+N",          ID_FILE_NEW
         MENUITEM "¿­±â(&O)\tCtrl+O",         ID_FILE_OPEN
         MENUITEM "ÀúÀå(&S)\tCtrl+S",         ID_FILE_SAVE
+        MENUITEM "´Ù¸¥ À̸§À¸·Î ÀúÀå(&A)...", ID_FILE_SAVEAS
         MENUITEM SEPARATOR
         MENUITEM "³ª°¡±â(&X)",         ID_FILE_EXIT
     END
diff --git a/programs/wordpad/Nl.rc b/programs/wordpad/Nl.rc
index 3a18519..e009d5f 100644
--- a/programs/wordpad/Nl.rc
+++ b/programs/wordpad/Nl.rc
@@ -25,6 +25,7 @@ BEGIN
         MENUITEM "&Nieuw\tCtrl+N"         ID_FILE_NEW
         MENUITEM "&Openen\tCtrl+O",       ID_FILE_OPEN
         MENUITEM "O&pslaan\tCtrl+S",      ID_FILE_SAVE
+        MENUITEM "Ops&laan als...",       ID_FILE_SAVEAS
         MENUITEM SEPARATOR
         MENUITEM "&Afsluiten",    ID_FILE_EXIT
     END
diff --git a/programs/wordpad/No.rc b/programs/wordpad/No.rc
index b13fb67..3efb408 100644
--- a/programs/wordpad/No.rc
+++ b/programs/wordpad/No.rc
@@ -25,6 +25,7 @@ BEGIN
         MENUITEM "&Ny\tCtrl+N",          ID_FILE_NEW
         MENUITEM "&Åpne\tCtrl+O",         ID_FILE_OPEN
         MENUITEM "&Lagre\tCtrl+S",         ID_FILE_SAVE
+        MENUITEM "Lagre &som . . .",        ID_FILE_SAVEAS
         MENUITEM SEPARATOR
         MENUITEM "&Avslutt",         ID_FILE_EXIT
     END
diff --git a/programs/wordpad/Pl.rc b/programs/wordpad/Pl.rc
index 2c277e4..9498484 100644
--- a/programs/wordpad/Pl.rc
+++ b/programs/wordpad/Pl.rc
@@ -26,6 +26,7 @@ BEGIN
         MENUITEM "&Nowy\tCtrl+N",          ID_FILE_NEW
         MENUITEM "&Otwórz\tCtrl+O",         ID_FILE_OPEN
         MENUITEM "&Zapisz\tCtrl+S",         ID_FILE_SAVE
+        MENUITEM "Z&apisz jako...",         ID_FILE_SAVEAS
         MENUITEM SEPARATOR
         MENUITEM "Za&koñcz",         ID_FILE_EXIT
     END
diff --git a/programs/wordpad/Ru.rc b/programs/wordpad/Ru.rc
index fd24593..ff471e2 100644
--- a/programs/wordpad/Ru.rc
+++ b/programs/wordpad/Ru.rc
@@ -25,6 +25,7 @@ BEGIN
         MENUITEM "Ñîçä&àòü\tCtrl+N",   ID_FILE_NEW
         MENUITEM "&Îòêðûòü\tCtrl+O",   ID_FILE_OPEN
         MENUITEM "&Ñîõðàíèòü\tCtrl+S", ID_FILE_SAVE
+        MENUITEM "Ñîõðàíèòü &êàê...",  ID_FILE_SAVEAS
         MENUITEM SEPARATOR
         MENUITEM "Â&ûõîä",     ID_FILE_EXIT
     END
diff --git a/programs/wordpad/Tr.rc b/programs/wordpad/Tr.rc
index f43f8fd..0d6598e 100644
--- a/programs/wordpad/Tr.rc
+++ b/programs/wordpad/Tr.rc
@@ -27,6 +27,7 @@ BEGIN
         MENUITEM "&Yeni\tCtrl+N",         ID_FILE_NEW
         MENUITEM "&Aç\tCtrl+O",           ID_FILE_OPEN
         MENUITEM "&Kaydet\tCtrl+S",       ID_FILE_SAVE
+        MENUITEM "&Farklý Kaydet...",     ID_FILE_SAVEAS
         MENUITEM SEPARATOR
         MENUITEM "&Çýk",          ID_FILE_EXIT
     END
diff --git a/programs/wordpad/resource.h b/programs/wordpad/resource.h
index e818e40..bc7647d 100644
--- a/programs/wordpad/resource.h
+++ b/programs/wordpad/resource.h
@@ -20,11 +20,12 @@
 #define ID_FILE_OPEN 1001
 #define ID_FILE_SAVE 1002
 #define ID_FILE_NEW 1003
+#define ID_FILE_SAVEAS 1004
 
-#define ID_PRINT 1004
-#define ID_PREVIEW 1005
+#define ID_PRINT 1005
+#define ID_PREVIEW 1006
 
-#define ID_FIND 1006
+#define ID_FIND 1007
 
 #define ID_ALIGN_LEFT 1100
 #define ID_ALIGN_CENTER 1101
diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c
index 360f2a3..5a9f7fd 100644
--- a/programs/wordpad/wordpad.c
+++ b/programs/wordpad/wordpad.c
@@ -223,6 +223,29 @@ static void DoSaveFile(LPCWSTR wszSaveFileName)
     set_caption(wszFileName);
 }
 
+static void DialogSaveFile(void)
+{
+    OPENFILENAMEW sfn;
+
+    WCHAR wszFile[MAX_PATH] = {'\0'};
+    static const WCHAR wszDefExt[] = {'r','t','f','\0'};
+
+    ZeroMemory(&sfn, sizeof(sfn));
+
+    sfn.lStructSize = sizeof(sfn);
+    sfn.Flags = OFN_HIDEREADONLY | OFN_PATHMUSTEXIST;
+    sfn.hwndOwner = hMainWnd;
+    sfn.lpstrFilter = wszFilter;
+    sfn.lpstrFile = wszFile;
+    sfn.nMaxFile = MAX_PATH;
+    sfn.lpstrDefExt = wszDefExt;
+
+    if(!GetSaveFileNameW(&sfn))
+        return;
+
+    DoSaveFile(sfn.lpstrFile);
+}
+
 static void HandleCommandLine(LPWSTR cmdline)
 {
     WCHAR delimiter;
@@ -466,9 +489,14 @@ static LRESULT OnCommand( HWND hWnd, WPARAM wParam, LPARAM lParam)
 
     case ID_FILE_SAVE:
         if(wszFileName[0])
+        {
             DoSaveFile(wszFileName);
-        else
-            MessageBox(hWnd, "Can only save existing for now", "WordPad", MB_OK);
+            break;
+        }
+        /* Fall through */
+
+    case ID_FILE_SAVEAS:
+        DialogSaveFile();
         break;
 
     case ID_PRINT:




More information about the wine-cvs mailing list