Mikołaj Zalewski : notepad: Add a generic function for message boxes with a string parameter.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Oct 23 10:01:33 CDT 2006
Module: wine
Branch: master
Commit: b0905acb6e332c5155b9fa64c290f2ea730c5bb8
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b0905acb6e332c5155b9fa64c290f2ea730c5bb8
Author: Mikołaj Zalewski <mikolaj at zalewski.pl>
Date: Sun Oct 22 18:54:51 2006 +0200
notepad: Add a generic function for message boxes with a string parameter.
---
programs/notepad/Makefile.in | 2 +-
programs/notepad/dialog.c | 35 ++++++++++++++++++-----------------
programs/notepad/dialog.h | 1 +
3 files changed, 20 insertions(+), 18 deletions(-)
diff --git a/programs/notepad/Makefile.in b/programs/notepad/Makefile.in
index 0930544..c67191d 100644
--- a/programs/notepad/Makefile.in
+++ b/programs/notepad/Makefile.in
@@ -4,7 +4,7 @@ SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = notepad.exe
APPMODE = -mwindows
-IMPORTS = comdlg32 shell32 user32 gdi32 msvcrt advapi32 kernel32
+IMPORTS = comdlg32 shell32 shlwapi user32 gdi32 msvcrt advapi32 kernel32
EXTRAINCL = -I$(TOPSRCDIR)/include/msvcrt
MODCFLAGS = @BUILTINFLAG@
EXTRADEFS = -DNO_LIBWINE_PORT
diff --git a/programs/notepad/dialog.c b/programs/notepad/dialog.c
index a4f7de5..9f822d4 100644
--- a/programs/notepad/dialog.c
+++ b/programs/notepad/dialog.c
@@ -26,6 +26,7 @@ #include <assert.h>
#include <stdio.h>
#include <windows.h>
#include <commdlg.h>
+#include <shlwapi.h>
#include "main.h"
#include "dialog.h"
@@ -78,39 +79,39 @@ static void UpdateWindowCaption(void)
SetWindowText(Globals.hMainWnd, szCaption);
}
-static void AlertFileNotFound(LPCWSTR szFileName)
+int DIALOG_StringMsgBox(HWND hParent, int formatId, LPCWSTR szString, DWORD dwFlags)
{
WCHAR szMessage[MAX_STRING_LEN];
WCHAR szResource[MAX_STRING_LEN];
/* Load and format szMessage */
- LoadString(Globals.hInstance, STRING_NOTFOUND, szResource, SIZEOF(szResource));
- wsprintf(szMessage, szResource, szFileName);
+ LoadString(Globals.hInstance, formatId, szResource, SIZEOF(szResource));
+ wnsprintf(szMessage, SIZEOF(szMessage), szResource, szString);
/* Load szCaption */
- LoadString(Globals.hInstance, STRING_ERROR, szResource, SIZEOF(szResource));
+ if ((dwFlags & MB_ICONMASK) == MB_ICONEXCLAMATION)
+ LoadString(Globals.hInstance, STRING_ERROR, szResource, SIZEOF(szResource));
+ else
+ LoadString(Globals.hInstance, STRING_NOTEPAD, szResource, SIZEOF(szResource));
/* Display Modal Dialog */
- MessageBox(Globals.hMainWnd, szMessage, szResource, MB_ICONEXCLAMATION);
+ if (hParent == NULL)
+ hParent = Globals.hMainWnd;
+ return MessageBox(hParent, szMessage, szResource, dwFlags);
+}
+
+static void AlertFileNotFound(LPCWSTR szFileName)
+{
+ DIALOG_StringMsgBox(NULL, STRING_NOTFOUND, szFileName, MB_ICONEXCLAMATION|MB_OK);
}
static int AlertFileNotSaved(LPCWSTR szFileName)
{
- WCHAR szMessage[MAX_STRING_LEN];
- WCHAR szResource[MAX_STRING_LEN];
WCHAR szUntitled[MAX_STRING_LEN];
LoadString(Globals.hInstance, STRING_UNTITLED, szUntitled, SIZEOF(szUntitled));
-
- /* Load and format Message */
- LoadString(Globals.hInstance, STRING_NOTSAVED, szResource, SIZEOF(szResource));
- wsprintf(szMessage, szResource, szFileName[0] ? szFileName : szUntitled);
-
- /* Load Caption */
- LoadString(Globals.hInstance, STRING_NOTEPAD, szResource, SIZEOF(szResource));
-
- /* Display modal */
- return MessageBox(Globals.hMainWnd, szMessage, szResource, MB_ICONEXCLAMATION|MB_YESNOCANCEL);
+ return DIALOG_StringMsgBox(NULL, STRING_NOTSAVED, szFileName[0] ? szFileName : szUntitled,
+ MB_ICONQUESTION|MB_YESNOCANCEL);
}
/**
diff --git a/programs/notepad/dialog.h b/programs/notepad/dialog.h
index 3d9d2e1..ffadf00 100644
--- a/programs/notepad/dialog.h
+++ b/programs/notepad/dialog.h
@@ -49,6 +49,7 @@ VOID DIALOG_HelpNoWarranty(VOID);
VOID DIALOG_HelpAboutWine(VOID);
VOID DIALOG_TimeDate(VOID);
+int DIALOG_StringMsgBox(HWND hParent, int formatId, LPCWSTR szString, DWORD dwFlags);
/* utility functions */
VOID ShowLastError(void);
More information about the wine-cvs
mailing list