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