Module: wine Branch: master Commit: b0905acb6e332c5155b9fa64c290f2ea730c5bb8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b0905acb6e332c5155b9fa64c2...
Author: Mikołaj Zalewski mikolaj@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);