[NOTEPAD]

- Remove unneeded ChangeLog file (we have SVN)
- Partial wine resync of notepad (part 1/x): it's just to bring back some of their fixes and improvements. CORE-9371

svn path=/trunk/; revision=66712
This commit is contained in:
Hermès Bélusca-Maïto 2015-03-14 20:00:39 +00:00
parent 95776e2e8e
commit 98f1285e6b
41 changed files with 197 additions and 321 deletions

View file

@ -1,56 +0,0 @@
*** This file is obsolete. Changes are listed in the main
*** ChangeLog now. Please do not edit.
Fri Jun 12 23:29:44 1998 Marcel Baur <mbaur@g26.ethz.ch>
- Fixed GetDateFormat()->GetTimeFormat() for locale time.
Mon May 25 14:30:00 1998 Henrik Olsen <henrik@iaeste.dk>
* [Da.rc]
- Added Danish language support.
Fri May 15 23:59:22 1998 Marcel Baur <mbaur@g26.ethz.ch>
- Date/Time now uses locale-specific formats
- Language-specific window caption, displays file being edited.
- Started with parsing of command line settings
- Started with DoOpenFile, DoCloseFile, DoSaveFile logics
- Prompt user to save settings when closing a file
-> Introduced a new message box (not yet finished)
- Fixed minor features (missing IDS in main.h, ...)
Sun Mar 29 20:29:41 1998 Laurent Buffler <laurent@bluewin.ch>
* [Fr.rc]
- Added French language support.
Fri Feb 27 21:03:37 1998 Karl Backström <karl_b@geocities.com>
- Fixed some minor features.
Sat Feb 14 17:42:29 1998 Karl Backström <karl_b@geocities.com>
* NEW [language.c] [language.h]
- Takes care of all language related stuff.
- A new [programs] in .winerc is in use.
Tue Feb 10 23:34:08 1998 Marcel Baur <mbaur@g26.ethz.ch>
- Fixed broken language menus
Fri Feb 06 23.54.35 1998 Karl Backström <karl_b@geocities.com>
* [main.c] [main.h] [notepad.rc]
- Fixed language support for menus.
* NEW [dialog.c] [dialog.h]
- Moved all menu and dialog related stuff here.
Sun Jan 18 23:05:04 1998 Karl Backström <karl_b@geocities.com>
* [Sw.rc]
- Added/updated Swedish language support.
Tue Dec 23 23:35:04 1997 Marcel Baur <mbaur@g26.ethz.ch>
- Fixed lots of bugs w/ resources in *.rc
- moved [notepad.c] into [main.c]
- moved [notepad.h] into [main.h]
Fri Dec 05 20:51:55 1997 Marcel Baur <mbaur@g26.ethz.ch>
* [notepad.c] [notepad.h] [notepad.rc] [En.rc] [De.rc]
[license.c] [license.h] [License_En.c]
[README] [TODO] [ChangeLog]
- Originals by Marcel Baur

View file

@ -35,67 +35,6 @@ static const TCHAR txt_files[] = _T("*.txt");
static UINT_PTR CALLBACK DIALOG_PAGESETUP_Hook(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam); static UINT_PTR CALLBACK DIALOG_PAGESETUP_Hook(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);
#ifndef UNICODE
static LPSTR ConvertToASCII(LPSTR pszText)
{
int sz;
LPWSTR pszTextW = (LPWSTR)pszText;
/* default return value */
pszText = NULL;
do {
/* query about requested size for conversion */
sz = WideCharToMultiByte(CP_ACP, 0, pszTextW, -1, NULL, 0, NULL, NULL);
if (!sz)
break;
/* get space for ASCII buffer */
pszText = (LPSTR)HeapAlloc(GetProcessHeap(), 0, sz);
if (pszText == NULL)
break;
/* if previous diagnostic call worked fine,
* then this one will work too,
* so no need to test return value here
*/
WideCharToMultiByte(CP_ACP, 0, pszTextW, -1, pszText, sz, NULL, NULL);
} while (0);
HeapFree(GetProcessHeap(), 0, pszTextW);
return pszText;
}
static LPWSTR ConvertToUNICODE(LPSTR pszText, DWORD *pdwSize)
{
int sz;
LPWSTR pszTextW = NULL;
do {
/* query about requested size for conversion */
sz = MultiByteToWideChar(CP_ACP, 0, pszText, -1, NULL, 0);
if (!sz)
break;
/* get space for UNICODE buffer */
pszTextW = HeapAlloc(GetProcessHeap(), 0, sz * sizeof(WCHAR));
if (pszText == NULL)
break;
/* if previous diagnostic call worked fine,
* then this one will work too,
* so no need to test return value here
*/
MultiByteToWideChar(CP_ACP, 0, pszText, -1, pszTextW, sz);
/* report the new size of the text to the caller */
*pdwSize = sz;
} while (0);
HeapFree(GetProcessHeap(), 0, pszText);
return pszTextW;
}
#endif
VOID ShowLastError(VOID) VOID ShowLastError(VOID)
{ {
DWORD error = GetLastError(); DWORD error = GetLastError();
@ -104,7 +43,7 @@ VOID ShowLastError(VOID)
LPTSTR lpMsgBuf = NULL; LPTSTR lpMsgBuf = NULL;
TCHAR szTitle[MAX_STRING_LEN]; TCHAR szTitle[MAX_STRING_LEN];
LoadString(Globals.hInstance, STRING_ERROR, szTitle, SIZEOF(szTitle)); LoadString(Globals.hInstance, STRING_ERROR, szTitle, ARRAY_SIZE(szTitle));
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL, NULL,
@ -129,74 +68,68 @@ static void UpdateWindowCaption(void)
TCHAR szCaption[MAX_STRING_LEN]; TCHAR szCaption[MAX_STRING_LEN];
TCHAR szNotepad[MAX_STRING_LEN]; TCHAR szNotepad[MAX_STRING_LEN];
LoadString(Globals.hInstance, STRING_NOTEPAD, szNotepad, SIZEOF(szNotepad)); LoadString(Globals.hInstance, STRING_NOTEPAD, szNotepad, ARRAY_SIZE(szNotepad));
if (Globals.szFileTitle[0] != 0) if (Globals.szFileTitle[0] != 0)
{ {
StringCchCopy(szCaption, SIZEOF(szCaption), Globals.szFileTitle); StringCchCopy(szCaption, ARRAY_SIZE(szCaption), Globals.szFileTitle);
} }
else else
{ {
LoadString(Globals.hInstance, STRING_UNTITLED, szCaption, SIZEOF(szCaption)); LoadString(Globals.hInstance, STRING_UNTITLED, szCaption, ARRAY_SIZE(szCaption));
} }
StringCchCat(szCaption, SIZEOF(szCaption), _T(" - ")); StringCchCat(szCaption, ARRAY_SIZE(szCaption), _T(" - "));
StringCchCat(szCaption, SIZEOF(szCaption), szNotepad); StringCchCat(szCaption, ARRAY_SIZE(szCaption), szNotepad);
SetWindowText(Globals.hMainWnd, szCaption); SetWindowText(Globals.hMainWnd, szCaption);
} }
static void AlertFileNotFound(LPCTSTR szFileName) int DIALOG_StringMsgBox(HWND hParent, int formatId, LPCTSTR szString, DWORD dwFlags)
{ {
TCHAR szMessage[MAX_STRING_LEN]; TCHAR szMessage[MAX_STRING_LEN];
TCHAR szResource[MAX_STRING_LEN]; TCHAR szResource[MAX_STRING_LEN];
/* Load and format szMessage */ /* Load and format szMessage */
LoadString(Globals.hInstance, STRING_NOTFOUND, szResource, SIZEOF(szResource)); LoadString(Globals.hInstance, formatId, szResource, ARRAY_SIZE(szResource));
wsprintf(szMessage, szResource, szFileName); _sntprintf(szMessage, ARRAY_SIZE(szMessage), szResource, szString);
/* Load szCaption */ /* Load szCaption */
LoadString(Globals.hInstance, STRING_NOTEPAD, szResource, SIZEOF(szResource)); if ((dwFlags & MB_ICONMASK) == MB_ICONEXCLAMATION)
LoadString(Globals.hInstance, STRING_ERROR, szResource, ARRAY_SIZE(szResource));
else
LoadString(Globals.hInstance, STRING_NOTEPAD, szResource, ARRAY_SIZE(szResource));
/* Display Modal Dialog */ /* 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(LPCTSTR szFileName)
{
DIALOG_StringMsgBox(Globals.hMainWnd, STRING_NOTFOUND, szFileName, MB_ICONEXCLAMATION | MB_OK);
} }
static int AlertFileNotSaved(LPCTSTR szFileName) static int AlertFileNotSaved(LPCTSTR szFileName)
{ {
TCHAR szMessage[MAX_STRING_LEN];
TCHAR szResource[MAX_STRING_LEN];
TCHAR szUntitled[MAX_STRING_LEN]; TCHAR szUntitled[MAX_STRING_LEN];
LoadString(Globals.hInstance, STRING_UNTITLED, szUntitled, SIZEOF(szUntitled)); LoadString(Globals.hInstance, STRING_UNTITLED, szUntitled, ARRAY_SIZE(szUntitled));
/* Load and format Message */ return DIALOG_StringMsgBox(Globals.hMainWnd, STRING_NOTSAVED,
LoadString(Globals.hInstance, STRING_NOTSAVED, szResource, SIZEOF(szResource)); szFileName[0] ? szFileName : szUntitled,
wsprintf(szMessage, szResource, szFileName[0] ? szFileName : szUntitled); MB_ICONQUESTION | MB_YESNOCANCEL);
/* Load Caption */
LoadString(Globals.hInstance, STRING_NOTEPAD, szResource, SIZEOF(szResource));
/* Display modal */
return MessageBox(Globals.hMainWnd, szMessage, szResource, MB_ICONEXCLAMATION|MB_YESNOCANCEL);
} }
static void AlertPrintError(void) static void AlertPrintError(void)
{ {
TCHAR szMessage[MAX_STRING_LEN];
TCHAR szResource[MAX_STRING_LEN];
TCHAR szUntitled[MAX_STRING_LEN]; TCHAR szUntitled[MAX_STRING_LEN];
LoadString(Globals.hInstance, STRING_UNTITLED, szUntitled, SIZEOF(szUntitled)); LoadString(Globals.hInstance, STRING_UNTITLED, szUntitled, ARRAY_SIZE(szUntitled));
/* Load and format Message */ DIALOG_StringMsgBox(Globals.hMainWnd, STRING_NOTSAVED,
LoadString(Globals.hInstance, STRING_PRINTERROR, szResource, SIZEOF(szResource)); Globals.szFileName[0] ? Globals.szFileName : szUntitled,
wsprintf(szMessage, szResource, Globals.szFileName[0] ? Globals.szFileName : szUntitled); MB_ICONEXCLAMATION | MB_OK);
/* Load Caption */
LoadString(Globals.hInstance, STRING_NOTEPAD, szResource, SIZEOF(szResource));
/* Display modal */
MessageBox(Globals.hMainWnd, szMessage, szResource, MB_ICONEXCLAMATION);
} }
/** /**
@ -317,20 +250,9 @@ static BOOL DoSaveFile(VOID)
} }
size = GetWindowText(Globals.hEdit, pTemp, size); size = GetWindowText(Globals.hEdit, pTemp, size);
#ifndef UNICODE
pTemp = (LPTSTR)ConvertToUNICODE(pTemp, &size);
if (!pTemp)
{
/* original "pTemp" already freed */
CloseHandle(hFile);
ShowLastError();
return FALSE;
}
#endif
if (size) if (size)
{ {
if (!WriteText(hFile, (LPWSTR)pTemp, size, Globals.iEncoding, Globals.iEoln)) if (!WriteText(hFile, (LPWSTR)pTemp, size, Globals.encFile, Globals.iEoln))
{ {
ShowLastError(); ShowLastError();
bRet = FALSE; bRet = FALSE;
@ -404,18 +326,11 @@ VOID DoOpenFile(LPCTSTR szFileName)
goto done; goto done;
} }
if (!ReadText(hFile, (LPWSTR *)&pszText, &dwTextLen, &Globals.iEncoding, &Globals.iEoln)) if (!ReadText(hFile, (LPWSTR *)&pszText, &dwTextLen, &Globals.encFile, &Globals.iEoln))
{ {
ShowLastError(); ShowLastError();
goto done; goto done;
} }
#ifndef UNICODE
pszText = ConvertToASCII(pszText);
if (pszText == NULL) {
ShowLastError();
goto done;
}
#endif
SetWindowText(Globals.hEdit, pszText); SetWindowText(Globals.hEdit, pszText);
SendMessage(Globals.hEdit, EM_SETMODIFY, FALSE, 0); SendMessage(Globals.hEdit, EM_SETMODIFY, FALSE, 0);
@ -425,7 +340,7 @@ VOID DoOpenFile(LPCTSTR szFileName)
/* If the file starts with .LOG, add a time/date at the end and set cursor after /* If the file starts with .LOG, add a time/date at the end and set cursor after
* See http://support.microsoft.com/?kbid=260563 * See http://support.microsoft.com/?kbid=260563
*/ */
if (GetWindowText(Globals.hEdit, log, SIZEOF(log)) && !_tcscmp(log, dotlog)) if (GetWindowText(Globals.hEdit, log, ARRAY_SIZE(log)) && !_tcscmp(log, dotlog))
{ {
static const TCHAR lf[] = _T("\r\n"); static const TCHAR lf[] = _T("\r\n");
SendMessage(Globals.hEdit, EM_SETSEL, GetWindowTextLength(Globals.hEdit), -1); SendMessage(Globals.hEdit, EM_SETSEL, GetWindowTextLength(Globals.hEdit), -1);
@ -463,7 +378,7 @@ VOID DIALOG_FileOpen(VOID)
ZeroMemory(&openfilename, sizeof(openfilename)); ZeroMemory(&openfilename, sizeof(openfilename));
GetCurrentDirectory(SIZEOF(szDir), szDir); GetCurrentDirectory(ARRAY_SIZE(szDir), szDir);
if (Globals.szFileName[0] == 0) if (Globals.szFileName[0] == 0)
_tcscpy(szPath, txt_files); _tcscpy(szPath, txt_files);
else else
@ -474,7 +389,7 @@ VOID DIALOG_FileOpen(VOID)
openfilename.hInstance = Globals.hInstance; openfilename.hInstance = Globals.hInstance;
openfilename.lpstrFilter = Globals.szFilter; openfilename.lpstrFilter = Globals.szFilter;
openfilename.lpstrFile = szPath; openfilename.lpstrFile = szPath;
openfilename.nMaxFile = SIZEOF(szPath); openfilename.nMaxFile = ARRAY_SIZE(szPath);
openfilename.lpstrInitialDir = szDir; openfilename.lpstrInitialDir = szDir;
openfilename.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY; openfilename.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY;
openfilename.lpstrDefExt = szDefaultExt; openfilename.lpstrDefExt = szDefaultExt;
@ -509,29 +424,29 @@ DIALOG_FileSaveAs_Hook(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
case WM_INITDIALOG: case WM_INITDIALOG:
hCombo = GetDlgItem(hDlg, ID_ENCODING); hCombo = GetDlgItem(hDlg, ID_ENCODING);
LoadString(Globals.hInstance, STRING_ANSI, szText, SIZEOF(szText)); LoadString(Globals.hInstance, STRING_ANSI, szText, ARRAY_SIZE(szText));
SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText); SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText);
LoadString(Globals.hInstance, STRING_UNICODE, szText, SIZEOF(szText)); LoadString(Globals.hInstance, STRING_UNICODE, szText, ARRAY_SIZE(szText));
SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText); SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText);
LoadString(Globals.hInstance, STRING_UNICODE_BE, szText, SIZEOF(szText)); LoadString(Globals.hInstance, STRING_UNICODE_BE, szText, ARRAY_SIZE(szText));
SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText); SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText);
LoadString(Globals.hInstance, STRING_UTF8, szText, SIZEOF(szText)); LoadString(Globals.hInstance, STRING_UTF8, szText, ARRAY_SIZE(szText));
SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText); SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText);
SendMessage(hCombo, CB_SETCURSEL, Globals.iEncoding, 0); SendMessage(hCombo, CB_SETCURSEL, Globals.encFile, 0);
hCombo = GetDlgItem(hDlg, ID_EOLN); hCombo = GetDlgItem(hDlg, ID_EOLN);
LoadString(Globals.hInstance, STRING_CRLF, szText, SIZEOF(szText)); LoadString(Globals.hInstance, STRING_CRLF, szText, ARRAY_SIZE(szText));
SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText); SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText);
LoadString(Globals.hInstance, STRING_LF, szText, SIZEOF(szText)); LoadString(Globals.hInstance, STRING_LF, szText, ARRAY_SIZE(szText));
SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText); SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText);
LoadString(Globals.hInstance, STRING_CR, szText, SIZEOF(szText)); LoadString(Globals.hInstance, STRING_CR, szText, ARRAY_SIZE(szText));
SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText); SendMessage(hCombo, CB_ADDSTRING, 0, (LPARAM) szText);
SendMessage(hCombo, CB_SETCURSEL, Globals.iEoln, 0); SendMessage(hCombo, CB_SETCURSEL, Globals.iEoln, 0);
@ -542,7 +457,7 @@ DIALOG_FileSaveAs_Hook(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{ {
hCombo = GetDlgItem(hDlg, ID_ENCODING); hCombo = GetDlgItem(hDlg, ID_ENCODING);
if (hCombo) if (hCombo)
Globals.iEncoding = (int) SendMessage(hCombo, CB_GETCURSEL, 0, 0); Globals.encFile = (int) SendMessage(hCombo, CB_GETCURSEL, 0, 0);
hCombo = GetDlgItem(hDlg, ID_EOLN); hCombo = GetDlgItem(hDlg, ID_EOLN);
if (hCombo) if (hCombo)
@ -561,7 +476,7 @@ BOOL DIALOG_FileSaveAs(VOID)
ZeroMemory(&saveas, sizeof(saveas)); ZeroMemory(&saveas, sizeof(saveas));
GetCurrentDirectory(SIZEOF(szDir), szDir); GetCurrentDirectory(ARRAY_SIZE(szDir), szDir);
if (Globals.szFileName[0] == 0) if (Globals.szFileName[0] == 0)
_tcscpy(szPath, txt_files); _tcscpy(szPath, txt_files);
else else
@ -572,7 +487,7 @@ BOOL DIALOG_FileSaveAs(VOID)
saveas.hInstance = Globals.hInstance; saveas.hInstance = Globals.hInstance;
saveas.lpstrFilter = Globals.szFilter; saveas.lpstrFilter = Globals.szFilter;
saveas.lpstrFile = szPath; saveas.lpstrFile = szPath;
saveas.nMaxFile = SIZEOF(szPath); saveas.nMaxFile = ARRAY_SIZE(szPath);
saveas.lpstrInitialDir = szDir; saveas.lpstrInitialDir = szDir;
saveas.Flags = OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY | saveas.Flags = OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY |
OFN_EXPLORER | OFN_ENABLETEMPLATE | OFN_ENABLEHOOK; OFN_EXPLORER | OFN_ENABLETEMPLATE | OFN_ENABLEHOOK;
@ -1056,9 +971,9 @@ static VOID DIALOG_SearchDialog(FINDPROC pfnProc)
Globals.find.hwndOwner = Globals.hMainWnd; Globals.find.hwndOwner = Globals.hMainWnd;
Globals.find.hInstance = Globals.hInstance; Globals.find.hInstance = Globals.hInstance;
Globals.find.lpstrFindWhat = Globals.szFindText; Globals.find.lpstrFindWhat = Globals.szFindText;
Globals.find.wFindWhatLen = SIZEOF(Globals.szFindText); Globals.find.wFindWhatLen = ARRAY_SIZE(Globals.szFindText);
Globals.find.lpstrReplaceWith = Globals.szReplaceText; Globals.find.lpstrReplaceWith = Globals.szReplaceText;
Globals.find.wReplaceWithLen = SIZEOF(Globals.szReplaceText); Globals.find.wReplaceWithLen = ARRAY_SIZE(Globals.szReplaceText);
Globals.find.Flags = FR_DOWN; Globals.find.Flags = FR_DOWN;
/* We only need to create the modal FindReplace dialog which will */ /* We only need to create the modal FindReplace dialog which will */
@ -1097,7 +1012,7 @@ DIALOG_GoTo_DialogProc(HWND hwndDialog, UINT uMsg, WPARAM wParam, LPARAM lParam)
switch(uMsg) { switch(uMsg) {
case WM_INITDIALOG: case WM_INITDIALOG:
hTextBox = GetDlgItem(hwndDialog, ID_LINENUMBER); hTextBox = GetDlgItem(hwndDialog, ID_LINENUMBER);
_sntprintf(szText, SIZEOF(szText), _T("%ld"), lParam); _sntprintf(szText, ARRAY_SIZE(szText), _T("%ld"), lParam);
SetWindowText(hTextBox, szText); SetWindowText(hTextBox, szText);
break; break;
case WM_COMMAND: case WM_COMMAND:
@ -1106,7 +1021,7 @@ DIALOG_GoTo_DialogProc(HWND hwndDialog, UINT uMsg, WPARAM wParam, LPARAM lParam)
if (LOWORD(wParam) == IDOK) if (LOWORD(wParam) == IDOK)
{ {
hTextBox = GetDlgItem(hwndDialog, ID_LINENUMBER); hTextBox = GetDlgItem(hwndDialog, ID_LINENUMBER);
GetWindowText(hTextBox, szText, SIZEOF(szText)); GetWindowText(hTextBox, szText, ARRAY_SIZE(szText));
EndDialog(hwndDialog, _ttoi(szText)); EndDialog(hwndDialog, _ttoi(szText));
bResult = TRUE; bResult = TRUE;
} }
@ -1200,9 +1115,16 @@ VOID DIALOG_HelpHelp(VOID)
WinHelp(Globals.hMainWnd, helpfile, HELP_HELPONHELP, 0); WinHelp(Globals.hMainWnd, helpfile, HELP_HELPONHELP, 0);
} }
#ifdef _MSC_VER VOID DIALOG_HelpAboutNotepad(VOID)
#pragma warning(disable : 4100) {
#endif TCHAR szNotepad[MAX_STRING_LEN];
HICON notepadIcon = LoadIcon(Globals.hInstance, MAKEINTRESOURCE(IDI_NPICON));
LoadString(Globals.hInstance, STRING_NOTEPAD, szNotepad, ARRAY_SIZE(szNotepad));
ShellAbout(Globals.hMainWnd, szNotepad, 0, notepadIcon);
DeleteObject(notepadIcon);
}
INT_PTR INT_PTR
CALLBACK CALLBACK
AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
@ -1238,16 +1160,6 @@ AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
return 0; return 0;
} }
VOID DIALOG_HelpAboutWine(VOID)
{
TCHAR szNotepad[MAX_STRING_LEN];
HICON notepadIcon = LoadIcon(Globals.hInstance, MAKEINTRESOURCE(IDI_NPICON));
LoadString(Globals.hInstance, STRING_NOTEPAD, szNotepad, SIZEOF(szNotepad));
ShellAbout(Globals.hMainWnd, szNotepad, 0, notepadIcon);
DeleteObject(notepadIcon);
}
/*********************************************************************** /***********************************************************************
* *
* DIALOG_FilePageSetup * DIALOG_FilePageSetup
@ -1296,8 +1208,8 @@ static UINT_PTR CALLBACK DIALOG_PAGESETUP_Hook(HWND hDlg, UINT msg, WPARAM wPara
{ {
case IDOK: case IDOK:
/* save user input and close dialog */ /* save user input and close dialog */
GetDlgItemText(hDlg, 0x141, Globals.szHeader, SIZEOF(Globals.szHeader)); GetDlgItemText(hDlg, 0x141, Globals.szHeader, ARRAY_SIZE(Globals.szHeader));
GetDlgItemText(hDlg, 0x143, Globals.szFooter, SIZEOF(Globals.szFooter)); GetDlgItemText(hDlg, 0x143, Globals.szFooter, ARRAY_SIZE(Globals.szFooter));
return FALSE; return FALSE;
case IDCANCEL: case IDCANCEL:

View file

@ -52,10 +52,12 @@ VOID DIALOG_HelpSearch(VOID);
VOID DIALOG_HelpHelp(VOID); VOID DIALOG_HelpHelp(VOID);
VOID DIALOG_HelpLicense(VOID); VOID DIALOG_HelpLicense(VOID);
VOID DIALOG_HelpNoWarranty(VOID); VOID DIALOG_HelpNoWarranty(VOID);
VOID DIALOG_HelpAboutWine(VOID); VOID DIALOG_HelpAboutNotepad(VOID);
VOID DIALOG_TimeDate(VOID); VOID DIALOG_TimeDate(VOID);
int DIALOG_StringMsgBox(HWND hParent, int formatId, LPCTSTR szString, DWORD dwFlags);
INT_PTR CALLBACK AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
/* utility functions */ /* utility functions */

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Помощ за помощта", CMD_HELP_ON_HELP MENUITEM "&Помощ за помощта", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&За", CMD_ABOUT MENUITEM "&За", CMD_ABOUT
MENUITEM "С&ведения", CMD_ABOUT_WINE MENUITEM "С&ведения", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "Pomoc k ná&povědě", CMD_HELP_ON_HELP MENUITEM "Pomoc k ná&povědě", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&O programu...", CMD_ABOUT MENUITEM "&O programu...", CMD_ABOUT
MENUITEM "In&fo...", CMD_ABOUT_WINE MENUITEM "In&fo...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Brug af Hjælp", CMD_HELP_ON_HELP MENUITEM "&Brug af Hjælp", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&About", CMD_ABOUT MENUITEM "&About", CMD_ABOUT
MENUITEM "&Om Notesblok", CMD_ABOUT_WINE MENUITEM "&Om Notesblok", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Hilfe benutzen", CMD_HELP_ON_HELP MENUITEM "&Hilfe benutzen", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Über", CMD_ABOUT MENUITEM "&Über", CMD_ABOUT
MENUITEM "Inf&o", CMD_ABOUT_WINE MENUITEM "Inf&o", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Βοήθεια στη βοήθεια", CMD_HELP_ON_HELP MENUITEM "&Βοήθεια στη βοήθεια", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&About", CMD_ABOUT MENUITEM "&About", CMD_ABOUT
MENUITEM "Πληρο&φορίες", CMD_ABOUT_WINE MENUITEM "Πληρο&φορίες", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Help on help", CMD_HELP_ON_HELP MENUITEM "&Help on help", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&About", CMD_ABOUT MENUITEM "&About", CMD_ABOUT
MENUITEM "Inf&o", CMD_ABOUT_WINE MENUITEM "Inf&o", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "A&yuda sobre la ayuda", CMD_HELP_ON_HELP MENUITEM "A&yuda sobre la ayuda", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Acerca de", CMD_ABOUT MENUITEM "&Acerca de", CMD_ABOUT
MENUITEM "&Información...", CMD_ABOUT_WINE MENUITEM "&Información...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "Laguntzari buruz laguntza", CMD_HELP_ON_HELP MENUITEM "Laguntzari buruz laguntza", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Ohar-blokari buruz", CMD_ABOUT MENUITEM "&Ohar-blokari buruz", CMD_ABOUT
MENUITEM "&Informazioa...", CMD_ABOUT_WINE MENUITEM "&Informazioa...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "Apua &Opastuksesta", CMD_HELP_ON_HELP MENUITEM "Apua &Opastuksesta", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&About", CMD_ABOUT MENUITEM "&About", CMD_ABOUT
MENUITEM "Inf&o...", CMD_ABOUT_WINE MENUITEM "Inf&o...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Utiliser l'aide", CMD_HELP_ON_HELP MENUITEM "&Utiliser l'aide", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&À propos", CMD_ABOUT MENUITEM "&À propos", CMD_ABOUT
MENUITEM "Inf&o...", CMD_ABOUT_WINE MENUITEM "Inf&o...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "עזרה בעזרה", CMD_HELP_ON_HELP MENUITEM "עזרה בעזרה", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "אודות", CMD_ABOUT MENUITEM "אודות", CMD_ABOUT
MENUITEM "מידע", CMD_ABOUT_WINE MENUITEM "מידע", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Használat", CMD_HELP_ON_HELP MENUITEM "&Használat", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&About", CMD_ABOUT MENUITEM "&About", CMD_ABOUT
MENUITEM "Inf&ormáció...", CMD_ABOUT_WINE MENUITEM "Inf&ormáció...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Օգնությոն օգտագործում", CMD_HELP_ON_HELP MENUITEM "&Օգնությոն օգտագործում", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Ծրագրի մասին", CMD_ABOUT MENUITEM "&Ծրագրի մասին", CMD_ABOUT
MENUITEM "&Տեղեկություն...", CMD_ABOUT_WINE MENUITEM "&Տեղեկություն...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Bantuan pada bantuan", CMD_HELP_ON_HELP MENUITEM "&Bantuan pada bantuan", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Tentang", CMD_ABOUT MENUITEM "&Tentang", CMD_ABOUT
MENUITEM "Inf&o", CMD_ABOUT_WINE MENUITEM "Inf&o", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Aiuto sulla Guida", CMD_HELP_ON_HELP MENUITEM "&Aiuto sulla Guida", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Informazioni &su blocco note", CMD_ABOUT MENUITEM "Informazioni &su blocco note", CMD_ABOUT
MENUITEM "Inf&o...", CMD_ABOUT_WINE MENUITEM "Inf&o...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "ヘルプの使い方(&H)", CMD_HELP_ON_HELP MENUITEM "ヘルプの使い方(&H)", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "バージョン情報(&A)", CMD_ABOUT MENUITEM "バージョン情報(&A)", CMD_ABOUT
MENUITEM "情報(&O)", CMD_ABOUT_WINE MENUITEM "情報(&O)", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Pagalba", CMD_HELP_ON_HELP MENUITEM "&Pagalba", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Apie Notepad", CMD_ABOUT MENUITEM "&Apie Notepad", CMD_ABOUT
MENUITEM "Apie &ReactOS", CMD_ABOUT_WINE MENUITEM "Apie &ReactOS", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Hulp bij Help", CMD_HELP_ON_HELP MENUITEM "&Hulp bij Help", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&About", CMD_ABOUT MENUITEM "&About", CMD_ABOUT
MENUITEM "Inf&o...", CMD_ABOUT_WINE MENUITEM "Inf&o...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Hjelp om hjelp", CMD_HELP_ON_HELP MENUITEM "&Hjelp om hjelp", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Om", CMD_ABOUT MENUITEM "&Om", CMD_ABOUT
MENUITEM "&Infomasjon", CMD_ABOUT_WINE MENUITEM "&Infomasjon", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "Pomo&c", CMD_HELP_ON_HELP MENUITEM "Pomo&c", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Notatnik - informacje", CMD_ABOUT MENUITEM "&Notatnik - informacje", CMD_ABOUT
MENUITEM "&ReactOS - informacje", CMD_ABOUT_WINE MENUITEM "&ReactOS - informacje", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Ajuda na ajuda", CMD_HELP_ON_HELP MENUITEM "&Ajuda na ajuda", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Sobre", CMD_ABOUT MENUITEM "&Sobre", CMD_ABOUT
MENUITEM "&Informações...", CMD_ABOUT_WINE MENUITEM "&Informações...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Ajuda na ajuda", CMD_HELP_ON_HELP MENUITEM "&Ajuda na ajuda", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Sobre", CMD_ABOUT MENUITEM "&Sobre", CMD_ABOUT
MENUITEM "&Informações...", CMD_ABOUT_WINE MENUITEM "&Informações...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -70,7 +70,7 @@ BEGIN
MENUITEM "M&anualul manualului", CMD_HELP_ON_HELP MENUITEM "M&anualul manualului", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Despre…", CMD_ABOUT MENUITEM "&Despre…", CMD_ABOUT
MENUITEM "&Info…", CMD_ABOUT_WINE MENUITEM "&Info…", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Использование справки", CMD_HELP_ON_HELP MENUITEM "&Использование справки", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&О программе", CMD_ABOUT MENUITEM "&О программе", CMD_ABOUT
MENUITEM "&Сведения...", CMD_ABOUT_WINE MENUITEM "&Сведения...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -73,7 +73,7 @@ BEGIN
MENUITEM "&Pomoc", CMD_HELP_ON_HELP MENUITEM "&Pomoc", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Č&o je Poznámkový blok", CMD_ABOUT MENUITEM "Č&o je Poznámkový blok", CMD_ABOUT
MENUITEM "Čo je &Víno (Wine)", CMD_ABOUT_WINE MENUITEM "Čo je &Víno (Wine)", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&O pomoèi", CMD_HELP_ON_HELP MENUITEM "&O pomoèi", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&About", CMD_ABOUT MENUITEM "&About", CMD_ABOUT
MENUITEM "Inf&ormacije ...", CMD_ABOUT_WINE MENUITEM "Inf&ormacije ...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -69,7 +69,7 @@ BEGIN
MENUITEM "Ndihmë për ndihmë", CMD_HELP_ON_HELP MENUITEM "Ndihmë për ndihmë", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Rreth", CMD_ABOUT MENUITEM "Rreth", CMD_ABOUT
MENUITEM "Inf&o", CMD_ABOUT_WINE MENUITEM "Inf&o", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "Anvisningar för hjälpen", CMD_HELP_ON_HELP MENUITEM "Anvisningar för hjälpen", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Om &Anteckningar", CMD_ABOUT MENUITEM "Om &Anteckningar", CMD_ABOUT
MENUITEM "Inf&ormation...", CMD_ABOUT_WINE MENUITEM "Inf&ormation...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "เกี่ยวกับช่วยเหลีอ", CMD_HELP_ON_HELP MENUITEM "เกี่ยวกับช่วยเหลีอ", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&About", CMD_ABOUT MENUITEM "&About", CMD_ABOUT
MENUITEM "รายละเอียด...", CMD_ABOUT_WINE MENUITEM "รายละเอียด...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -67,7 +67,7 @@ BEGIN
MENUITEM "&Yardım İçin Yardım", CMD_HELP_ON_HELP MENUITEM "&Yardım İçin Yardım", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Bilgi...", CMD_ABOUT MENUITEM "&Bilgi...", CMD_ABOUT
MENUITEM "&Üzerine...", CMD_ABOUT_WINE MENUITEM "&Üzerine...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "Використ&ання довідки", CMD_HELP_ON_HELP MENUITEM "Використ&ання довідки", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "&Про", CMD_ABOUT MENUITEM "&Про", CMD_ABOUT
MENUITEM "Про програм&у", CMD_ABOUT_WINE MENUITEM "Про програм&у", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "&Использование справки", CMD_HELP_ON_HELP MENUITEM "&Использование справки", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Bloknot h&aqida", CMD_ABOUT MENUITEM "Bloknot h&aqida", CMD_ABOUT
MENUITEM "&Сведения...", CMD_ABOUT_WINE MENUITEM "&Сведения...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -65,7 +65,7 @@ BEGIN
MENUITEM "如何使用帮助(&H)", CMD_HELP_ON_HELP MENUITEM "如何使用帮助(&H)", CMD_HELP_ON_HELP
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "关于(&A)", CMD_ABOUT MENUITEM "关于(&A)", CMD_ABOUT
MENUITEM "资料信息(&O)...", CMD_ABOUT_WINE MENUITEM "资料信息(&O)...", CMD_HELP_ABOUT_NOTEPAD
END END
END END

View file

@ -45,9 +45,9 @@ VOID NOTEPAD_EnableSearchMenu()
*/ */
VOID SetFileName(LPCTSTR szFileName) VOID SetFileName(LPCTSTR szFileName)
{ {
StringCchCopy(Globals.szFileName, SIZEOF(Globals.szFileName), szFileName); StringCchCopy(Globals.szFileName, ARRAY_SIZE(Globals.szFileName), szFileName);
Globals.szFileTitle[0] = 0; Globals.szFileTitle[0] = 0;
GetFileTitle(szFileName, Globals.szFileTitle, SIZEOF(Globals.szFileTitle)); GetFileTitle(szFileName, Globals.szFileTitle, ARRAY_SIZE(Globals.szFileTitle));
} }
/*********************************************************************** /***********************************************************************
@ -60,26 +60,26 @@ static int NOTEPAD_MenuCommand(WPARAM wParam)
{ {
switch (wParam) switch (wParam)
{ {
case CMD_NEW: DIALOG_FileNew(); break; case CMD_NEW: DIALOG_FileNew(); break;
case CMD_OPEN: DIALOG_FileOpen(); break; case CMD_OPEN: DIALOG_FileOpen(); break;
case CMD_SAVE: DIALOG_FileSave(); break; case CMD_SAVE: DIALOG_FileSave(); break;
case CMD_SAVE_AS: DIALOG_FileSaveAs(); break; case CMD_SAVE_AS: DIALOG_FileSaveAs(); break;
case CMD_PRINT: DIALOG_FilePrint(); break; case CMD_PRINT: DIALOG_FilePrint(); break;
case CMD_PAGE_SETUP: DIALOG_FilePageSetup(); break; case CMD_PAGE_SETUP: DIALOG_FilePageSetup(); break;
case CMD_EXIT: DIALOG_FileExit(); break; case CMD_EXIT: DIALOG_FileExit(); break;
case CMD_UNDO: DIALOG_EditUndo(); break; case CMD_UNDO: DIALOG_EditUndo(); break;
case CMD_CUT: DIALOG_EditCut(); break; case CMD_CUT: DIALOG_EditCut(); break;
case CMD_COPY: DIALOG_EditCopy(); break; case CMD_COPY: DIALOG_EditCopy(); break;
case CMD_PASTE: DIALOG_EditPaste(); break; case CMD_PASTE: DIALOG_EditPaste(); break;
case CMD_DELETE: DIALOG_EditDelete(); break; case CMD_DELETE: DIALOG_EditDelete(); break;
case CMD_SELECT_ALL: DIALOG_EditSelectAll(); break; case CMD_SELECT_ALL: DIALOG_EditSelectAll(); break;
case CMD_TIME_DATE: DIALOG_EditTimeDate(); break; case CMD_TIME_DATE: DIALOG_EditTimeDate(); break;
case CMD_SEARCH: DIALOG_Search(); break; case CMD_SEARCH: DIALOG_Search(); break;
case CMD_SEARCH_NEXT: DIALOG_SearchNext(); break; case CMD_SEARCH_NEXT: DIALOG_SearchNext(); break;
case CMD_REPLACE: DIALOG_Replace(); break; case CMD_REPLACE: DIALOG_Replace(); break;
case CMD_GOTO: DIALOG_GoTo(); break; case CMD_GOTO: DIALOG_GoTo(); break;
case CMD_WRAP: DIALOG_EditWrap(); break; case CMD_WRAP: DIALOG_EditWrap(); break;
case CMD_FONT: DIALOG_SelectFont(); break; case CMD_FONT: DIALOG_SelectFont(); break;
@ -87,8 +87,8 @@ static int NOTEPAD_MenuCommand(WPARAM wParam)
case CMD_STATUSBAR: DIALOG_ViewStatusBar(); break; case CMD_STATUSBAR: DIALOG_ViewStatusBar(); break;
case CMD_HELP_CONTENTS: DIALOG_HelpContents(); break; case CMD_HELP_CONTENTS: DIALOG_HelpContents(); break;
case CMD_HELP_SEARCH: DIALOG_HelpSearch(); break; case CMD_HELP_SEARCH: DIALOG_HelpSearch(); break;
case CMD_HELP_ON_HELP: DIALOG_HelpHelp(); break; case CMD_HELP_ON_HELP: DIALOG_HelpHelp(); break;
case CMD_ABOUT: case CMD_ABOUT:
DialogBox(GetModuleHandle(NULL), DialogBox(GetModuleHandle(NULL),
@ -97,7 +97,7 @@ static int NOTEPAD_MenuCommand(WPARAM wParam)
AboutDialogProc); AboutDialogProc);
break; break;
case CMD_ABOUT_WINE: DIALOG_HelpAboutWine(); break; case CMD_HELP_ABOUT_NOTEPAD: DIALOG_HelpAboutNotepad(); break;
default: default:
break; break;
@ -217,9 +217,9 @@ BOOL NOTEPAD_FindNext(FINDREPLACE *pFindReplace, BOOL bReplace, BOOL bShowAlert)
/* Can't find target */ /* Can't find target */
if (bShowAlert) if (bShowAlert)
{ {
LoadString(Globals.hInstance, STRING_CANNOTFIND, szResource, SIZEOF(szResource)); LoadString(Globals.hInstance, STRING_CANNOTFIND, szResource, ARRAY_SIZE(szResource));
_sntprintf(szText, SIZEOF(szText), szResource, pFindReplace->lpstrFindWhat); _sntprintf(szText, ARRAY_SIZE(szText), szResource, pFindReplace->lpstrFindWhat);
LoadString(Globals.hInstance, STRING_NOTEPAD, szResource, SIZEOF(szResource)); LoadString(Globals.hInstance, STRING_NOTEPAD, szResource, ARRAY_SIZE(szResource));
MessageBox(Globals.hFindReplaceDlg, szText, szResource, MB_OK); MessageBox(Globals.hFindReplaceDlg, szText, szResource, MB_OK);
} }
bSuccess = FALSE; bSuccess = FALSE;
@ -268,13 +268,16 @@ static VOID NOTEPAD_InitData(VOID)
p += LoadString(Globals.hInstance, STRING_TEXT_FILES_TXT, p, MAX_STRING_LEN) + 1; p += LoadString(Globals.hInstance, STRING_TEXT_FILES_TXT, p, MAX_STRING_LEN) + 1;
_tcscpy(p, txt_files); _tcscpy(p, txt_files);
p += SIZEOF(txt_files); p += ARRAY_SIZE(txt_files);
p += LoadString(Globals.hInstance, STRING_ALL_FILES, p, MAX_STRING_LEN) + 1; p += LoadString(Globals.hInstance, STRING_ALL_FILES, p, MAX_STRING_LEN) + 1;
_tcscpy(p, all_files); _tcscpy(p, all_files);
p += SIZEOF(all_files); p += ARRAY_SIZE(all_files);
*p = '\0'; *p = '\0';
Globals.find.lpstrFindWhat = NULL; Globals.find.lpstrFindWhat = NULL;
Globals.hDevMode = NULL;
Globals.hDevNames = NULL;
} }
/*********************************************************************** /***********************************************************************
@ -288,7 +291,7 @@ static VOID NOTEPAD_InitMenuPopup(HMENU menu, LPARAM index)
CheckMenuItem(GetMenu(Globals.hMainWnd), CMD_WRAP, CheckMenuItem(GetMenu(Globals.hMainWnd), CMD_WRAP,
MF_BYCOMMAND | (Globals.bWrapLongLines ? MF_CHECKED : MF_UNCHECKED)); MF_BYCOMMAND | (Globals.bWrapLongLines ? MF_CHECKED : MF_UNCHECKED));
if ( !Globals.bWrapLongLines ) if (!Globals.bWrapLongLines)
{ {
CheckMenuItem(GetMenu(Globals.hMainWnd), CMD_STATUSBAR, CheckMenuItem(GetMenu(Globals.hMainWnd), CMD_STATUSBAR,
MF_BYCOMMAND | (Globals.bShowStatusBar ? MF_CHECKED : MF_UNCHECKED)); MF_BYCOMMAND | (Globals.bShowStatusBar ? MF_CHECKED : MF_UNCHECKED));
@ -381,7 +384,7 @@ NOTEPAD_WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
case WM_DESTROY: case WM_DESTROY:
SetWindowLongPtr(Globals.hEdit, GWLP_WNDPROC, (LONG_PTR)Globals.EditProc); SetWindowLongPtr(Globals.hEdit, GWLP_WNDPROC, (LONG_PTR)Globals.EditProc);
SaveSettings(); NOTEPAD_SaveSettingsToRegistry();
PostQuitMessage(0); PostQuitMessage(0);
break; break;
@ -450,7 +453,7 @@ NOTEPAD_WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
TCHAR szFileName[MAX_PATH]; TCHAR szFileName[MAX_PATH];
HDROP hDrop = (HDROP) wParam; HDROP hDrop = (HDROP) wParam;
DragQueryFile(hDrop, 0, szFileName, SIZEOF(szFileName)); DragQueryFile(hDrop, 0, szFileName, ARRAY_SIZE(szFileName));
DragFinish(hDrop); DragFinish(hDrop);
DoOpenFile(szFileName); DoOpenFile(szFileName);
break; break;
@ -483,21 +486,9 @@ NOTEPAD_WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
static int AlertFileDoesNotExist(LPCTSTR szFileName) static int AlertFileDoesNotExist(LPCTSTR szFileName)
{ {
int nResult; return DIALOG_StringMsgBox(Globals.hMainWnd, STRING_DOESNOTEXIST,
TCHAR szMessage[MAX_STRING_LEN]; szFileName,
TCHAR szResource[MAX_STRING_LEN]; MB_ICONEXCLAMATION | MB_YESNO);
LoadString(Globals.hInstance, STRING_DOESNOTEXIST, szResource, SIZEOF(szResource));
wsprintf(szMessage, szResource, szFileName);
LoadString(Globals.hInstance, STRING_NOTEPAD, szResource, SIZEOF(szResource));
nResult = MessageBox(Globals.hMainWnd,
szMessage,
szResource,
MB_ICONEXCLAMATION | MB_YESNO);
return(nResult);
} }
static BOOL HandleCommandLine(LPTSTR cmdline) static BOOL HandleCommandLine(LPTSTR cmdline)
@ -617,7 +608,7 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE prev, LPTSTR cmdline, int sh
ZeroMemory(&Globals, sizeof(Globals)); ZeroMemory(&Globals, sizeof(Globals));
Globals.hInstance = hInstance; Globals.hInstance = hInstance;
LoadSettings(); NOTEPAD_LoadSettingsFromRegistry();
ZeroMemory(&wndclass, sizeof(wndclass)); ZeroMemory(&wndclass, sizeof(wndclass));
wndclass.cbSize = sizeof(wndclass); wndclass.cbSize = sizeof(wndclass);

View file

@ -21,7 +21,7 @@
#pragma once #pragma once
#define SIZEOF(a) (sizeof(a)/sizeof((a)[0])) #define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0]))
#include "notepad_res.h" #include "notepad_res.h"
@ -33,10 +33,22 @@
#define MAX_STRING_LEN 255 #define MAX_STRING_LEN 255
#define ENCODING_ANSI 0 /* Values are indexes of the items in the Encoding combobox. */
typedef enum
{
ENCODING_AUTO = -1,
ENCODING_ANSI = 0,
ENCODING_UTF16LE = 1,
ENCODING_UTF16BE = 2,
ENCODING_UTF8 = 3
} ENCODING;
// #define ENCODING_ANSI 0
#define ENCODING_UNICODE 1 #define ENCODING_UNICODE 1
#define ENCODING_UNICODE_BE 2 #define ENCODING_UNICODE_BE 2
#define ENCODING_UTF8 3 // #define ENCODING_UTF8 3
// #define MIN_ENCODING 0
// #define MAX_ENCODING 3
#define EOLN_CRLF 0 #define EOLN_CRLF 0
#define EOLN_LF 1 #define EOLN_LF 1
@ -68,7 +80,8 @@ typedef struct
TCHAR szHeader[MAX_PATH]; TCHAR szHeader[MAX_PATH];
TCHAR szFooter[MAX_PATH]; TCHAR szFooter[MAX_PATH];
TCHAR szStatusBarLineCol[MAX_PATH]; TCHAR szStatusBarLineCol[MAX_PATH];
int iEncoding;
ENCODING encFile;
int iEoln; int iEoln;
FINDREPLACE find; FINDREPLACE find;
@ -81,12 +94,12 @@ extern NOTEPAD_GLOBALS Globals;
VOID SetFileName(LPCTSTR szFileName); VOID SetFileName(LPCTSTR szFileName);
/* from text.c */ /* from text.c */
BOOL ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding, int *piEoln); BOOL ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *pencFile, int *piEoln);
BOOL WriteText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int iEncoding, int iEoln); BOOL WriteText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int encFile, int iEoln);
/* from settings.c */ /* from settings.c */
void LoadSettings(void); void NOTEPAD_LoadSettingsFromRegistry(void);
void SaveSettings(void); void NOTEPAD_SaveSettingsToRegistry(void);
/* from main.c */ /* from main.c */
BOOL NOTEPAD_FindNext(FINDREPLACE *, BOOL , BOOL ); BOOL NOTEPAD_FindNext(FINDREPLACE *, BOOL , BOOL );

View file

@ -65,7 +65,7 @@
#define CMD_HELP_SEARCH 0x131 #define CMD_HELP_SEARCH 0x131
#define CMD_HELP_ON_HELP 0x132 #define CMD_HELP_ON_HELP 0x132
#define CMD_ABOUT 0x135 #define CMD_ABOUT 0x135
#define CMD_ABOUT_WINE 0x137 #define CMD_HELP_ABOUT_NOTEPAD 0x137
/* Strings */ /* Strings */
#define STRING_PAGESETUP_HEADERVALUE 0x160 #define STRING_PAGESETUP_HEADERVALUE 0x160

View file

@ -105,7 +105,13 @@ static BOOL QueryString(HKEY hKey, LPCTSTR pszValueName, LPTSTR pszResult, DWORD
return QueryGeneric(hKey, pszValueName, REG_SZ, pszResult, dwResultSize * sizeof(TCHAR)); return QueryGeneric(hKey, pszValueName, REG_SZ, pszResult, dwResultSize * sizeof(TCHAR));
} }
void LoadSettings(void) /***********************************************************************
*
* NOTEPAD_LoadSettingsFromRegistry
*
* Load settings from registry HKCU\Software\Microsoft\Notepad.
*/
void NOTEPAD_LoadSettingsFromRegistry(void)
{ {
HKEY hKey = NULL; HKEY hKey = NULL;
HFONT hFont; HFONT hFont;
@ -124,7 +130,7 @@ void LoadSettings(void)
QueryByte(hKey, _T("lfCharSet"), &Globals.lfFont.lfCharSet); QueryByte(hKey, _T("lfCharSet"), &Globals.lfFont.lfCharSet);
QueryByte(hKey, _T("lfClipPrecision"), &Globals.lfFont.lfClipPrecision); QueryByte(hKey, _T("lfClipPrecision"), &Globals.lfFont.lfClipPrecision);
QueryDword(hKey, _T("lfEscapement"), (DWORD*)&Globals.lfFont.lfEscapement); QueryDword(hKey, _T("lfEscapement"), (DWORD*)&Globals.lfFont.lfEscapement);
QueryString(hKey, _T("lfFaceName"), Globals.lfFont.lfFaceName, sizeof(Globals.lfFont.lfFaceName) / sizeof(Globals.lfFont.lfFaceName[0])); QueryString(hKey, _T("lfFaceName"), Globals.lfFont.lfFaceName, ARRAY_SIZE(Globals.lfFont.lfFaceName));
QueryByte(hKey, _T("lfItalic"), &Globals.lfFont.lfItalic); QueryByte(hKey, _T("lfItalic"), &Globals.lfFont.lfItalic);
QueryDword(hKey, _T("lfOrientation"), (DWORD*)&Globals.lfFont.lfOrientation); QueryDword(hKey, _T("lfOrientation"), (DWORD*)&Globals.lfFont.lfOrientation);
QueryByte(hKey, _T("lfOutPrecision"), &Globals.lfFont.lfOutPrecision); QueryByte(hKey, _T("lfOutPrecision"), &Globals.lfFont.lfOutPrecision);
@ -136,8 +142,8 @@ void LoadSettings(void)
QueryDword(hKey, _T("iPointSize"), &dwPointSize); QueryDword(hKey, _T("iPointSize"), &dwPointSize);
QueryBool(hKey, _T("fWrap"), &Globals.bWrapLongLines); QueryBool(hKey, _T("fWrap"), &Globals.bWrapLongLines);
QueryBool(hKey, _T("fStatusBar"), &Globals.bShowStatusBar); QueryBool(hKey, _T("fStatusBar"), &Globals.bShowStatusBar);
QueryString(hKey, _T("szHeader"), Globals.szHeader, sizeof(Globals.szHeader) / sizeof(Globals.szHeader[0])); QueryString(hKey, _T("szHeader"), Globals.szHeader, ARRAY_SIZE(Globals.szHeader));
QueryString(hKey, _T("szTrailer"), Globals.szFooter, sizeof(Globals.szFooter) / sizeof(Globals.szFooter[0])); QueryString(hKey, _T("szTrailer"), Globals.szFooter, ARRAY_SIZE(Globals.szFooter));
QueryDword(hKey, _T("iMarginLeft"), (DWORD*)&Globals.lMarginLeft); QueryDword(hKey, _T("iMarginLeft"), (DWORD*)&Globals.lMarginLeft);
QueryDword(hKey, _T("iMarginTop"), (DWORD*)&Globals.lMarginTop); QueryDword(hKey, _T("iMarginTop"), (DWORD*)&Globals.lMarginTop);
QueryDword(hKey, _T("iMarginRight"), (DWORD*)&Globals.lMarginRight); QueryDword(hKey, _T("iMarginRight"), (DWORD*)&Globals.lMarginRight);
@ -179,15 +185,22 @@ static BOOL SaveString(HKEY hKey, LPCTSTR pszValueNameT, LPCTSTR pszValue)
return RegSetValueEx(hKey, pszValueNameT, 0, REG_SZ, (LPBYTE) pszValue, (DWORD) _tcslen(pszValue) * sizeof(*pszValue)) == ERROR_SUCCESS; return RegSetValueEx(hKey, pszValueNameT, 0, REG_SZ, (LPBYTE) pszValue, (DWORD) _tcslen(pszValue) * sizeof(*pszValue)) == ERROR_SUCCESS;
} }
void SaveSettings(void) /***********************************************************************
*
* NOTEPAD_SaveSettingsToRegistry
*
* Save settings to registry HKCU\Software\Microsoft\Notepad.
*/
void NOTEPAD_SaveSettingsToRegistry(void)
{ {
HKEY hKey; HKEY hKey;
DWORD dwDisposition; DWORD dwDisposition;
GetWindowRect(Globals.hMainWnd, &Globals.main_rect); GetWindowRect(Globals.hMainWnd, &Globals.main_rect);
if (RegCreateKeyEx(HKEY_CURRENT_USER, s_szRegistryKey, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition) if (RegCreateKeyEx(HKEY_CURRENT_USER, s_szRegistryKey,
== ERROR_SUCCESS) 0, NULL, 0, KEY_ALL_ACCESS, NULL,
&hKey, &dwDisposition) == ERROR_SUCCESS)
{ {
SaveDword(hKey, _T("lfCharSet"), Globals.lfFont.lfCharSet); SaveDword(hKey, _T("lfCharSet"), Globals.lfFont.lfCharSet);
SaveDword(hKey, _T("lfClipPrecision"), Globals.lfFont.lfClipPrecision); SaveDword(hKey, _T("lfClipPrecision"), Globals.lfFont.lfClipPrecision);
@ -214,6 +227,7 @@ void SaveSettings(void)
SaveDword(hKey, _T("iWindowPosY"), Globals.main_rect.top); SaveDword(hKey, _T("iWindowPosY"), Globals.main_rect.top);
SaveDword(hKey, _T("iWindowPosDX"), Globals.main_rect.right - Globals.main_rect.left); SaveDword(hKey, _T("iWindowPosDX"), Globals.main_rect.right - Globals.main_rect.left);
SaveDword(hKey, _T("iWindowPosDY"), Globals.main_rect.bottom - Globals.main_rect.top); SaveDword(hKey, _T("iWindowPosDY"), Globals.main_rect.bottom - Globals.main_rect.top);
RegCloseKey(hKey); RegCloseKey(hKey);
} }
} }

View file

@ -48,7 +48,7 @@ static BOOL Append(LPWSTR *ppszText, DWORD *pdwTextLen, LPCWSTR pszAppendText, D
} }
BOOL BOOL
ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding, int *piEoln) ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *pencFile, int *piEoln)
{ {
DWORD dwSize; DWORD dwSize;
LPBYTE pBytes = NULL; LPBYTE pBytes = NULL;
@ -58,7 +58,7 @@ ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding, int
DWORD dwCharCount; DWORD dwCharCount;
BOOL bSuccess = FALSE; BOOL bSuccess = FALSE;
BYTE b = 0; BYTE b = 0;
int iEncoding = ENCODING_ANSI; int encFile = ENCODING_ANSI;
int iCodePage = 0; int iCodePage = 0;
WCHAR szCrlf[2] = {'\r', '\n'}; WCHAR szCrlf[2] = {'\r', '\n'};
DWORD adwEolnCount[3] = {0, 0, 0}; DWORD adwEolnCount[3] = {0, 0, 0};
@ -85,21 +85,21 @@ ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding, int
/* Look for Byte Order Marks */ /* Look for Byte Order Marks */
if ((dwSize >= 2) && (pBytes[0] == 0xFF) && (pBytes[1] == 0xFE)) if ((dwSize >= 2) && (pBytes[0] == 0xFF) && (pBytes[1] == 0xFE))
{ {
iEncoding = ENCODING_UNICODE; encFile = ENCODING_UNICODE;
dwPos += 2; dwPos += 2;
} }
else if ((dwSize >= 2) && (pBytes[0] == 0xFE) && (pBytes[1] == 0xFF)) else if ((dwSize >= 2) && (pBytes[0] == 0xFE) && (pBytes[1] == 0xFF))
{ {
iEncoding = ENCODING_UNICODE_BE; encFile = ENCODING_UNICODE_BE;
dwPos += 2; dwPos += 2;
} }
else if ((dwSize >= 3) && (pBytes[0] == 0xEF) && (pBytes[1] == 0xBB) && (pBytes[2] == 0xBF)) else if ((dwSize >= 3) && (pBytes[0] == 0xEF) && (pBytes[1] == 0xBB) && (pBytes[2] == 0xBF))
{ {
iEncoding = ENCODING_UTF8; encFile = ENCODING_UTF8;
dwPos += 3; dwPos += 3;
} }
switch(iEncoding) switch(encFile)
{ {
case ENCODING_UNICODE_BE: case ENCODING_UNICODE_BE:
for (i = dwPos; i < dwSize-1; i += 2) for (i = dwPos; i < dwSize-1; i += 2)
@ -117,9 +117,9 @@ ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding, int
case ENCODING_ANSI: case ENCODING_ANSI:
case ENCODING_UTF8: case ENCODING_UTF8:
if (iEncoding == ENCODING_ANSI) if (encFile == ENCODING_ANSI)
iCodePage = CP_ACP; iCodePage = CP_ACP;
else if (iEncoding == ENCODING_UTF8) else if (encFile == ENCODING_UTF8)
iCodePage = CP_UTF8; iCodePage = CP_UTF8;
if ((dwSize - dwPos) > 0) if ((dwSize - dwPos) > 0)
@ -166,7 +166,7 @@ ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding, int
case '\n': case '\n':
if (!Append(ppszText, pdwTextLen, &pszText[dwPos], i - dwPos)) if (!Append(ppszText, pdwTextLen, &pszText[dwPos], i - dwPos))
return FALSE; return FALSE;
if (!Append(ppszText, pdwTextLen, szCrlf, sizeof(szCrlf) / sizeof(szCrlf[0]))) if (!Append(ppszText, pdwTextLen, szCrlf, ARRAY_SIZE(szCrlf)))
return FALSE; return FALSE;
dwPos = i + 1; dwPos = i + 1;
@ -202,7 +202,7 @@ ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding, int
*piEoln = EOLN_LF; *piEoln = EOLN_LF;
if (adwEolnCount[EOLN_CR] > adwEolnCount[*piEoln]) if (adwEolnCount[EOLN_CR] > adwEolnCount[*piEoln])
*piEoln = EOLN_CR; *piEoln = EOLN_CR;
*piEncoding = iEncoding; *pencFile = encFile;
bSuccess = TRUE; bSuccess = TRUE;
@ -221,7 +221,7 @@ done:
return bSuccess; return bSuccess;
} }
static BOOL WriteEncodedText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int iEncoding) static BOOL WriteEncodedText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int encFile)
{ {
LPBYTE pBytes = NULL; LPBYTE pBytes = NULL;
LPBYTE pAllocBuffer = NULL; LPBYTE pAllocBuffer = NULL;
@ -236,7 +236,7 @@ static BOOL WriteEncodedText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int
while(dwPos < dwTextLen) while(dwPos < dwTextLen)
{ {
switch(iEncoding) switch(encFile)
{ {
case ENCODING_UNICODE: case ENCODING_UNICODE:
pBytes = (LPBYTE) &pszText[dwPos]; pBytes = (LPBYTE) &pszText[dwPos];
@ -262,9 +262,9 @@ static BOOL WriteEncodedText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int
case ENCODING_ANSI: case ENCODING_ANSI:
case ENCODING_UTF8: case ENCODING_UTF8:
if (iEncoding == ENCODING_ANSI) if (encFile == ENCODING_ANSI)
iCodePage = CP_ACP; iCodePage = CP_ACP;
else if (iEncoding == ENCODING_UTF8) else if (encFile == ENCODING_UTF8)
iCodePage = CP_UTF8; iCodePage = CP_UTF8;
iRequiredBytes = WideCharToMultiByte(iCodePage, 0, &pszText[dwPos], dwTextLen - dwPos, NULL, 0, NULL, NULL); iRequiredBytes = WideCharToMultiByte(iCodePage, 0, &pszText[dwPos], dwTextLen - dwPos, NULL, 0, NULL, NULL);
@ -315,17 +315,17 @@ done:
return bSuccess; return bSuccess;
} }
BOOL WriteText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int iEncoding, int iEoln) BOOL WriteText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int encFile, int iEoln)
{ {
WCHAR wcBom; WCHAR wcBom;
LPCWSTR pszLF = L"\n"; LPCWSTR pszLF = L"\n";
DWORD dwPos, dwNext; DWORD dwPos, dwNext;
/* Write the proper byte order marks if not ANSI */ /* Write the proper byte order marks if not ANSI */
if (iEncoding != ENCODING_ANSI) if (encFile != ENCODING_ANSI)
{ {
wcBom = 0xFEFF; wcBom = 0xFEFF;
if (!WriteEncodedText(hFile, &wcBom, 1, iEncoding)) if (!WriteEncodedText(hFile, &wcBom, 1, encFile))
return FALSE; return FALSE;
} }
@ -350,20 +350,20 @@ BOOL WriteText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int iEncoding, in
{ {
case EOLN_LF: case EOLN_LF:
/* Write text (without eoln) */ /* Write text (without eoln) */
if (!WriteEncodedText(hFile, &pszText[dwPos], dwNext - dwPos, iEncoding)) if (!WriteEncodedText(hFile, &pszText[dwPos], dwNext - dwPos, encFile))
return FALSE; return FALSE;
/* Write eoln */ /* Write eoln */
if (!WriteEncodedText(hFile, pszLF, 1, iEncoding)) if (!WriteEncodedText(hFile, pszLF, 1, encFile))
return FALSE; return FALSE;
break; break;
case EOLN_CR: case EOLN_CR:
/* Write text (including \r as eoln) */ /* Write text (including \r as eoln) */
if (!WriteEncodedText(hFile, &pszText[dwPos], dwNext - dwPos + 1, iEncoding)) if (!WriteEncodedText(hFile, &pszText[dwPos], dwNext - dwPos + 1, encFile))
return FALSE; return FALSE;
break; break;
case EOLN_CRLF: case EOLN_CRLF:
/* Write text (including \r\n as eoln) */ /* Write text (including \r\n as eoln) */
if (!WriteEncodedText(hFile, &pszText[dwPos], dwNext - dwPos + 2, iEncoding)) if (!WriteEncodedText(hFile, &pszText[dwPos], dwNext - dwPos + 2, encFile))
return FALSE; return FALSE;
break; break;
default: default:
@ -373,7 +373,7 @@ BOOL WriteText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int iEncoding, in
else else
{ {
/* Write text (without eoln, since this is the end of the file) */ /* Write text (without eoln, since this is the end of the file) */
if (!WriteEncodedText(hFile, &pszText[dwPos], dwNext - dwPos, iEncoding)) if (!WriteEncodedText(hFile, &pszText[dwPos], dwNext - dwPos, encFile))
return FALSE; return FALSE;
} }