Alexander Nicolaysen Sørnes : comdlg32: PageSetupDlgA: Swap margins when changing orientation.

Alexandre Julliard julliard at winehq.org
Mon Dec 10 08:54:29 CST 2007


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

Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date:   Sat Dec  8 14:16:41 2007 +0100

comdlg32: PageSetupDlgA: Swap margins when changing orientation.

---

 dlls/comdlg32/printdlg.c |   35 ++++++++++++++++++++++-------------
 1 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/dlls/comdlg32/printdlg.c b/dlls/comdlg32/printdlg.c
index 5baa90e..dcea25e 100644
--- a/dlls/comdlg32/printdlg.c
+++ b/dlls/comdlg32/printdlg.c
@@ -2791,21 +2791,30 @@ PRINTDLG_PS_WMCommandA(
         }
 	return TRUE;
     case rad1:
-	    if (pda->curdlg.ptPaperSize.x > pda->curdlg.ptPaperSize.y){
-	        DWORD tmp = pda->curdlg.ptPaperSize.x;
-		pda->curdlg.ptPaperSize.x = pda->curdlg.ptPaperSize.y;
-		pda->curdlg.ptPaperSize.y = tmp;
-	    }
-	    PRINTDLG_PS_ChangePaperPrev(pda);
-	break;
     case rad2:
-	    if (pda->curdlg.ptPaperSize.y > pda->curdlg.ptPaperSize.x){
-	        DWORD tmp = pda->curdlg.ptPaperSize.x;
-		pda->curdlg.ptPaperSize.x = pda->curdlg.ptPaperSize.y;
-		pda->curdlg.ptPaperSize.y = tmp;
-	    }
+	if((id == rad1 && pda->curdlg.ptPaperSize.x > pda->curdlg.ptPaperSize.y) ||
+	   (id == rad2 && pda->curdlg.ptPaperSize.y > pda->curdlg.ptPaperSize.x))
+	{
+	    char TmpText[25];
+	    char TmpText2[25];
+	    DWORD tmp = pda->curdlg.ptPaperSize.x;
+
+	    pda->curdlg.ptPaperSize.x = pda->curdlg.ptPaperSize.y;
+	    pda->curdlg.ptPaperSize.y = tmp;
+
+	    GetDlgItemTextA(hDlg, edt4, TmpText, sizeof(TmpText));
+	    GetDlgItemTextA(hDlg, edt5, TmpText2, sizeof(TmpText2));
+	    SetDlgItemTextA(hDlg, edt5, TmpText);
+	    SetDlgItemTextA(hDlg, edt4, TmpText2);
+
+	    GetDlgItemTextA(hDlg, edt6, TmpText, sizeof(TmpText));
+	    GetDlgItemTextA(hDlg, edt7, TmpText2, sizeof(TmpText2));
+	    SetDlgItemTextA(hDlg, edt7, TmpText);
+	    SetDlgItemTextA(hDlg, edt6, TmpText2);
+
 	    PRINTDLG_PS_ChangePaperPrev(pda);
-	    break;
+	}
+	break;
     case cmb1: /* Printer combo */
 	    if(msg == CBN_SELCHANGE){
 		char crPrinterName[256];




More information about the wine-cvs mailing list