mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 21:44:31 +00:00
[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:
parent
95776e2e8e
commit
98f1285e6b
|
@ -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
|
||||
|
||||
|
|
@ -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);
|
||||
|
||||
#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)
|
||||
{
|
||||
DWORD error = GetLastError();
|
||||
|
@ -104,7 +43,7 @@ VOID ShowLastError(VOID)
|
|||
LPTSTR lpMsgBuf = NULL;
|
||||
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,
|
||||
NULL,
|
||||
|
@ -129,74 +68,68 @@ static void UpdateWindowCaption(void)
|
|||
TCHAR szCaption[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)
|
||||
{
|
||||
StringCchCopy(szCaption, SIZEOF(szCaption), Globals.szFileTitle);
|
||||
StringCchCopy(szCaption, ARRAY_SIZE(szCaption), Globals.szFileTitle);
|
||||
}
|
||||
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, SIZEOF(szCaption), szNotepad);
|
||||
StringCchCat(szCaption, ARRAY_SIZE(szCaption), _T(" - "));
|
||||
StringCchCat(szCaption, ARRAY_SIZE(szCaption), szNotepad);
|
||||
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 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, ARRAY_SIZE(szResource));
|
||||
_sntprintf(szMessage, ARRAY_SIZE(szMessage), szResource, szString);
|
||||
|
||||
/* 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 */
|
||||
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)
|
||||
{
|
||||
TCHAR szMessage[MAX_STRING_LEN];
|
||||
TCHAR szResource[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 */
|
||||
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(Globals.hMainWnd, STRING_NOTSAVED,
|
||||
szFileName[0] ? szFileName : szUntitled,
|
||||
MB_ICONQUESTION | MB_YESNOCANCEL);
|
||||
}
|
||||
|
||||
static void AlertPrintError(void)
|
||||
{
|
||||
TCHAR szMessage[MAX_STRING_LEN];
|
||||
TCHAR szResource[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 */
|
||||
LoadString(Globals.hInstance, STRING_PRINTERROR, szResource, SIZEOF(szResource));
|
||||
wsprintf(szMessage, szResource, Globals.szFileName[0] ? Globals.szFileName : szUntitled);
|
||||
|
||||
/* Load Caption */
|
||||
LoadString(Globals.hInstance, STRING_NOTEPAD, szResource, SIZEOF(szResource));
|
||||
|
||||
/* Display modal */
|
||||
MessageBox(Globals.hMainWnd, szMessage, szResource, MB_ICONEXCLAMATION);
|
||||
DIALOG_StringMsgBox(Globals.hMainWnd, STRING_NOTSAVED,
|
||||
Globals.szFileName[0] ? Globals.szFileName : szUntitled,
|
||||
MB_ICONEXCLAMATION | MB_OK);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -317,20 +250,9 @@ static BOOL DoSaveFile(VOID)
|
|||
}
|
||||
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 (!WriteText(hFile, (LPWSTR)pTemp, size, Globals.iEncoding, Globals.iEoln))
|
||||
if (!WriteText(hFile, (LPWSTR)pTemp, size, Globals.encFile, Globals.iEoln))
|
||||
{
|
||||
ShowLastError();
|
||||
bRet = FALSE;
|
||||
|
@ -404,18 +326,11 @@ VOID DoOpenFile(LPCTSTR szFileName)
|
|||
goto done;
|
||||
}
|
||||
|
||||
if (!ReadText(hFile, (LPWSTR *)&pszText, &dwTextLen, &Globals.iEncoding, &Globals.iEoln))
|
||||
if (!ReadText(hFile, (LPWSTR *)&pszText, &dwTextLen, &Globals.encFile, &Globals.iEoln))
|
||||
{
|
||||
ShowLastError();
|
||||
goto done;
|
||||
}
|
||||
#ifndef UNICODE
|
||||
pszText = ConvertToASCII(pszText);
|
||||
if (pszText == NULL) {
|
||||
ShowLastError();
|
||||
goto done;
|
||||
}
|
||||
#endif
|
||||
SetWindowText(Globals.hEdit, pszText);
|
||||
|
||||
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
|
||||
* 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");
|
||||
SendMessage(Globals.hEdit, EM_SETSEL, GetWindowTextLength(Globals.hEdit), -1);
|
||||
|
@ -463,7 +378,7 @@ VOID DIALOG_FileOpen(VOID)
|
|||
|
||||
ZeroMemory(&openfilename, sizeof(openfilename));
|
||||
|
||||
GetCurrentDirectory(SIZEOF(szDir), szDir);
|
||||
GetCurrentDirectory(ARRAY_SIZE(szDir), szDir);
|
||||
if (Globals.szFileName[0] == 0)
|
||||
_tcscpy(szPath, txt_files);
|
||||
else
|
||||
|
@ -474,7 +389,7 @@ VOID DIALOG_FileOpen(VOID)
|
|||
openfilename.hInstance = Globals.hInstance;
|
||||
openfilename.lpstrFilter = Globals.szFilter;
|
||||
openfilename.lpstrFile = szPath;
|
||||
openfilename.nMaxFile = SIZEOF(szPath);
|
||||
openfilename.nMaxFile = ARRAY_SIZE(szPath);
|
||||
openfilename.lpstrInitialDir = szDir;
|
||||
openfilename.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY;
|
||||
openfilename.lpstrDefExt = szDefaultExt;
|
||||
|
@ -509,29 +424,29 @@ DIALOG_FileSaveAs_Hook(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
case WM_INITDIALOG:
|
||||
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);
|
||||
|
||||
LoadString(Globals.hInstance, STRING_UNICODE, szText, SIZEOF(szText));
|
||||
LoadString(Globals.hInstance, STRING_UNICODE, szText, ARRAY_SIZE(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);
|
||||
|
||||
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_SETCURSEL, Globals.iEncoding, 0);
|
||||
SendMessage(hCombo, CB_SETCURSEL, Globals.encFile, 0);
|
||||
|
||||
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);
|
||||
|
||||
LoadString(Globals.hInstance, STRING_LF, szText, SIZEOF(szText));
|
||||
LoadString(Globals.hInstance, STRING_LF, szText, ARRAY_SIZE(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_SETCURSEL, Globals.iEoln, 0);
|
||||
|
@ -542,7 +457,7 @@ DIALOG_FileSaveAs_Hook(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
{
|
||||
hCombo = GetDlgItem(hDlg, ID_ENCODING);
|
||||
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);
|
||||
if (hCombo)
|
||||
|
@ -561,7 +476,7 @@ BOOL DIALOG_FileSaveAs(VOID)
|
|||
|
||||
ZeroMemory(&saveas, sizeof(saveas));
|
||||
|
||||
GetCurrentDirectory(SIZEOF(szDir), szDir);
|
||||
GetCurrentDirectory(ARRAY_SIZE(szDir), szDir);
|
||||
if (Globals.szFileName[0] == 0)
|
||||
_tcscpy(szPath, txt_files);
|
||||
else
|
||||
|
@ -572,7 +487,7 @@ BOOL DIALOG_FileSaveAs(VOID)
|
|||
saveas.hInstance = Globals.hInstance;
|
||||
saveas.lpstrFilter = Globals.szFilter;
|
||||
saveas.lpstrFile = szPath;
|
||||
saveas.nMaxFile = SIZEOF(szPath);
|
||||
saveas.nMaxFile = ARRAY_SIZE(szPath);
|
||||
saveas.lpstrInitialDir = szDir;
|
||||
saveas.Flags = OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY |
|
||||
OFN_EXPLORER | OFN_ENABLETEMPLATE | OFN_ENABLEHOOK;
|
||||
|
@ -1056,9 +971,9 @@ static VOID DIALOG_SearchDialog(FINDPROC pfnProc)
|
|||
Globals.find.hwndOwner = Globals.hMainWnd;
|
||||
Globals.find.hInstance = Globals.hInstance;
|
||||
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.wReplaceWithLen = SIZEOF(Globals.szReplaceText);
|
||||
Globals.find.wReplaceWithLen = ARRAY_SIZE(Globals.szReplaceText);
|
||||
Globals.find.Flags = FR_DOWN;
|
||||
|
||||
/* 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) {
|
||||
case WM_INITDIALOG:
|
||||
hTextBox = GetDlgItem(hwndDialog, ID_LINENUMBER);
|
||||
_sntprintf(szText, SIZEOF(szText), _T("%ld"), lParam);
|
||||
_sntprintf(szText, ARRAY_SIZE(szText), _T("%ld"), lParam);
|
||||
SetWindowText(hTextBox, szText);
|
||||
break;
|
||||
case WM_COMMAND:
|
||||
|
@ -1106,7 +1021,7 @@ DIALOG_GoTo_DialogProc(HWND hwndDialog, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
if (LOWORD(wParam) == IDOK)
|
||||
{
|
||||
hTextBox = GetDlgItem(hwndDialog, ID_LINENUMBER);
|
||||
GetWindowText(hTextBox, szText, SIZEOF(szText));
|
||||
GetWindowText(hTextBox, szText, ARRAY_SIZE(szText));
|
||||
EndDialog(hwndDialog, _ttoi(szText));
|
||||
bResult = TRUE;
|
||||
}
|
||||
|
@ -1200,9 +1115,16 @@ VOID DIALOG_HelpHelp(VOID)
|
|||
WinHelp(Globals.hMainWnd, helpfile, HELP_HELPONHELP, 0);
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4100)
|
||||
#endif
|
||||
VOID DIALOG_HelpAboutNotepad(VOID)
|
||||
{
|
||||
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
|
||||
CALLBACK
|
||||
AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
|
@ -1238,16 +1160,6 @@ AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
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
|
||||
|
@ -1296,8 +1208,8 @@ static UINT_PTR CALLBACK DIALOG_PAGESETUP_Hook(HWND hDlg, UINT msg, WPARAM wPara
|
|||
{
|
||||
case IDOK:
|
||||
/* save user input and close dialog */
|
||||
GetDlgItemText(hDlg, 0x141, Globals.szHeader, SIZEOF(Globals.szHeader));
|
||||
GetDlgItemText(hDlg, 0x143, Globals.szFooter, SIZEOF(Globals.szFooter));
|
||||
GetDlgItemText(hDlg, 0x141, Globals.szHeader, ARRAY_SIZE(Globals.szHeader));
|
||||
GetDlgItemText(hDlg, 0x143, Globals.szFooter, ARRAY_SIZE(Globals.szFooter));
|
||||
return FALSE;
|
||||
|
||||
case IDCANCEL:
|
||||
|
|
|
@ -52,10 +52,12 @@ VOID DIALOG_HelpSearch(VOID);
|
|||
VOID DIALOG_HelpHelp(VOID);
|
||||
VOID DIALOG_HelpLicense(VOID);
|
||||
VOID DIALOG_HelpNoWarranty(VOID);
|
||||
VOID DIALOG_HelpAboutWine(VOID);
|
||||
VOID DIALOG_HelpAboutNotepad(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);
|
||||
|
||||
/* utility functions */
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Помощ за помощта", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&За", CMD_ABOUT
|
||||
MENUITEM "С&ведения", CMD_ABOUT_WINE
|
||||
MENUITEM "С&ведения", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "Pomoc k ná&povědě", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&O programu...", CMD_ABOUT
|
||||
MENUITEM "In&fo...", CMD_ABOUT_WINE
|
||||
MENUITEM "In&fo...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Brug af Hjælp", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&About", CMD_ABOUT
|
||||
MENUITEM "&Om Notesblok", CMD_ABOUT_WINE
|
||||
MENUITEM "&Om Notesblok", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Hilfe benutzen", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Über", CMD_ABOUT
|
||||
MENUITEM "Inf&o", CMD_ABOUT_WINE
|
||||
MENUITEM "Inf&o", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Βοήθεια στη βοήθεια", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&About", CMD_ABOUT
|
||||
MENUITEM "Πληρο&φορίες", CMD_ABOUT_WINE
|
||||
MENUITEM "Πληρο&φορίες", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Help on help", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&About", CMD_ABOUT
|
||||
MENUITEM "Inf&o", CMD_ABOUT_WINE
|
||||
MENUITEM "Inf&o", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "A&yuda sobre la ayuda", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Acerca de", CMD_ABOUT
|
||||
MENUITEM "&Información...", CMD_ABOUT_WINE
|
||||
MENUITEM "&Información...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "Laguntzari buruz laguntza", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Ohar-blokari buruz", CMD_ABOUT
|
||||
MENUITEM "&Informazioa...", CMD_ABOUT_WINE
|
||||
MENUITEM "&Informazioa...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "Apua &Opastuksesta", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&About", CMD_ABOUT
|
||||
MENUITEM "Inf&o...", CMD_ABOUT_WINE
|
||||
MENUITEM "Inf&o...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Utiliser l'aide", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&À propos", CMD_ABOUT
|
||||
MENUITEM "Inf&o...", CMD_ABOUT_WINE
|
||||
MENUITEM "Inf&o...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "עזרה בעזרה", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "אודות", CMD_ABOUT
|
||||
MENUITEM "מידע", CMD_ABOUT_WINE
|
||||
MENUITEM "מידע", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Használat", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&About", CMD_ABOUT
|
||||
MENUITEM "Inf&ormáció...", CMD_ABOUT_WINE
|
||||
MENUITEM "Inf&ormáció...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Օգնությոն օգտագործում", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Ծրագրի մասին", CMD_ABOUT
|
||||
MENUITEM "&Տեղեկություն...", CMD_ABOUT_WINE
|
||||
MENUITEM "&Տեղեկություն...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Bantuan pada bantuan", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Tentang", CMD_ABOUT
|
||||
MENUITEM "Inf&o", CMD_ABOUT_WINE
|
||||
MENUITEM "Inf&o", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Aiuto sulla Guida", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Informazioni &su blocco note", CMD_ABOUT
|
||||
MENUITEM "Inf&o...", CMD_ABOUT_WINE
|
||||
MENUITEM "Inf&o...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "ヘルプの使い方(&H)", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "バージョン情報(&A)", CMD_ABOUT
|
||||
MENUITEM "情報(&O)", CMD_ABOUT_WINE
|
||||
MENUITEM "情報(&O)", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Pagalba", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Apie Notepad", CMD_ABOUT
|
||||
MENUITEM "Apie &ReactOS", CMD_ABOUT_WINE
|
||||
MENUITEM "Apie &ReactOS", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Hulp bij Help", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&About", CMD_ABOUT
|
||||
MENUITEM "Inf&o...", CMD_ABOUT_WINE
|
||||
MENUITEM "Inf&o...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Hjelp om hjelp", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Om", CMD_ABOUT
|
||||
MENUITEM "&Infomasjon", CMD_ABOUT_WINE
|
||||
MENUITEM "&Infomasjon", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "Pomo&c", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Notatnik - informacje", CMD_ABOUT
|
||||
MENUITEM "&ReactOS - informacje", CMD_ABOUT_WINE
|
||||
MENUITEM "&ReactOS - informacje", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Ajuda na ajuda", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Sobre", CMD_ABOUT
|
||||
MENUITEM "&Informações...", CMD_ABOUT_WINE
|
||||
MENUITEM "&Informações...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Ajuda na ajuda", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Sobre", CMD_ABOUT
|
||||
MENUITEM "&Informações...", CMD_ABOUT_WINE
|
||||
MENUITEM "&Informações...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ BEGIN
|
|||
MENUITEM "M&anualul manualului", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Despre…", CMD_ABOUT
|
||||
MENUITEM "&Info…", CMD_ABOUT_WINE
|
||||
MENUITEM "&Info…", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Использование справки", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&О программе", CMD_ABOUT
|
||||
MENUITEM "&Сведения...", CMD_ABOUT_WINE
|
||||
MENUITEM "&Сведения...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@ BEGIN
|
|||
MENUITEM "&Pomoc", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
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
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&O pomoèi", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&About", CMD_ABOUT
|
||||
MENUITEM "Inf&ormacije ...", CMD_ABOUT_WINE
|
||||
MENUITEM "Inf&ormacije ...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ BEGIN
|
|||
MENUITEM "Ndihmë për ndihmë", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Rreth", CMD_ABOUT
|
||||
MENUITEM "Inf&o", CMD_ABOUT_WINE
|
||||
MENUITEM "Inf&o", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "Anvisningar för hjälpen", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Om &Anteckningar", CMD_ABOUT
|
||||
MENUITEM "Inf&ormation...", CMD_ABOUT_WINE
|
||||
MENUITEM "Inf&ormation...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "เกี่ยวกับช่วยเหลีอ", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&About", CMD_ABOUT
|
||||
MENUITEM "รายละเอียด...", CMD_ABOUT_WINE
|
||||
MENUITEM "รายละเอียด...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ BEGIN
|
|||
MENUITEM "&Yardım İçin Yardım", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Bilgi...", CMD_ABOUT
|
||||
MENUITEM "&Üzerine...", CMD_ABOUT_WINE
|
||||
MENUITEM "&Üzerine...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "Використ&ання довідки", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Про", CMD_ABOUT
|
||||
MENUITEM "Про програм&у", CMD_ABOUT_WINE
|
||||
MENUITEM "Про програм&у", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "&Использование справки", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Bloknot h&aqida", CMD_ABOUT
|
||||
MENUITEM "&Сведения...", CMD_ABOUT_WINE
|
||||
MENUITEM "&Сведения...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ BEGIN
|
|||
MENUITEM "如何使用帮助(&H)", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "关于(&A)", CMD_ABOUT
|
||||
MENUITEM "资料信息(&O)...", CMD_ABOUT_WINE
|
||||
MENUITEM "资料信息(&O)...", CMD_HELP_ABOUT_NOTEPAD
|
||||
END
|
||||
END
|
||||
|
||||
|
|
|
@ -45,9 +45,9 @@ VOID NOTEPAD_EnableSearchMenu()
|
|||
*/
|
||||
VOID SetFileName(LPCTSTR szFileName)
|
||||
{
|
||||
StringCchCopy(Globals.szFileName, SIZEOF(Globals.szFileName), szFileName);
|
||||
StringCchCopy(Globals.szFileName, ARRAY_SIZE(Globals.szFileName), szFileName);
|
||||
Globals.szFileTitle[0] = 0;
|
||||
GetFileTitle(szFileName, Globals.szFileTitle, SIZEOF(Globals.szFileTitle));
|
||||
GetFileTitle(szFileName, Globals.szFileTitle, ARRAY_SIZE(Globals.szFileTitle));
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
|
@ -97,7 +97,7 @@ static int NOTEPAD_MenuCommand(WPARAM wParam)
|
|||
AboutDialogProc);
|
||||
break;
|
||||
|
||||
case CMD_ABOUT_WINE: DIALOG_HelpAboutWine(); break;
|
||||
case CMD_HELP_ABOUT_NOTEPAD: DIALOG_HelpAboutNotepad(); break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
@ -217,9 +217,9 @@ BOOL NOTEPAD_FindNext(FINDREPLACE *pFindReplace, BOOL bReplace, BOOL bShowAlert)
|
|||
/* Can't find target */
|
||||
if (bShowAlert)
|
||||
{
|
||||
LoadString(Globals.hInstance, STRING_CANNOTFIND, szResource, SIZEOF(szResource));
|
||||
_sntprintf(szText, SIZEOF(szText), szResource, pFindReplace->lpstrFindWhat);
|
||||
LoadString(Globals.hInstance, STRING_NOTEPAD, szResource, SIZEOF(szResource));
|
||||
LoadString(Globals.hInstance, STRING_CANNOTFIND, szResource, ARRAY_SIZE(szResource));
|
||||
_sntprintf(szText, ARRAY_SIZE(szText), szResource, pFindReplace->lpstrFindWhat);
|
||||
LoadString(Globals.hInstance, STRING_NOTEPAD, szResource, ARRAY_SIZE(szResource));
|
||||
MessageBox(Globals.hFindReplaceDlg, szText, szResource, MB_OK);
|
||||
}
|
||||
bSuccess = FALSE;
|
||||
|
@ -268,13 +268,16 @@ static VOID NOTEPAD_InitData(VOID)
|
|||
|
||||
p += LoadString(Globals.hInstance, STRING_TEXT_FILES_TXT, p, MAX_STRING_LEN) + 1;
|
||||
_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;
|
||||
_tcscpy(p, all_files);
|
||||
p += SIZEOF(all_files);
|
||||
p += ARRAY_SIZE(all_files);
|
||||
*p = '\0';
|
||||
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,
|
||||
MF_BYCOMMAND | (Globals.bWrapLongLines ? MF_CHECKED : MF_UNCHECKED));
|
||||
if ( !Globals.bWrapLongLines )
|
||||
if (!Globals.bWrapLongLines)
|
||||
{
|
||||
CheckMenuItem(GetMenu(Globals.hMainWnd), CMD_STATUSBAR,
|
||||
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:
|
||||
SetWindowLongPtr(Globals.hEdit, GWLP_WNDPROC, (LONG_PTR)Globals.EditProc);
|
||||
SaveSettings();
|
||||
NOTEPAD_SaveSettingsToRegistry();
|
||||
PostQuitMessage(0);
|
||||
break;
|
||||
|
||||
|
@ -450,7 +453,7 @@ NOTEPAD_WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
TCHAR szFileName[MAX_PATH];
|
||||
HDROP hDrop = (HDROP) wParam;
|
||||
|
||||
DragQueryFile(hDrop, 0, szFileName, SIZEOF(szFileName));
|
||||
DragQueryFile(hDrop, 0, szFileName, ARRAY_SIZE(szFileName));
|
||||
DragFinish(hDrop);
|
||||
DoOpenFile(szFileName);
|
||||
break;
|
||||
|
@ -483,21 +486,9 @@ NOTEPAD_WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
static int AlertFileDoesNotExist(LPCTSTR szFileName)
|
||||
{
|
||||
int nResult;
|
||||
TCHAR szMessage[MAX_STRING_LEN];
|
||||
TCHAR szResource[MAX_STRING_LEN];
|
||||
|
||||
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,
|
||||
return DIALOG_StringMsgBox(Globals.hMainWnd, STRING_DOESNOTEXIST,
|
||||
szFileName,
|
||||
MB_ICONEXCLAMATION | MB_YESNO);
|
||||
|
||||
return(nResult);
|
||||
}
|
||||
|
||||
static BOOL HandleCommandLine(LPTSTR cmdline)
|
||||
|
@ -617,7 +608,7 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE prev, LPTSTR cmdline, int sh
|
|||
|
||||
ZeroMemory(&Globals, sizeof(Globals));
|
||||
Globals.hInstance = hInstance;
|
||||
LoadSettings();
|
||||
NOTEPAD_LoadSettingsFromRegistry();
|
||||
|
||||
ZeroMemory(&wndclass, sizeof(wndclass));
|
||||
wndclass.cbSize = sizeof(wndclass);
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#define SIZEOF(a) (sizeof(a)/sizeof((a)[0]))
|
||||
#define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0]))
|
||||
|
||||
#include "notepad_res.h"
|
||||
|
||||
|
@ -33,10 +33,22 @@
|
|||
|
||||
#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_BE 2
|
||||
#define ENCODING_UTF8 3
|
||||
// #define ENCODING_UTF8 3
|
||||
|
||||
// #define MIN_ENCODING 0
|
||||
// #define MAX_ENCODING 3
|
||||
|
||||
#define EOLN_CRLF 0
|
||||
#define EOLN_LF 1
|
||||
|
@ -68,7 +80,8 @@ typedef struct
|
|||
TCHAR szHeader[MAX_PATH];
|
||||
TCHAR szFooter[MAX_PATH];
|
||||
TCHAR szStatusBarLineCol[MAX_PATH];
|
||||
int iEncoding;
|
||||
|
||||
ENCODING encFile;
|
||||
int iEoln;
|
||||
|
||||
FINDREPLACE find;
|
||||
|
@ -81,12 +94,12 @@ extern NOTEPAD_GLOBALS Globals;
|
|||
VOID SetFileName(LPCTSTR szFileName);
|
||||
|
||||
/* from text.c */
|
||||
BOOL ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding, int *piEoln);
|
||||
BOOL WriteText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int iEncoding, int iEoln);
|
||||
BOOL ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *pencFile, int *piEoln);
|
||||
BOOL WriteText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int encFile, int iEoln);
|
||||
|
||||
/* from settings.c */
|
||||
void LoadSettings(void);
|
||||
void SaveSettings(void);
|
||||
void NOTEPAD_LoadSettingsFromRegistry(void);
|
||||
void NOTEPAD_SaveSettingsToRegistry(void);
|
||||
|
||||
/* from main.c */
|
||||
BOOL NOTEPAD_FindNext(FINDREPLACE *, BOOL , BOOL );
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
#define CMD_HELP_SEARCH 0x131
|
||||
#define CMD_HELP_ON_HELP 0x132
|
||||
#define CMD_ABOUT 0x135
|
||||
#define CMD_ABOUT_WINE 0x137
|
||||
#define CMD_HELP_ABOUT_NOTEPAD 0x137
|
||||
|
||||
/* Strings */
|
||||
#define STRING_PAGESETUP_HEADERVALUE 0x160
|
||||
|
|
|
@ -105,7 +105,13 @@ static BOOL QueryString(HKEY hKey, LPCTSTR pszValueName, LPTSTR pszResult, DWORD
|
|||
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;
|
||||
HFONT hFont;
|
||||
|
@ -124,7 +130,7 @@ void LoadSettings(void)
|
|||
QueryByte(hKey, _T("lfCharSet"), &Globals.lfFont.lfCharSet);
|
||||
QueryByte(hKey, _T("lfClipPrecision"), &Globals.lfFont.lfClipPrecision);
|
||||
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);
|
||||
QueryDword(hKey, _T("lfOrientation"), (DWORD*)&Globals.lfFont.lfOrientation);
|
||||
QueryByte(hKey, _T("lfOutPrecision"), &Globals.lfFont.lfOutPrecision);
|
||||
|
@ -136,8 +142,8 @@ void LoadSettings(void)
|
|||
QueryDword(hKey, _T("iPointSize"), &dwPointSize);
|
||||
QueryBool(hKey, _T("fWrap"), &Globals.bWrapLongLines);
|
||||
QueryBool(hKey, _T("fStatusBar"), &Globals.bShowStatusBar);
|
||||
QueryString(hKey, _T("szHeader"), Globals.szHeader, sizeof(Globals.szHeader) / sizeof(Globals.szHeader[0]));
|
||||
QueryString(hKey, _T("szTrailer"), Globals.szFooter, sizeof(Globals.szFooter) / sizeof(Globals.szFooter[0]));
|
||||
QueryString(hKey, _T("szHeader"), Globals.szHeader, ARRAY_SIZE(Globals.szHeader));
|
||||
QueryString(hKey, _T("szTrailer"), Globals.szFooter, ARRAY_SIZE(Globals.szFooter));
|
||||
QueryDword(hKey, _T("iMarginLeft"), (DWORD*)&Globals.lMarginLeft);
|
||||
QueryDword(hKey, _T("iMarginTop"), (DWORD*)&Globals.lMarginTop);
|
||||
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;
|
||||
}
|
||||
|
||||
void SaveSettings(void)
|
||||
/***********************************************************************
|
||||
*
|
||||
* NOTEPAD_SaveSettingsToRegistry
|
||||
*
|
||||
* Save settings to registry HKCU\Software\Microsoft\Notepad.
|
||||
*/
|
||||
void NOTEPAD_SaveSettingsToRegistry(void)
|
||||
{
|
||||
HKEY hKey;
|
||||
DWORD dwDisposition;
|
||||
|
||||
GetWindowRect(Globals.hMainWnd, &Globals.main_rect);
|
||||
|
||||
if (RegCreateKeyEx(HKEY_CURRENT_USER, s_szRegistryKey, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition)
|
||||
== ERROR_SUCCESS)
|
||||
if (RegCreateKeyEx(HKEY_CURRENT_USER, s_szRegistryKey,
|
||||
0, NULL, 0, KEY_ALL_ACCESS, NULL,
|
||||
&hKey, &dwDisposition) == ERROR_SUCCESS)
|
||||
{
|
||||
SaveDword(hKey, _T("lfCharSet"), Globals.lfFont.lfCharSet);
|
||||
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("iWindowPosDX"), Globals.main_rect.right - Globals.main_rect.left);
|
||||
SaveDword(hKey, _T("iWindowPosDY"), Globals.main_rect.bottom - Globals.main_rect.top);
|
||||
|
||||
RegCloseKey(hKey);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ static BOOL Append(LPWSTR *ppszText, DWORD *pdwTextLen, LPCWSTR pszAppendText, D
|
|||
}
|
||||
|
||||
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;
|
||||
LPBYTE pBytes = NULL;
|
||||
|
@ -58,7 +58,7 @@ ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding, int
|
|||
DWORD dwCharCount;
|
||||
BOOL bSuccess = FALSE;
|
||||
BYTE b = 0;
|
||||
int iEncoding = ENCODING_ANSI;
|
||||
int encFile = ENCODING_ANSI;
|
||||
int iCodePage = 0;
|
||||
WCHAR szCrlf[2] = {'\r', '\n'};
|
||||
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 */
|
||||
if ((dwSize >= 2) && (pBytes[0] == 0xFF) && (pBytes[1] == 0xFE))
|
||||
{
|
||||
iEncoding = ENCODING_UNICODE;
|
||||
encFile = ENCODING_UNICODE;
|
||||
dwPos += 2;
|
||||
}
|
||||
else if ((dwSize >= 2) && (pBytes[0] == 0xFE) && (pBytes[1] == 0xFF))
|
||||
{
|
||||
iEncoding = ENCODING_UNICODE_BE;
|
||||
encFile = ENCODING_UNICODE_BE;
|
||||
dwPos += 2;
|
||||
}
|
||||
else if ((dwSize >= 3) && (pBytes[0] == 0xEF) && (pBytes[1] == 0xBB) && (pBytes[2] == 0xBF))
|
||||
{
|
||||
iEncoding = ENCODING_UTF8;
|
||||
encFile = ENCODING_UTF8;
|
||||
dwPos += 3;
|
||||
}
|
||||
|
||||
switch(iEncoding)
|
||||
switch(encFile)
|
||||
{
|
||||
case ENCODING_UNICODE_BE:
|
||||
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_UTF8:
|
||||
if (iEncoding == ENCODING_ANSI)
|
||||
if (encFile == ENCODING_ANSI)
|
||||
iCodePage = CP_ACP;
|
||||
else if (iEncoding == ENCODING_UTF8)
|
||||
else if (encFile == ENCODING_UTF8)
|
||||
iCodePage = CP_UTF8;
|
||||
|
||||
if ((dwSize - dwPos) > 0)
|
||||
|
@ -166,7 +166,7 @@ ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding, int
|
|||
case '\n':
|
||||
if (!Append(ppszText, pdwTextLen, &pszText[dwPos], i - dwPos))
|
||||
return FALSE;
|
||||
if (!Append(ppszText, pdwTextLen, szCrlf, sizeof(szCrlf) / sizeof(szCrlf[0])))
|
||||
if (!Append(ppszText, pdwTextLen, szCrlf, ARRAY_SIZE(szCrlf)))
|
||||
return FALSE;
|
||||
dwPos = i + 1;
|
||||
|
||||
|
@ -202,7 +202,7 @@ ReadText(HANDLE hFile, LPWSTR *ppszText, DWORD *pdwTextLen, int *piEncoding, int
|
|||
*piEoln = EOLN_LF;
|
||||
if (adwEolnCount[EOLN_CR] > adwEolnCount[*piEoln])
|
||||
*piEoln = EOLN_CR;
|
||||
*piEncoding = iEncoding;
|
||||
*pencFile = encFile;
|
||||
|
||||
bSuccess = TRUE;
|
||||
|
||||
|
@ -221,7 +221,7 @@ done:
|
|||
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 pAllocBuffer = NULL;
|
||||
|
@ -236,7 +236,7 @@ static BOOL WriteEncodedText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int
|
|||
|
||||
while(dwPos < dwTextLen)
|
||||
{
|
||||
switch(iEncoding)
|
||||
switch(encFile)
|
||||
{
|
||||
case ENCODING_UNICODE:
|
||||
pBytes = (LPBYTE) &pszText[dwPos];
|
||||
|
@ -262,9 +262,9 @@ static BOOL WriteEncodedText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int
|
|||
|
||||
case ENCODING_ANSI:
|
||||
case ENCODING_UTF8:
|
||||
if (iEncoding == ENCODING_ANSI)
|
||||
if (encFile == ENCODING_ANSI)
|
||||
iCodePage = CP_ACP;
|
||||
else if (iEncoding == ENCODING_UTF8)
|
||||
else if (encFile == ENCODING_UTF8)
|
||||
iCodePage = CP_UTF8;
|
||||
|
||||
iRequiredBytes = WideCharToMultiByte(iCodePage, 0, &pszText[dwPos], dwTextLen - dwPos, NULL, 0, NULL, NULL);
|
||||
|
@ -315,17 +315,17 @@ done:
|
|||
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;
|
||||
LPCWSTR pszLF = L"\n";
|
||||
DWORD dwPos, dwNext;
|
||||
|
||||
/* Write the proper byte order marks if not ANSI */
|
||||
if (iEncoding != ENCODING_ANSI)
|
||||
if (encFile != ENCODING_ANSI)
|
||||
{
|
||||
wcBom = 0xFEFF;
|
||||
if (!WriteEncodedText(hFile, &wcBom, 1, iEncoding))
|
||||
if (!WriteEncodedText(hFile, &wcBom, 1, encFile))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -350,20 +350,20 @@ BOOL WriteText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int iEncoding, in
|
|||
{
|
||||
case EOLN_LF:
|
||||
/* Write text (without eoln) */
|
||||
if (!WriteEncodedText(hFile, &pszText[dwPos], dwNext - dwPos, iEncoding))
|
||||
if (!WriteEncodedText(hFile, &pszText[dwPos], dwNext - dwPos, encFile))
|
||||
return FALSE;
|
||||
/* Write eoln */
|
||||
if (!WriteEncodedText(hFile, pszLF, 1, iEncoding))
|
||||
if (!WriteEncodedText(hFile, pszLF, 1, encFile))
|
||||
return FALSE;
|
||||
break;
|
||||
case EOLN_CR:
|
||||
/* 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;
|
||||
break;
|
||||
case EOLN_CRLF:
|
||||
/* 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;
|
||||
break;
|
||||
default:
|
||||
|
@ -373,7 +373,7 @@ BOOL WriteText(HANDLE hFile, LPCWSTR pszText, DWORD dwTextLen, int iEncoding, in
|
|||
else
|
||||
{
|
||||
/* 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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue