Hi,

   With this patch, the behavior of the Copies section of the print
dialog box is correct.  The new behavior is:

If number of copies is 1,
   collate option is unchecked and shaded because collate is not possible, and
   collate icon is removed whether it was set to collate or not collate.
else if number of copies > 2,
   collate option is unchecked but not shaded, and
   no_collate icon is displayed.

There is only one change that im not sure should go in or not, and
that is when the collate option is checked and we drop the number of
copies to one, should we uncheck the collate option as well as shade
it?

-- 
James Hawkins
Index: dlls/commdlg/printdlg.c
===================================================================
RCS file: /home/wine/wine/dlls/commdlg/printdlg.c,v
retrieving revision 1.75
diff -u -r1.75 printdlg.c
--- dlls/commdlg/printdlg.c	19 Apr 2004 20:12:15 -0000	1.75
+++ dlls/commdlg/printdlg.c	16 Jul 2004 18:35:05 -0000
@@ -36,6 +36,7 @@
 #include "winerror.h"
 
 #include "wine/debug.h"
+#include "wine/unicode.h"
 
 #include "commdlg.h"
 #include "dlgs.h"
@@ -1622,11 +1621,22 @@
         if(HIWORD(wParam) == EN_CHANGE) {
 	    INT copies = GetDlgItemInt(hDlg, edt3, NULL, FALSE);
 	    if(copies <= 1)
+            {
+                CheckDlgButton(hDlg, chx2, BST_UNCHECKED);
+                SendDlgItemMessageA(hDlg, ico3, STM_SETIMAGE, 
+				    (WPARAM) IMAGE_ICON, 0);
 	        EnableWindow(GetDlgItem(hDlg, chx2), FALSE);
+            }
 	    else
-	        EnableWindow(GetDlgItem(hDlg, chx2), TRUE);
-	}
-	break;
+            {
+                EnableWindow(GetDlgItem(hDlg, chx2), TRUE);
+                
+                SendDlgItemMessageA(hDlg, ico3, STM_SETIMAGE, 
+                                    (WPARAM) IMAGE_ICON,
+                                    (LPARAM)PrintStructures->hNoCollateIcon);
+             }
+        }
+        break;
 
      case psh1:                       /* Print Setup */
 	{

Reply via email to