https://git.reactos.org/?p=reactos.git;a=commitdiff;h=064ac123d136d4b2a7022b...
commit 064ac123d136d4b2a7022b76a04208718aaa6bd0 Author: Katayama Hirofumi MZ katayama.hirofumi.mz@gmail.com AuthorDate: Tue Mar 7 14:42:27 2023 +0900 Commit: GitHub noreply@github.com CommitDate: Tue Mar 7 14:42:27 2023 +0900
[NOTEPAD] Improve printing (header/footer/tabs/performance) (#5111)
- Fix GetPrintingRect function. - Add DrawHeaderOrFooter, DoPrintBody, DoPrintPage, DoCreatePrintFonts, and DoPrintDocument helper functions. - Implement page header/footer and tabs printing in DIALOG_FilePrint function. - Improve printing performance. - Modify the header/footer resource strings. - Delete the needless resource strings. CORE-18837 --- base/applications/notepad/dialog.c | 575 +++++++++++++++++++++----------- base/applications/notepad/lang/bg-BG.rc | 8 +- base/applications/notepad/lang/cs-CZ.rc | 8 +- base/applications/notepad/lang/da-DK.rc | 8 +- base/applications/notepad/lang/de-DE.rc | 8 +- base/applications/notepad/lang/el-GR.rc | 8 +- base/applications/notepad/lang/en-US.rc | 8 +- base/applications/notepad/lang/es-ES.rc | 8 +- base/applications/notepad/lang/et-EE.rc | 8 +- base/applications/notepad/lang/eu-ES.rc | 8 +- base/applications/notepad/lang/fi-FI.rc | 8 +- base/applications/notepad/lang/fr-FR.rc | 8 +- base/applications/notepad/lang/he-IL.rc | 8 +- base/applications/notepad/lang/hi-IN.rc | 8 +- base/applications/notepad/lang/hr-HR.rc | 8 +- base/applications/notepad/lang/hu-HU.rc | 8 +- base/applications/notepad/lang/hy-AM.rc | 8 +- base/applications/notepad/lang/id-ID.rc | 8 +- base/applications/notepad/lang/it-IT.rc | 8 +- base/applications/notepad/lang/ja-JP.rc | 8 +- base/applications/notepad/lang/lt-LT.rc | 8 +- base/applications/notepad/lang/ms-MY.rc | 8 +- base/applications/notepad/lang/nl-NL.rc | 8 +- base/applications/notepad/lang/no-NO.rc | 8 +- base/applications/notepad/lang/pl-PL.rc | 8 +- base/applications/notepad/lang/pt-BR.rc | 8 +- base/applications/notepad/lang/pt-PT.rc | 8 +- base/applications/notepad/lang/ro-RO.rc | 8 +- base/applications/notepad/lang/ru-RU.rc | 8 +- base/applications/notepad/lang/sk-SK.rc | 8 +- base/applications/notepad/lang/sl-SI.rc | 8 +- base/applications/notepad/lang/sq-AL.rc | 8 +- base/applications/notepad/lang/sv-SE.rc | 8 +- base/applications/notepad/lang/th-TH.rc | 8 +- base/applications/notepad/lang/tr-TR.rc | 8 +- base/applications/notepad/lang/uk-UA.rc | 8 +- base/applications/notepad/lang/uz-UZ.rc | 8 +- base/applications/notepad/lang/zh-CN.rc | 8 +- base/applications/notepad/lang/zh-HK.rc | 8 +- base/applications/notepad/lang/zh-TW.rc | 8 +- base/applications/notepad/notepad_res.h | 4 - 41 files changed, 466 insertions(+), 425 deletions(-)
diff --git a/base/applications/notepad/dialog.c b/base/applications/notepad/dialog.c index 0d4272b1bb5..d9c71447264 100644 --- a/base/applications/notepad/dialog.c +++ b/base/applications/notepad/dialog.c @@ -281,26 +281,31 @@ int GetSelectionText(HWND hWnd, LPTSTR lpString, int nMaxCount) }
static RECT -GetPrintingRect(HDC hdc, RECT margins) +GetPrintingRect(IN HDC hdc, IN LPCRECT pMargins) { - int iLogPixelsX, iLogPixelsY; - int iHorzRes, iVertRes; - int iPhysPageX, iPhysPageY, iPhysPageW, iPhysPageH; - RECT rcPrintRect; - - iPhysPageX = GetDeviceCaps(hdc, PHYSICALOFFSETX); - iPhysPageY = GetDeviceCaps(hdc, PHYSICALOFFSETY); - iPhysPageW = GetDeviceCaps(hdc, PHYSICALWIDTH); - iPhysPageH = GetDeviceCaps(hdc, PHYSICALHEIGHT); - iLogPixelsX = GetDeviceCaps(hdc, LOGPIXELSX); - iLogPixelsY = GetDeviceCaps(hdc, LOGPIXELSY); - iHorzRes = GetDeviceCaps(hdc, HORZRES); - iVertRes = GetDeviceCaps(hdc, VERTRES); - - rcPrintRect.left = (margins.left * iLogPixelsX / 2540) - iPhysPageX; - rcPrintRect.top = (margins.top * iLogPixelsY / 2540) - iPhysPageY; - rcPrintRect.right = iHorzRes - (((margins.left * iLogPixelsX / 2540) - iPhysPageX) + ((margins.right * iLogPixelsX / 2540) - (iPhysPageW - iPhysPageX - iHorzRes))); - rcPrintRect.bottom = iVertRes - (((margins.top * iLogPixelsY / 2540) - iPhysPageY) + ((margins.bottom * iLogPixelsY / 2540) - (iPhysPageH - iPhysPageY - iVertRes))); + INT iLogPixelsX = GetDeviceCaps(hdc, LOGPIXELSX); + INT iLogPixelsY = GetDeviceCaps(hdc, LOGPIXELSY); + INT iHorzRes = GetDeviceCaps(hdc, HORZRES); /* in pixels */ + INT iVertRes = GetDeviceCaps(hdc, VERTRES); /* in pixels */ + RECT rcPrintRect, rcPhysical; + +#define CONVERT_X(x) MulDiv((x), iLogPixelsX, 2540) /* 100th millimeters to pixels */ +#define CONVERT_Y(y) MulDiv((y), iLogPixelsY, 2540) /* 100th millimeters to pixels */ + SetRect(&rcPrintRect, + CONVERT_X(pMargins->left), CONVERT_Y(pMargins->top), + iHorzRes - CONVERT_X(pMargins->right), + iVertRes - CONVERT_Y(pMargins->bottom)); + + rcPhysical.left = GetDeviceCaps(hdc, PHYSICALOFFSETX); + rcPhysical.right = rcPhysical.left + GetDeviceCaps(hdc, PHYSICALWIDTH); + rcPhysical.top = GetDeviceCaps(hdc, PHYSICALOFFSETY); + rcPhysical.bottom = rcPhysical.top + GetDeviceCaps(hdc, PHYSICALHEIGHT); + + /* Adjust the margin */ + rcPrintRect.left = max(rcPrintRect.left, rcPhysical.left); + rcPrintRect.top = max(rcPrintRect.top, rcPhysical.top); + rcPrintRect.right = min(rcPrintRect.right, rcPhysical.right); + rcPrintRect.bottom = min(rcPrintRect.bottom, rcPhysical.bottom);
return rcPrintRect; } @@ -614,219 +619,415 @@ BOOL DIALOG_FileSaveAs(VOID) } }
-VOID DIALOG_FilePrint(VOID) +/* Convert the points into pixels */ +#define X_POINTS_TO_PIXELS(hDC, points) MulDiv((points), GetDeviceCaps((hDC), LOGPIXELSX), 72) +#define Y_POINTS_TO_PIXELS(hDC, points) MulDiv((points), GetDeviceCaps((hDC), LOGPIXELSY), 72) + +/* + * See also: + * https://support.microsoft.com/en-us/windows/changing-header-and-footer-comma... + */ +static VOID +DrawHeaderOrFooter(HDC hDC, LPRECT pRect, LPCTSTR pszFormat, INT nPageNo, const SYSTEMTIME *pstNow) { - DOCINFO di; - TEXTMETRIC tm; - PRINTDLG printer; - SIZE szMetric; - int border; - int xLeft, yTop, pagecount, dopage, copycount; - unsigned int i; - LOGFONT hdrFont; - HFONT font, old_font=0; - DWORD size; - LPTSTR pTemp; - static const TCHAR times_new_roman[] = _T("Times New Roman"); - RECT rcPrintRect; - - /* Get a small font and print some header info on each page */ - ZeroMemory(&hdrFont, sizeof(hdrFont)); - hdrFont.lfHeight = 100; - hdrFont.lfWeight = FW_BOLD; - hdrFont.lfCharSet = ANSI_CHARSET; - hdrFont.lfOutPrecision = OUT_DEFAULT_PRECIS; - hdrFont.lfClipPrecision = CLIP_DEFAULT_PRECIS; - hdrFont.lfQuality = PROOF_QUALITY; - hdrFont.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN; - _tcscpy(hdrFont.lfFaceName, times_new_roman); - - font = CreateFontIndirect(&hdrFont); + TCHAR szText[256], szField[128]; + const TCHAR *pchFormat; + UINT uAlign = DT_CENTER, uFlags = DT_SINGLELINE | DT_VCENTER | DT_NOPREFIX; + HGDIOBJ hOldPen, hOldBrush;
- /* Get Current Settings */ - ZeroMemory(&printer, sizeof(printer)); - printer.lStructSize = sizeof(printer); - printer.hwndOwner = Globals.hMainWnd; - printer.hInstance = Globals.hInstance; + /* Draw a rectangle */ + hOldPen = SelectObject(hDC, GetStockObject(BLACK_PEN)); + hOldBrush = SelectObject(hDC, GetStockObject(NULL_BRUSH)); + Rectangle(hDC, pRect->left, pRect->top, pRect->right, pRect->bottom); + SelectObject(hDC, hOldBrush); + SelectObject(hDC, hOldPen);
- /* Set some default flags */ - printer.Flags = PD_RETURNDC | PD_SELECTION; + InflateRect(pRect, -X_POINTS_TO_PIXELS(hDC, 3), 0); /* Shrink 3pt */
- /* Disable the selection radio button if there is no text selected */ - if (!GetSelectionTextLength(Globals.hEdit)) + szText[0] = 0; + + for (pchFormat = pszFormat; *pchFormat; ++pchFormat) { - printer.Flags = printer.Flags | PD_NOSELECTION; - } + if (*pchFormat != _T('&')) + { + StringCchCatN(szText, ARRAY_SIZE(szText), pchFormat, 1); + continue; + }
- printer.nFromPage = 0; - printer.nMinPage = 1; - /* we really need to calculate number of pages to set nMaxPage and nToPage */ - printer.nToPage = (WORD)-1; - printer.nMaxPage = (WORD)-1; + ++pchFormat; + if (*pchFormat == 0) + break;
- /* Let commdlg manage copy settings */ - printer.nCopies = (WORD)PD_USEDEVMODECOPIES; + switch (_totupper(*pchFormat)) /* Make it uppercase */ + { + case _T('&'): /* Found double ampersand */ + StringCchCat(szText, ARRAY_SIZE(szText), TEXT("&")); + break;
- printer.hDevMode = Globals.hDevMode; - printer.hDevNames = Globals.hDevNames; + case _T('L'): /* Left */ + DrawText(hDC, szText, -1, pRect, uAlign | uFlags); + szText[0] = 0; + uAlign = DT_LEFT; + break;
- if (!PrintDlg(&printer)) - { - DeleteObject(font); - return; - } + case _T('C'): /* Center */ + DrawText(hDC, szText, -1, pRect, uAlign | uFlags); + szText[0] = 0; + uAlign = DT_CENTER; + break;
- Globals.hDevMode = printer.hDevMode; - Globals.hDevNames = printer.hDevNames; + case _T('R'): /* Right */ + DrawText(hDC, szText, -1, pRect, uAlign | uFlags); + szText[0] = 0; + uAlign = DT_RIGHT; + break; + + case _T('D'): /* Date */ + GetDateFormat(LOCALE_USER_DEFAULT, 0, pstNow, NULL, + szField, (INT)ARRAY_SIZE(szField)); + StringCchCat(szText, ARRAY_SIZE(szText), szField); + break; + + case _T('T'): /* Time */ + GetTimeFormat(LOCALE_USER_DEFAULT, 0, pstNow, NULL, + szField, (INT)ARRAY_SIZE(szField)); + StringCchCat(szText, ARRAY_SIZE(szText), szField); + break;
- assert(printer.hDC != 0); + case _T('F'): /* Filename */ + StringCchCat(szText, ARRAY_SIZE(szText), Globals.szFileTitle); + break;
- /* initialize DOCINFO */ - di.cbSize = sizeof(DOCINFO); - di.lpszDocName = Globals.szFileTitle; - di.lpszOutput = NULL; - di.lpszDatatype = NULL; - di.fwType = 0; + case _T('P'): /* Page number */ + StringCchPrintf(szField, ARRAY_SIZE(szField), TEXT("%u"), nPageNo); + StringCchCat(szText, ARRAY_SIZE(szText), szField); + break;
- if (StartDoc(printer.hDC, &di) <= 0) + default: /* Otherwise */ + szField[0] = _T('&'); + szField[1] = *pchFormat; + szField[2] = 0; + StringCchCat(szText, ARRAY_SIZE(szText), szField); + break; + } + } + + DrawText(hDC, szText, -1, pRect, uAlign | uFlags); +} + +typedef struct +{ + LPPRINTDLG pPrinter; + RECT printRect; + SYSTEMTIME stNow; + HFONT hHeaderFont; + HFONT hBodyFont; + LPTSTR pszText; + DWORD ich; + DWORD cchText; + INT cyHeader; + INT cySpacing; + INT cyFooter; +} PRINT_DATA, *PPRINT_DATA; + +static BOOL DoPrintBody(PPRINT_DATA pData, DWORD PageCount, BOOL bSkipPage) +{ + LPPRINTDLG pPrinter = pData->pPrinter; + RECT printRect = pData->printRect; + INT xLeft = printRect.left, yTop = printRect.top + pData->cyHeader + pData->cySpacing; + INT xStart, tabWidth; + DWORD ichStart; + SIZE charMetrics; + TEXTMETRIC tmText; + + /* Calculate a tab width */ +#define TAB_STOP 8 + GetTextMetrics(pPrinter->hDC, &tmText); + tabWidth = TAB_STOP * tmText.tmAveCharWidth; + +#define DO_FLUSH() do { \ + if (ichStart < pData->ich && !bSkipPage) { \ + TextOut(pPrinter->hDC, xStart, yTop, &pData->pszText[ichStart], pData->ich - ichStart); \ + } \ + ichStart = pData->ich; \ + xStart = xLeft; \ +} while (0) + + /* The drawing-body loop */ + for (ichStart = pData->ich, xStart = xLeft; pData->ich < pData->cchText; ) { - DeleteObject(font); - return; + TCHAR ch = pData->pszText[pData->ich]; + + if (ch == _T('\r')) + { + DO_FLUSH(); + + pData->ich++; /* Next char */ + ichStart = pData->ich; + continue; + } + + if (ch == _T('\n')) + { + DO_FLUSH(); + + /* Next line */ + yTop += tmText.tmHeight; + xLeft = xStart = printRect.left; + } + else + { + if (ch == _T('\t')) + { + INT nStepWidth = tabWidth - ((xLeft - printRect.left) % tabWidth); + + DO_FLUSH(); + + /* Go to the next tab stop */ + xLeft += nStepWidth; + xStart = xLeft; + } + else /* Normal char */ + { + GetTextExtentPoint32(pPrinter->hDC, &ch, 1, &charMetrics); + xLeft += charMetrics.cx; + } + + /* Insert a line break if the next position reached the right edge */ + if (xLeft + charMetrics.cx >= printRect.right) + { + if (ch != _T('\t')) + DO_FLUSH(); + + /* Next line */ + yTop += tmText.tmHeight; + xLeft = xStart = printRect.left; + } + } + + pData->ich++; /* Next char */ + if (ch == _T('\t') || ch == _T('\n')) + ichStart = pData->ich; + + if (yTop + tmText.tmHeight >= printRect.bottom - pData->cyFooter) + break; /* The next line reached the body bottom */ }
+ DO_FLUSH(); + return TRUE; +} + +static BOOL DoPrintPage(PPRINT_DATA pData, DWORD PageCount) +{ + LPPRINTDLG pPrinter = pData->pPrinter; + BOOL bSkipPage; + HFONT hOldFont; + + /* Should we skip this page? */ + bSkipPage = !(pPrinter->Flags & PD_SELECTION) && + (pPrinter->Flags & PD_PAGENUMS) && + !(pPrinter->nFromPage <= PageCount && PageCount <= pPrinter->nToPage);
- /* Get the file text */ - if (printer.Flags & PD_SELECTION) + /* The prologue of a page */ + if (!bSkipPage) { - size = GetSelectionTextLength(Globals.hEdit) + 1; + if (StartPage(pPrinter->hDC) <= 0) + { + AlertPrintError(); + return FALSE; + } + + if (pData->cyHeader > 0) + { + /* Draw the page header */ + RECT rc = pData->printRect; + rc.bottom = rc.top + pData->cyHeader; + + hOldFont = SelectObject(pPrinter->hDC, pData->hHeaderFont); + DrawHeaderOrFooter(pPrinter->hDC, &rc, Globals.szHeader, PageCount, &pData->stNow); + SelectObject(pPrinter->hDC, hOldFont); /* De-select the font */ + } } - else + + hOldFont = SelectObject(pPrinter->hDC, pData->hBodyFont); + DoPrintBody(pData, PageCount, bSkipPage); + SelectObject(pPrinter->hDC, hOldFont); + + /* The epilogue of a page */ + if (!bSkipPage) { - size = GetWindowTextLength(Globals.hEdit) + 1; + if (pData->cyFooter > 0) + { + /* Draw the page footer */ + RECT rc = pData->printRect; + rc.top = rc.bottom - pData->cyFooter; + + hOldFont = SelectObject(pPrinter->hDC, pData->hHeaderFont); + DrawHeaderOrFooter(pPrinter->hDC, &rc, Globals.szFooter, PageCount, &pData->stNow); + SelectObject(pPrinter->hDC, hOldFont); + } + + if (EndPage(pPrinter->hDC) <= 0) + { + AlertPrintError(); + return FALSE; + } }
- pTemp = HeapAlloc(GetProcessHeap(), 0, size * sizeof(TCHAR)); - if (!pTemp) + return TRUE; +} + +#define HEADER_FONT_SIZE 11 /* 11pt */ +#define BODY_FONT_SIZE 9 /* 9pt */ +#define SPACING_HEIGHT 4 /* 4pt */ + +static BOOL DoCreatePrintFonts(LPPRINTDLG pPrinter, PPRINT_DATA pPrintData) +{ + LOGFONT lfBody, lfHeader; + + /* Create the main text font for printing */ + lfBody = Globals.lfFont; + lfBody.lfHeight = -Y_POINTS_TO_PIXELS(pPrinter->hDC, HEADER_FONT_SIZE); + pPrintData->hBodyFont = CreateFontIndirect(&lfBody); + if (pPrintData->hBodyFont == NULL) + return FALSE; + + /* Create the header/footer font */ + ZeroMemory(&lfHeader, sizeof(lfHeader)); + lfHeader.lfHeight = -Y_POINTS_TO_PIXELS(pPrinter->hDC, BODY_FONT_SIZE); + lfHeader.lfWeight = FW_BOLD; + lfHeader.lfCharSet = DEFAULT_CHARSET; + StringCchCopy(lfHeader.lfFaceName, ARRAY_SIZE(lfHeader.lfFaceName), lfBody.lfFaceName); + pPrintData->hHeaderFont = CreateFontIndirect(&lfHeader); + if (pPrintData->hHeaderFont == NULL) + return FALSE; + + return TRUE; +} + +static BOOL DoPrintDocument(LPPRINTDLG pPrinter) +{ + DOCINFO docInfo; + PRINT_DATA printData = { pPrinter }; + DWORD CopyCount, PageCount; + TEXTMETRIC tmHeader; + BOOL ret = FALSE; + HFONT hOldFont; + + GetLocalTime(&printData.stNow); + + printData.printRect = GetPrintingRect(pPrinter->hDC, &Globals.lMargins); + + if (!DoCreatePrintFonts(pPrinter, &printData)) { - EndDoc(printer.hDC); - DeleteObject(font); ShowLastError(); - return; + goto Quit; }
- if (printer.Flags & PD_SELECTION) + if (pPrinter->Flags & PD_SELECTION) + printData.cchText = GetSelectionTextLength(Globals.hEdit); + else + printData.cchText = GetWindowTextLength(Globals.hEdit); + + /* Allocate a buffer for the text */ + printData.pszText = HeapAlloc(GetProcessHeap(), 0, (printData.cchText + 1) * sizeof(TCHAR)); + if (!printData.pszText) { - size = GetSelectionText(Globals.hEdit, pTemp, size); + ShowLastError(); + goto Quit; } + + if (pPrinter->Flags & PD_SELECTION) + GetSelectionText(Globals.hEdit, printData.pszText, printData.cchText + 1); else + GetWindowText(Globals.hEdit, printData.pszText, printData.cchText + 1); + + /* Start a document */ + ZeroMemory(&docInfo, sizeof(docInfo)); + docInfo.cbSize = sizeof(DOCINFO); + docInfo.lpszDocName = Globals.szFileTitle; + if (StartDoc(pPrinter->hDC, &docInfo) <= 0) { - size = GetWindowText(Globals.hEdit, pTemp, size); + AlertPrintError(); + goto Quit; }
- /* Get the current printing area */ - rcPrintRect = GetPrintingRect(printer.hDC, Globals.lMargins); - - /* Ensure that each logical unit maps to one pixel */ - SetMapMode(printer.hDC, MM_TEXT); + /* Calculate the header and footer heights */ + hOldFont = SelectObject(pPrinter->hDC, printData.hHeaderFont); + GetTextMetrics(pPrinter->hDC, &tmHeader); + printData.cyHeader = printData.cyFooter = 2 * tmHeader.tmHeight; + printData.cySpacing = Y_POINTS_TO_PIXELS(pPrinter->hDC, SPACING_HEIGHT); + SelectObject(pPrinter->hDC, hOldFont); /* De-select the font */ + if (!Globals.szHeader[0]) + printData.cyHeader = printData.cySpacing = 0; + if (!Globals.szFooter[0]) + printData.cyFooter = 0; + + /* The printing-copies loop */ + for (CopyCount = 1; CopyCount <= pPrinter->nCopies; ++CopyCount) + { + /* The printing-pages loop */ + for (PageCount = 1, printData.ich = 0; printData.ich < printData.cchText; ++PageCount) + { + if (!DoPrintPage(&printData, PageCount)) + { + AbortDoc(pPrinter->hDC); /* Cancel printing */ + goto Quit; + } + } + }
- /* Needed to get the correct height of a text line */ - GetTextMetrics(printer.hDC, &tm); + if (EndDoc(pPrinter->hDC) <= 0) + AlertPrintError(); + else + ret = TRUE; + +Quit: /* Clean up */ + DeleteObject(printData.hHeaderFont); + DeleteObject(printData.hBodyFont); + if (printData.pszText) + HeapFree(GetProcessHeap(), 0, printData.pszText); + return ret; +}
- border = 15; - for (copycount=1; copycount <= printer.nCopies; copycount++) { - i = 0; - pagecount = 1; - do { - /* Don't start a page if none of the conditions below are true */ - dopage = 0; +VOID DIALOG_FilePrint(VOID) +{ + PRINTDLG printer;
- /* The user wants to print the current selection */ - if (printer.Flags & PD_SELECTION) - { - dopage = 1; - } + /* Get Current Settings */ + ZeroMemory(&printer, sizeof(printer)); + printer.lStructSize = sizeof(printer); + printer.hwndOwner = Globals.hMainWnd; + printer.hInstance = Globals.hInstance;
- /* The user wants to print the entire document */ - if (!(printer.Flags & PD_PAGENUMS) && !(printer.Flags & PD_SELECTION)) - { - dopage = 1; - } + /* Set some default flags */ + printer.Flags = PD_RETURNDC | PD_SELECTION;
- /* The user wants to print a specified range of pages */ - if ((pagecount >= printer.nFromPage && pagecount <= printer.nToPage)) - { - dopage = 1; - } + /* Disable the selection radio button if there is no text selected */ + if (!GetSelectionTextLength(Globals.hEdit)) + printer.Flags |= PD_NOSELECTION;
- old_font = SelectObject(printer.hDC, font); - - if (dopage) { - if (StartPage(printer.hDC) <= 0) { - SelectObject(printer.hDC, old_font); - EndDoc(printer.hDC); - DeleteDC(printer.hDC); - HeapFree(GetProcessHeap(), 0, pTemp); - DeleteObject(font); - AlertPrintError(); - return; - } + printer.nFromPage = 1; + printer.nToPage = MAXWORD; + printer.nMinPage = 1; + printer.nMaxPage = MAXWORD;
- SetViewportOrgEx(printer.hDC, rcPrintRect.left, rcPrintRect.top, NULL); - - /* Write a rectangle and header at the top of each page */ - Rectangle(printer.hDC, border, border, rcPrintRect.right - border, border + tm.tmHeight * 2); - /* I don't know what's up with this TextOut command. This comes out - kind of mangled. - */ - TextOut(printer.hDC, - border * 2, - border + tm.tmHeight / 2, - Globals.szFileTitle, - lstrlen(Globals.szFileTitle)); - } + printer.hDevMode = Globals.hDevMode; + printer.hDevNames = Globals.hDevNames;
- /* The starting point for the main text */ - xLeft = 0; - yTop = border + tm.tmHeight * 4; + if (!PrintDlg(&printer)) + return; /* The user canceled printing */
- SelectObject(printer.hDC, old_font); + assert(printer.hDC != NULL); + Globals.hDevMode = printer.hDevMode; + Globals.hDevNames = printer.hDevNames;
- /* Since outputting strings is giving me problems, output the main - * text one character at a time. */ - do { - if (pTemp[i] == '\n') { - xLeft = 0; - yTop += tm.tmHeight; - } - else if (pTemp[i] != '\r') { - if (dopage) - TextOut(printer.hDC, xLeft, yTop, &pTemp[i], 1); - - /* We need to get the width for each individual char, since a proportional font may be used */ - GetTextExtentPoint32(printer.hDC, &pTemp[i], 1, &szMetric); - xLeft += szMetric.cx; - - /* Insert a line break if the current line does not fit into the printing area */ - if (xLeft > rcPrintRect.right) - { - xLeft = 0; - yTop = yTop + tm.tmHeight; - } - } - } while (i++ < size && yTop < rcPrintRect.bottom); + /* Ensure that each logical unit maps to one pixel */ + SetMapMode(printer.hDC, MM_TEXT);
- if (dopage) - EndPage(printer.hDC); - pagecount++; - } while (i < size); - } + DoPrintDocument(&printer);
- if (old_font != 0) - SelectObject(printer.hDC, old_font); - EndDoc(printer.hDC); DeleteDC(printer.hDC); - HeapFree(GetProcessHeap(), 0, pTemp); - DeleteObject(font); }
VOID DIALOG_FileExit(VOID) diff --git a/base/applications/notepad/lang/bg-BG.rc b/base/applications/notepad/lang/bg-BG.rc index 6f638b9ead2..ffc30a206db 100644 --- a/base/applications/notepad/lang/bg-BG.rc +++ b/base/applications/notepad/lang/bg-BG.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Страница &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 мм" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 мм" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 мм" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 мм" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Страница &p" STRING_NOTEPAD "Бележник" STRING_ERROR "ГРЕШКА" STRING_WARNING "ПРЕДУПРЕЖДЕНИЕ" diff --git a/base/applications/notepad/lang/cs-CZ.rc b/base/applications/notepad/lang/cs-CZ.rc index 6b3a41a8673..71c65359bdb 100644 --- a/base/applications/notepad/lang/cs-CZ.rc +++ b/base/applications/notepad/lang/cs-CZ.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Strana &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Strana &p" STRING_NOTEPAD "Notepad" STRING_ERROR "CHYBA" STRING_WARNING "VAROVÁNÍ" diff --git a/base/applications/notepad/lang/da-DK.rc b/base/applications/notepad/lang/da-DK.rc index 50e250611cf..e44e6089e75 100644 --- a/base/applications/notepad/lang/da-DK.rc +++ b/base/applications/notepad/lang/da-DK.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Side &s" - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Side &p" STRING_NOTEPAD "Notesblok" STRING_ERROR "Fejl" STRING_WARNING "Advarsel" diff --git a/base/applications/notepad/lang/de-DE.rc b/base/applications/notepad/lang/de-DE.rc index 367c4bf1c29..86219a879f4 100644 --- a/base/applications/notepad/lang/de-DE.rc +++ b/base/applications/notepad/lang/de-DE.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Seite &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Seite &p" STRING_NOTEPAD "Editor" STRING_ERROR "Fehler" STRING_WARNING "Achtung" diff --git a/base/applications/notepad/lang/el-GR.rc b/base/applications/notepad/lang/el-GR.rc index 5aab21d86ea..3cef55cd8db 100644 --- a/base/applications/notepad/lang/el-GR.rc +++ b/base/applications/notepad/lang/el-GR.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Σελίδα &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Σελίδα &p" STRING_NOTEPAD "Notepad" STRING_ERROR "ERROR" STRING_WARNING "WARNING" diff --git a/base/applications/notepad/lang/en-US.rc b/base/applications/notepad/lang/en-US.rc index 50f5578e83d..1aaf9c43a33 100644 --- a/base/applications/notepad/lang/en-US.rc +++ b/base/applications/notepad/lang/en-US.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Page &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Page &p" STRING_NOTEPAD "Notepad" STRING_ERROR "ERROR" STRING_WARNING "WARNING" diff --git a/base/applications/notepad/lang/es-ES.rc b/base/applications/notepad/lang/es-ES.rc index 5e84bf21445..46abc699626 100644 --- a/base/applications/notepad/lang/es-ES.rc +++ b/base/applications/notepad/lang/es-ES.rc @@ -134,12 +134,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Página &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Página &p" STRING_NOTEPAD "Bloc de notas" STRING_ERROR "ERROR" STRING_WARNING "ADVERTENCIA" diff --git a/base/applications/notepad/lang/et-EE.rc b/base/applications/notepad/lang/et-EE.rc index a0bcf0bf1c6..55583c79f11 100644 --- a/base/applications/notepad/lang/et-EE.rc +++ b/base/applications/notepad/lang/et-EE.rc @@ -140,12 +140,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Lk &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Lk &p" STRING_NOTEPAD "Notepad" STRING_ERROR "TÕRGE" STRING_WARNING "HOIATUS" diff --git a/base/applications/notepad/lang/eu-ES.rc b/base/applications/notepad/lang/eu-ES.rc index 7378bd87a34..074f3e280a0 100644 --- a/base/applications/notepad/lang/eu-ES.rc +++ b/base/applications/notepad/lang/eu-ES.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Orriak" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Orriak &p" STRING_NOTEPAD "Ohar-bloka" STRING_ERROR "ERROREA" STRING_WARNING "OHARRA" diff --git a/base/applications/notepad/lang/fi-FI.rc b/base/applications/notepad/lang/fi-FI.rc index af260b19698..112b1a909aa 100644 --- a/base/applications/notepad/lang/fi-FI.rc +++ b/base/applications/notepad/lang/fi-FI.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Sivu &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Sivu &p" STRING_NOTEPAD "Notepad" STRING_ERROR "VIRHE" STRING_WARNING "VAROITUS" diff --git a/base/applications/notepad/lang/fr-FR.rc b/base/applications/notepad/lang/fr-FR.rc index dc4f17032bb..407deb3feab 100644 --- a/base/applications/notepad/lang/fr-FR.rc +++ b/base/applications/notepad/lang/fr-FR.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Page &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Page &p" STRING_NOTEPAD "Bloc-notes" STRING_ERROR "ERREUR" STRING_WARNING "ATTENTION" diff --git a/base/applications/notepad/lang/he-IL.rc b/base/applications/notepad/lang/he-IL.rc index c611b674a89..0ccac31217c 100644 --- a/base/applications/notepad/lang/he-IL.rc +++ b/base/applications/notepad/lang/he-IL.rc @@ -135,12 +135,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "עמוד &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 מ""מ" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 מ""מ" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 מ""מ" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 מ""מ" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "עמוד &p" STRING_NOTEPAD "פנקס רשימות" STRING_ERROR "שגיאה" STRING_WARNING "אזהרה" diff --git a/base/applications/notepad/lang/hi-IN.rc b/base/applications/notepad/lang/hi-IN.rc index 67d9c87684d..f66e29898fd 100644 --- a/base/applications/notepad/lang/hi-IN.rc +++ b/base/applications/notepad/lang/hi-IN.rc @@ -139,12 +139,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Page &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Page &p" STRING_NOTEPAD "नोटपैड" STRING_ERROR "त्रुटि" STRING_WARNING "वॉर्निंग" diff --git a/base/applications/notepad/lang/hr-HR.rc b/base/applications/notepad/lang/hr-HR.rc index 6e201827d4d..8d69778a17d 100644 --- a/base/applications/notepad/lang/hr-HR.rc +++ b/base/applications/notepad/lang/hr-HR.rc @@ -139,12 +139,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Stranica &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Stranica &p" STRING_NOTEPAD "Blok za pisanje" STRING_ERROR "Greška" STRING_WARNING "Upozorenje" diff --git a/base/applications/notepad/lang/hu-HU.rc b/base/applications/notepad/lang/hu-HU.rc index 6ee0bdaee9a..4fb13be84ee 100644 --- a/base/applications/notepad/lang/hu-HU.rc +++ b/base/applications/notepad/lang/hu-HU.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Oldalszám: &s." /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Oldalszám: &p." STRING_NOTEPAD "Jegyzettömb" STRING_ERROR "HIBA" STRING_WARNING "FIGYELMEZTETÉS" diff --git a/base/applications/notepad/lang/hy-AM.rc b/base/applications/notepad/lang/hy-AM.rc index 66574a6c560..b570d30e510 100644 --- a/base/applications/notepad/lang/hy-AM.rc +++ b/base/applications/notepad/lang/hy-AM.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Էջ &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Էջ &p" STRING_NOTEPAD "Բլոկնոտ" STRING_ERROR "ՍԽԱԼ" STRING_WARNING "ՈԻՇԱԴՐՈՒԹՅՈՒՆ" diff --git a/base/applications/notepad/lang/id-ID.rc b/base/applications/notepad/lang/id-ID.rc index 3c00fb80c68..1bf3230f469 100644 --- a/base/applications/notepad/lang/id-ID.rc +++ b/base/applications/notepad/lang/id-ID.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Halaman &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Halaman &p" STRING_NOTEPAD "Notepad" STRING_ERROR "Kesalahan" STRING_WARNING "Peringatan" diff --git a/base/applications/notepad/lang/it-IT.rc b/base/applications/notepad/lang/it-IT.rc index 1c5c0766b95..4cba0c5eb0a 100644 --- a/base/applications/notepad/lang/it-IT.rc +++ b/base/applications/notepad/lang/it-IT.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Pagina &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Pagina &p" STRING_NOTEPAD "Blocco note" STRING_ERROR "ERRORE" STRING_WARNING "ATTENZIONE" diff --git a/base/applications/notepad/lang/ja-JP.rc b/base/applications/notepad/lang/ja-JP.rc index cb5f34450aa..bc50047fac0 100644 --- a/base/applications/notepad/lang/ja-JP.rc +++ b/base/applications/notepad/lang/ja-JP.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "&s ページ" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "ページ &p" STRING_NOTEPAD "メモ帳" STRING_ERROR "エラー" STRING_WARNING "警告" diff --git a/base/applications/notepad/lang/lt-LT.rc b/base/applications/notepad/lang/lt-LT.rc index f3f30f389c3..1cd4f99306c 100644 --- a/base/applications/notepad/lang/lt-LT.rc +++ b/base/applications/notepad/lang/lt-LT.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Puslapis &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Puslapis &p" STRING_NOTEPAD "Notepad" STRING_ERROR "KLAIDA" STRING_WARNING "ĮSPĖJIMAS" diff --git a/base/applications/notepad/lang/ms-MY.rc b/base/applications/notepad/lang/ms-MY.rc index c218b23f6ca..2c08f7fc548 100644 --- a/base/applications/notepad/lang/ms-MY.rc +++ b/base/applications/notepad/lang/ms-MY.rc @@ -134,12 +134,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Page &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Page &p" STRING_NOTEPAD "Notepad" STRING_ERROR "RALAT" STRING_WARNING "AMARAN" diff --git a/base/applications/notepad/lang/nl-NL.rc b/base/applications/notepad/lang/nl-NL.rc index a5767cb7e0d..dce7657c783 100644 --- a/base/applications/notepad/lang/nl-NL.rc +++ b/base/applications/notepad/lang/nl-NL.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Pagina &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Pagina &p" STRING_NOTEPAD "Kladblok" STRING_ERROR "FOUT" STRING_WARNING "WAARSCHUWING" diff --git a/base/applications/notepad/lang/no-NO.rc b/base/applications/notepad/lang/no-NO.rc index 1612b9913c0..4cb8c26aed4 100644 --- a/base/applications/notepad/lang/no-NO.rc +++ b/base/applications/notepad/lang/no-NO.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Side &r" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Side &p" STRING_NOTEPAD "Notisblokk" STRING_ERROR "FEIL" STRING_WARNING "ADVARSEL" diff --git a/base/applications/notepad/lang/pl-PL.rc b/base/applications/notepad/lang/pl-PL.rc index fb9af935eb7..ba60d5ec329 100644 --- a/base/applications/notepad/lang/pl-PL.rc +++ b/base/applications/notepad/lang/pl-PL.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Strona &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Strona &p" STRING_NOTEPAD "Notatnik" STRING_ERROR "Błąd" STRING_WARNING "OSTRZEŻENIE" diff --git a/base/applications/notepad/lang/pt-BR.rc b/base/applications/notepad/lang/pt-BR.rc index ffc6ef44cce..912a37a4f68 100644 --- a/base/applications/notepad/lang/pt-BR.rc +++ b/base/applications/notepad/lang/pt-BR.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Página &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Página &p" STRING_NOTEPAD "Notepad" STRING_ERROR "ERRO" STRING_WARNING "AVISO" diff --git a/base/applications/notepad/lang/pt-PT.rc b/base/applications/notepad/lang/pt-PT.rc index d9a5b8576e0..3b5e2de940b 100644 --- a/base/applications/notepad/lang/pt-PT.rc +++ b/base/applications/notepad/lang/pt-PT.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Página &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Página &p" STRING_NOTEPAD "Notepad" STRING_ERROR "ERRO" STRING_WARNING "AVISO" diff --git a/base/applications/notepad/lang/ro-RO.rc b/base/applications/notepad/lang/ro-RO.rc index cd10206770f..d1354a2db43 100644 --- a/base/applications/notepad/lang/ro-RO.rc +++ b/base/applications/notepad/lang/ro-RO.rc @@ -137,12 +137,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Pagină &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Pagină &p" STRING_NOTEPAD "Carnețel" STRING_ERROR "EROARE" STRING_WARNING "ATENțIONARE" diff --git a/base/applications/notepad/lang/ru-RU.rc b/base/applications/notepad/lang/ru-RU.rc index 1d27885d2f4..71b0c70e06a 100644 --- a/base/applications/notepad/lang/ru-RU.rc +++ b/base/applications/notepad/lang/ru-RU.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Страница &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 мм" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 мм" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 мм" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 мм" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Страница &p" STRING_NOTEPAD "Блокнот" STRING_ERROR "ОШИБКА" STRING_WARNING "ВНИМАНИЕ" diff --git a/base/applications/notepad/lang/sk-SK.rc b/base/applications/notepad/lang/sk-SK.rc index a27501ed73f..87334cd527a 100644 --- a/base/applications/notepad/lang/sk-SK.rc +++ b/base/applications/notepad/lang/sk-SK.rc @@ -140,12 +140,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Strana &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Strana &p" STRING_NOTEPAD "Poznámkový blok" STRING_ERROR "CHYBA" STRING_WARNING "UPOZORNENIE" diff --git a/base/applications/notepad/lang/sl-SI.rc b/base/applications/notepad/lang/sl-SI.rc index 6a87df05d1c..55af9a7dd65 100644 --- a/base/applications/notepad/lang/sl-SI.rc +++ b/base/applications/notepad/lang/sl-SI.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Stran &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Stran &p" STRING_NOTEPAD "Beležnica" STRING_ERROR "NAPAKA" STRING_WARNING "OPOZORILO" diff --git a/base/applications/notepad/lang/sq-AL.rc b/base/applications/notepad/lang/sq-AL.rc index adc546e0411..cdf0a08b135 100644 --- a/base/applications/notepad/lang/sq-AL.rc +++ b/base/applications/notepad/lang/sq-AL.rc @@ -136,12 +136,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Faqe &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Faqe &p" STRING_NOTEPAD "Notepad" STRING_ERROR "ERROR" STRING_WARNING "KUJDES" diff --git a/base/applications/notepad/lang/sv-SE.rc b/base/applications/notepad/lang/sv-SE.rc index 55c6ff59785..a256eff432b 100644 --- a/base/applications/notepad/lang/sv-SE.rc +++ b/base/applications/notepad/lang/sv-SE.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" - STRING_PAGESETUP_FOOTERVALUE "Sida &s" - STRING_PAGESETUP_LEFTVALUE "20 mm" - STRING_PAGESETUP_RIGHTVALUE "20 mm" - STRING_PAGESETUP_TOPVALUE "25 mm" - STRING_PAGESETUP_BOTTOMVALUE "25 mm" + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Sida &p" STRING_NOTEPAD "Anteckningar" STRING_ERROR "FEL" STRING_WARNING "VARNING" diff --git a/base/applications/notepad/lang/th-TH.rc b/base/applications/notepad/lang/th-TH.rc index aacedd7305b..471d0d73a8f 100644 --- a/base/applications/notepad/lang/th-TH.rc +++ b/base/applications/notepad/lang/th-TH.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "หน้า &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 มม." /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 มม." /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 มม." /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 มม." /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "หน้า &p" STRING_NOTEPAD "Notepad" STRING_ERROR "ความปิด" STRING_WARNING "คําตือน" diff --git a/base/applications/notepad/lang/tr-TR.rc b/base/applications/notepad/lang/tr-TR.rc index 0401ea4a169..26a7ef1f87e 100644 --- a/base/applications/notepad/lang/tr-TR.rc +++ b/base/applications/notepad/lang/tr-TR.rc @@ -135,12 +135,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Sayfa &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Sayfa &p" STRING_NOTEPAD "Not Defteri" STRING_ERROR "HATA" STRING_WARNING "UYARI" diff --git a/base/applications/notepad/lang/uk-UA.rc b/base/applications/notepad/lang/uk-UA.rc index a64d6e92276..23f6b27ba74 100644 --- a/base/applications/notepad/lang/uk-UA.rc +++ b/base/applications/notepad/lang/uk-UA.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Сторінка &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 мм" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 мм" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 мм" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 мм" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Сторінка &p" STRING_NOTEPAD "Блокнот" STRING_ERROR "ПОМИЛКА" STRING_WARNING "УВАГА" diff --git a/base/applications/notepad/lang/uz-UZ.rc b/base/applications/notepad/lang/uz-UZ.rc index 3eaea09f591..586905aeeab 100644 --- a/base/applications/notepad/lang/uz-UZ.rc +++ b/base/applications/notepad/lang/uz-UZ.rc @@ -132,12 +132,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "Sahifa &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "Sahifa &p" STRING_NOTEPAD "Bloknot" STRING_ERROR "XATO" STRING_WARNING "DIQQAT" diff --git a/base/applications/notepad/lang/zh-CN.rc b/base/applications/notepad/lang/zh-CN.rc index 28fad41e6e6..bacc7722019 100644 --- a/base/applications/notepad/lang/zh-CN.rc +++ b/base/applications/notepad/lang/zh-CN.rc @@ -140,12 +140,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "页面 &s" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "页面 &p" STRING_NOTEPAD "记事本" STRING_ERROR "错误" STRING_WARNING "警告" diff --git a/base/applications/notepad/lang/zh-HK.rc b/base/applications/notepad/lang/zh-HK.rc index 2ed9942d2b5..24fa27a6e36 100644 --- a/base/applications/notepad/lang/zh-HK.rc +++ b/base/applications/notepad/lang/zh-HK.rc @@ -140,12 +140,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "第 &s 頁" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "第 &p 頁" STRING_NOTEPAD "記事本" STRING_ERROR "錯誤" STRING_WARNING "警告" diff --git a/base/applications/notepad/lang/zh-TW.rc b/base/applications/notepad/lang/zh-TW.rc index b4974b34d83..871a000a7bc 100644 --- a/base/applications/notepad/lang/zh-TW.rc +++ b/base/applications/notepad/lang/zh-TW.rc @@ -140,12 +140,8 @@ END
STRINGTABLE BEGIN - STRING_PAGESETUP_HEADERVALUE "&n" /* FIXME */ - STRING_PAGESETUP_FOOTERVALUE "第 &s 頁" /* FIXME */ - STRING_PAGESETUP_LEFTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_RIGHTVALUE "20 mm" /* FIXME */ - STRING_PAGESETUP_TOPVALUE "25 mm" /* FIXME */ - STRING_PAGESETUP_BOTTOMVALUE "25 mm" /* FIXME */ + STRING_PAGESETUP_HEADERVALUE "&f" + STRING_PAGESETUP_FOOTERVALUE "第 &p 頁" STRING_NOTEPAD "記事本" STRING_ERROR "錯誤" STRING_WARNING "警告" diff --git a/base/applications/notepad/notepad_res.h b/base/applications/notepad/notepad_res.h index 179a1c73573..870db3f7687 100644 --- a/base/applications/notepad/notepad_res.h +++ b/base/applications/notepad/notepad_res.h @@ -68,10 +68,6 @@ /* Strings */ #define STRING_PAGESETUP_HEADERVALUE 0x160 #define STRING_PAGESETUP_FOOTERVALUE 0x161 -#define STRING_PAGESETUP_LEFTVALUE 0x162 -#define STRING_PAGESETUP_RIGHTVALUE 0x163 -#define STRING_PAGESETUP_TOPVALUE 0x164 -#define STRING_PAGESETUP_BOTTOMVALUE 0x165
#define STRING_NOTEPAD 0x170 #define STRING_ERROR 0x171