Alexander Nicolaysen Sørnes : wordpad: Add support for printing a page range.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Sep 12 07:51:00 CDT 2007


Module: wine
Branch: master
Commit: 05e6a4e60c55885624f5a47c0a4ea8c0a1c75cdd
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=05e6a4e60c55885624f5a47c0a4ea8c0a1c75cdd

Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date:   Thu Aug 23 15:03:00 2007 +0200

wordpad: Add support for printing a page range.

---

 programs/wordpad/wordpad.c |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c
index de58c2f..03f9391 100644
--- a/programs/wordpad/wordpad.c
+++ b/programs/wordpad/wordpad.c
@@ -936,6 +936,7 @@ static void print(LPPRINTDLGW pd)
     FORMATRANGE fr;
     DOCINFOW di;
     int dpiY, dpiX, width, height;
+    int printedPages = 0;
 
     fr.hdc = pd->hDC;
     fr.hdcTarget = pd->hDC;
@@ -975,6 +976,18 @@ static void print(LPPRINTDLGW pd)
         gt.codepage = 1200;
         fr.chrg.cpMin = 0;
         fr.chrg.cpMax = SendMessageW(hEditorWnd, EM_GETTEXTLENGTHEX, (WPARAM)&gt, 0);
+
+        if(pd->Flags & PD_PAGENUMS)
+        {
+            int i;
+            for(i = 1; i <= pd->nToPage; i++)
+            {
+                if(i == pd->nFromPage)
+                    break;
+
+                fr.chrg.cpMin = SendMessageW(hEditorWnd, EM_FORMATRANGE, TRUE, (LPARAM)&fr);
+            }
+        }
     }
 
     StartDocW(fr.hdc, &di);
@@ -987,6 +1000,10 @@ static void print(LPPRINTDLGW pd)
 
         if(EndPage(fr.hdc) <= 0)
             break;
+
+        printedPages++;
+        if((pd->Flags & PD_PAGENUMS) && (printedPages > (pd->nToPage - pd->nFromPage)))
+            break;
     }
     while(fr.chrg.cpMin < fr.chrg.cpMax);
 
@@ -1061,7 +1078,7 @@ static void dialog_print(void)
     pd.hwndOwner = hMainWnd;
     pd.Flags = PD_RETURNDC | PD_USEDEVMODECOPIESANDCOLLATE;
     pd.nMinPage = 1;
-    pd.nMaxPage = 1;
+    pd.nMaxPage = -1;
     pd.hDevMode = devMode;
     pd.hDevNames = devNames;
 




More information about the wine-cvs mailing list