2006-11-24 Carlos Alberto Cortez <calberto.cortez@gmail.com>
[mono.git] / mcs / class / System.Drawing / System.Drawing.Printing / ChangeLog
1 2006-11-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
2         
3         Initial support for PageSettings (color, copies, collate,
4         and media size).
5
6         * StandardPrintController.cs: Pass PrintDocument.PageSettings to
7         create the Graphics object (althought PageSettings
8         contains a PrinterSettings and vice versa, PrintDocument
9         can contain non-related PrinterSettings and PageSettings objects).
10
11         * PrintingServices.cs: Likewise.
12         * PrintingServicesWin32.cs: Likewise.
13         * PrintingServicesUnix.cs: Likewise. Also use cupsParseOptions
14         to pass printing options when calling cupsPrintFile. Use "Custom"
15         as name for custom pages without associated name (Laxmark printers
16         have this problem, causing a nullref exc). Add GetPaperKind () method
17         to retrieve and set the right PaperKind value for PaperSize, instead
18         of using PaperKind.Custom for all page sizes. Finally save
19         PageSettings in DOCINFO to use it later.
20
21         * PrintDocument.cs: Clone PrinterSettings.PageSettings
22         instead of creating a new one (this avoid creating an additional
23         PrinterSettings instance).
24
25 2006-11-17  Andreia Gaita <avidigal@novell.com>
26
27         * PrintingServicesWin32.cs: fix another dumb typo - 
28         check proper return value from printer validity call
29
30 2006-11-16  Chris Toshok  <toshok@ximian.com>
31
32         * PreviewPrintController.cs: fix typo - don't throw
33         InvalidPrinterException when it wasn't supposed to be.
34
35 2006-11-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
36
37         * PrintDocument.cs: Use QueryPageSettingsEventArgs.PageSettings
38         in PrintPageEventArgs, instead of using the default one (mimic
39         .Net behaviour).
40
41         * PageSettings.cs: Implement Clone the right way (intead of using
42         the default page settings).
43
44 2006-11-14 Andreia Gaita <avidigal@novell.com>
45         Fixes #79835, implements PrinterSettings.IsValid, throws proper
46         InvalidPrinterException with differentiated messages.
47         
48         * PrintingServices.cs: Declares IsPrinterValid to enable easy checking
49         if printer name is a valid printer
50         
51         * PrintingServicesWin32.cs: Implements IsPrinterValid, caches 
52         last assigned printer name and if it is valid to speed up next calls.
53         
54         * PrintingServicesUnix.cs: Implements IsPrinterValid, caches 
55         last assigned printer name and if it is valid to speed up next calls.
56         
57         * PageSettings.cs: 
58                 - throw InvalidPrinterException in the properties,
59                 according to the docs: Color, Landscape, PaperSize, PaperSource, 
60                 PrinterResolution
61                 - change the private fields above to internal, so that in the
62                 constructor we can access them without triggering the exceptions
63                 if there are no printers installed
64                 
65         * PrinterSettings.cs: Implement IsValid to call IsPrinterValid
66         implemented above
67         
68         * PreviewPrintController.cs: throw InvalidPrinterException on 
69         StartPrint() if there's no valid printer configured
70         
71         * InvalidPrinterException.cs: New private GetMessage() to customize
72         printer error message, used by constructor
73
74 2006-09-27 Jordi Mas i Hernandez <jordimash@gmail.com>
75
76         * PrintingServicesUnix.cs: Implements LoadPrinterPaperSources member,
77         simplifies GetPaperSizeName and loads paper source and size defaults
78
79 2006-09-27 Jordi Mas i Hernandez <jordimash@gmail.com>
80
81         * PrintingServices.cs: Add LoadPrinterPaperSources member
82         
83         * PrintingServicesWin32.cs: Implements LoadPrinterPaperSources and
84         reads the default paper source and size.
85         
86         * PrintingServicesUnix.cs: Add stub LoadPrinterPaperSources member
87         
88         * PrinterSettings.cs: Implements PaperSourceCollection property and
89         makes default paper source and size from the system.
90
91 2006-08-02  Chris Toshok  <toshok@ximian.com>
92
93         * PreviewPrintController.cs: scale the Graphics context we pass
94         back from OnStartPage such that the preview looks the way the
95         printed output will.
96
97 2006-07-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
98
99         * PrintDocument.cs: When null is passed to PrinterSettings,
100         it should be set to a new PrinterSettings instance, and should never
101         be null.
102
103         * PrinterSettings.cs: Default value for Copies should be 1. Also
104         add a space in the ToString method, to correctly show the printer
105         info.
106
107 2006-07-26  Chris Toshok  <toshok@ximian.com>
108
109         * PrinterSettings.cs: expose PrintFileName in the 1.1 case as an
110         internal property, so we can get at it from MWF.
111
112         * PrintingServicesUnix.cs: handle print to file, and also remove
113         the temp file after sending the data to the printer.  fix some
114         dllimports to match the rest of system.drawing.
115
116         * PreviewPrintController.cs: implement this (warning, it'll eat
117         all your memory until we get a real Metafile implementation, as
118         we're storing bitmaps).
119
120         * PrintDocument.cs: shift the graphics context stuff around a bit
121         in Print(), so that the events after OnStartPrint are passed the
122         graphics context the controller created there, and we use the
123         return value of OnStartPage to do all drawing.
124
125 2006-05-20 Jordi Mas i Hernandez <jordimash@gmail.com>
126
127         * PrintingServices.cs: GetPrintDialogInfo definition
128         * PrintingServicesWin32.cs GetPrintDialogInfo implementation
129         * PrintingServicesUnix.cs: GetPrintDialogInfo stub
130
131 2006-04-14 Jordi Mas i Hernandez <jordimash@gmail.com>
132
133         * PrintingServicesUnix.cs: Replace cupsGetPrinters deprecated API call
134
135 2006-04-13 Jordi Mas i Hernandez <jordimash@gmail.com>
136
137         * PrintingServicesUnix.cs: Checks if cups is installed
138         * PrinterSettings.cs: PrintToFile property and ToString method
139
140 2006-04-28  Sebastien Pouliot  <sebastien@ximian.com>
141
142         * PrintController.cs: corcompare fix. No public ctor in 2.0.
143         * PrinterSettings.cs: corcompare fix. Clone method isn't virtual.
144
145 2006-03-21  Sebastien Pouliot  <sebastien@ximian.com>
146
147         * PrintingServicesUnix.cs: cupsGetPrinters(char***) requires to free 
148         each individual string and (finally) the list. Note that this call is
149         deprecated.
150
151 2006-03-13  Peter Dennis Bartok  <pbartok@novell.com>
152
153         * PrintingServicesUnix.cs: Handle not having a printer
154
155 2006-02-09  Peter Dennis Bartok  <pbartok@novell.com>
156
157         * PrintingServicesWin32.cs: Simplyfied the code, removing the need
158           for pointer calculations (part of 64bit cleanup)
159
160 2006-01-27  Sebastien Pouliot  <sebastien@ximian.com>
161
162         * PrintingServicesWin32.cs: Ensure Marshal.FreeHGlobal is called for 
163         all unmanaged memory allocated with AllocHGlobal.
164
165 2006-01-15 Jordi Mas i Hernandez <jordimash@gmail.com>
166
167         * PrintingServicesUnix.cs: Allow setting the dpy's for the surface
168
169 2005-12-22 Jordi Mas i Hernandez <jordimash@gmail.com>
170
171         * PrintingServices.cs: Printing services abstration class
172         * PrintingServicesWin32.cs: Win32 printer driver
173         * PrintingServicesUnix.cs: Unix printer driver
174         * Margins.cs: Fixes exceptions error messages
175         * PrinterResolution.cs: Fixes
176         * PrintEventArgs.cs: New internal method
177         * PrintPageEventArgs.cs: New internal method
178         * StandardPrintController.cs: Fixes
179         * PrinterUnitConvert.cs: Fixes conversion errors
180         * PrintDocument.cs: Fixes to make it print
181         * PageSettings.cs: Take margains into account
182         * PrintController.cs: Fixes
183         * PaperSize.cs: Method to set paper Kind
184         * PrinterSettings.cs: Implements settings and fixes
185         *       
186
187 2005-12-07 Jordi Mas i Hernandez <jordimash@gmail.com>
188         
189         * PrinterResolutionKind.cs: Fixes signature for .Net 2.0
190         * PaperKind.cs: Fixes signature for .Net 2.0
191         * PaperSource.cs: Fixes signature for .Net 2.0
192         * Margins.cs: Fixes signature for .Net 2.0
193         * PrinterResolution.cs: Fixes signature for .Net 2.0
194         * PrintEventArgs.cs: Fixes signature for .Net 2.0
195         * PrintAction.cs: New enum in .Net 2.0
196         * PageSettings.cs:  Fixes signature for .Net 2.0
197         * PaperSourceKind.cs:  Fixes signature for .Net 2.0
198         * PrintController.cs: Fixes signature for .Net 2.0
199         * Duplex.cs: Fixes signature for .Net 2.0
200         * PaperSize.cs: Fixes signature for .Net 2.0
201         * PreviewPrintController.cs: Fixes signature for .Net 2.0
202         * PrinterSettings.cs: Fixes signature for .Net 2.0
203         * PrintRange.cs: Fixes signature for .Net 2.0
204           
205 2005-09-16  Sebastien Pouliot  <sebastien@ximian.com>
206
207         * InvalidPrinterException.cs: Removed NotImplementedException (not
208         required) and added a demand for SerializationFormatter on the 
209         GetObjectData method.
210         * PrintingPermission.cs: Throw ArgumentException if the class or 
211         version attributes are missing in the supplied XML (only in 1.x).
212
213 2005-03-23 Jordi Mas i Hernandez <jordi@ximian.com>
214         * PaperKind.cs: fixes wrong enum values
215
216 2005-01-27  Lluis Sanchez Gual  <lluis@novell.com>
217
218         * MarginsConverter.cs: Implemented support for InstanceDescriptor.