[corlib] Improve CancellationTokenSource test
[mono.git] / mcs / class / System.Drawing / System.Drawing.Printing / ChangeLog
index f0f63900f3f8ead515dc2791cab207c5beb60b9e..b15a05ff671e1e5b87b7df9f1229bf36c8114832 100644 (file)
@@ -1,3 +1,295 @@
+2009-07-08  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * PaperSource.cs: Implement RawKind.
+       Fixes the remaining bits of #507739.
+
+2009-07-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PaperSize.cs: Implement support for RawKind.
+       Patch by Andy Hume (andyhume32@yahoo.co.uk).
+       Fixes part of #507739.
+
+2009-07-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PaperSize.cs: Actually implement RawKind by retrieving and setting
+       the kind field.
+
+2008-11-01  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * PrintingServicesUnix.cs: Fix potential crash on 64bit OS. Gendarme
+       rule for checking IntPtr has been updated to cover this case as well
+
+2008-10-12  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * PaperSize.cs, PreviewPrintController.cs, PrinterSettings.cs,
+       PrintingPermissionAttribute.cs, PrintingPermission.cs: Remove unneeded
+       field initialization to their default values.
+       [Found using Gendarme AvoidUnneededFieldInitializationRule]
+
+2008-02-10  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * PrintingServicesUnix.cs: Fix AvoidToStringOnStringsRule found
+       using Gendarme.
+
+2007-12-10  Andreia Gaita <avidigal@novell.com>
+
+       * PrintingServicesWin32.cs: Add enumeration flag to get remote 
+       printers as well as locally connected ones. Fixes #325258
+
+2007-06-30  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Margins.cs: Overloaded operators are 2.0 only.
+
+2007-05-29  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Margins.cs: Implement missing == and != operators (MoMA reports them
+       but they were not included in the class status pages). Fix property 
+       setters (to check value), reduced code duplication and changed 
+       GetHashCode to be less CPU intensive.
+
+2007-05-24  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * PrintingServicesWin32.cs: Pass 0 as mode to DocumentProperties to
+       obtain the size of the buffer required to hold the DEVMODE structure.
+       Fixes bug #81723.
+
+2007-05-23  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * PreviewPrintController.cs: Reduce bitmap size and avoid scaling the
+       print preview (fix bug #80765). Patch from Vladimir Dimitrov.
+       * PrintingServicesUnix.cs: Reorder calculation to avoid loss of 
+       precision in integer division. Use printer resolution for Cairo
+       fallback. Patch from Vladimir Dimitrov.
+
+2007-03-13  Andreia Gaita  <avidigal@novell.com>
+
+       * PrintingServices.cs: Add missing static method SysPrn.GetPrintDialogInfo
+       for SWF to call up printing dialogues.
+
+2007-02-21  Andreia Gaita  <avidigal@novell.com>
+       
+       * PrintingServicesUnix.cs: Report an error in the console if there is
+       a problem opening the printer.
+
+2007-02-21  Andreia Gaita  <avidigal@novell.com>
+
+       * PrintingServicesUnix.cs: don't free up pointers unnecessarily (doh)
+
+2007-02-21  Andreia Gaita  <avidigal@novell.com>
+
+       * PrintingServicesUnix.cs: add checks and try blocks to make sure
+       things don't blow up if we try to double free anything (not that
+       we're trying to do anything like that :p )
+
+2007-02-21  Andreia Gaita  <avidigal@novell.com>
+
+       * PrintingServicesUnix.cs: fix a double-free bug
+
+2007-02-20  Andreia Gaita  <avidigal@novell.com>
+
+       * PrintingServicesUnix.cs: Fix leak caused by not calling cupsFreeDests
+       on certain codepaths. Fix return value of cupsFreeDests to void.
+       
+2007-02-20  Andreia Gaita  <avidigal@novell.com>
+       
+       * PrintingServicesUnix.cs: Correct missing static initialization
+       of loaded printers hashtable, unit tests were failing (oops :p)
+
+2007-02-17  Marek (please complete)
+
+       * PrintPreviewController, InvalidPrinterException: 
+       Remove warnings
+
+2007-02-16  Andreia Gaita  <avidigal@novell.com>
+
+       Redesign how and when cups gets called to minimize
+       p/invokes, implements caching of printers and printer
+       settings as per calberto's patch - #79822, plotter detection, 
+       duplex, fixes for image disposing, code modularization, 
+       misc. fixes.
+       
+       * PageSettings.cs: Check and ignore null setter values on
+       paper sizes, sources and resolutions.
+       
+       * PaperSize.cs: Add default paper size flag
+       
+       * PaperSource.cs: Add default paper source flag, minor code
+       beautification
+       
+       * PrinterSettings.cs: Add duplex and plotter implementation, 
+       modify calls to PrintingServices to support caching, add
+       a printer capabilities list to store specific printer options - 
+       only loaded with cups, for now. Move the internal list classes
+       to the end of the code so as not to clutter.
+       
+       * PrintingServices.cs: Separate the PrintingServices class in 2 - 
+       PrintingServices and GlobalPrintingServices (see calberto's patch
+       in #79822). The PrintingServices class is where all the methods
+       caching information reside, the GlobalPrintingServices methods do 
+       no caching.
+       The cached information resides on the Printer class, added to the 
+       SysPrn class.
+       
+       * PrintingServicesUnix.cs: Big rewrite. 
+       - Essentially, redesigned and modularized the code to minimize cups 
+       calls. Then, applied the caching so all the cups calls are reduced 
+       to a minimum, by loading a list of printers onto a hashtable, then 
+       loading the settings of the chosen printer and saving that in the 
+       hashtable all in one go.
+       - Also, fixes for loading       the proper default values of the printer, 
+       which are stored in it's global options;
+       - Modularization of cups/ppd loading methods (LoadPrinterOptions, 
+       LoadOptionList, OpenPrinter, ClosePrinter) so we don't repeat 
+       cups/ppd loading loops everywhere. 
+       - Proper disposing of pointers and structures, calling the proper
+       cups free calls.
+       - Add duplex support
+       
+       * PrintingServicesWin32.cs: IsPrinterValid is no longer caching the value,
+       since it should be supporting global caching as well, though that is not
+       yet complete on win32. Implements plotter detection support, and changes for
+       the new PrinterSettings/GlobalPrinterSettings structure. Some minor changes
+       the code to minimize p/invoke calls (load the printer sources and sizes 
+       before accessing the collections)
+       
+       * StandardPrintController.cs: PrinterSettings/GlobalPrinterSettings structure
+       changes
+
+2007-02-09  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * PrintingServicesUnix.cs: Ensure we free the original pointer in
+       GetAlternativeDefaultPrinter (not the one used for iteration).
+
+2007-01-19  Andreia Gaita  <avidigal@novell.com>
+
+       * PrintingServicesUnix.cs: Add is_default flag check for 
+       detecting default printer when cupsGetDefault doesn't return
+       valid values (mainly ubuntu). Fixes #80198, #80519
+
+2007-01-09  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * PrintingServices.cs: Unify platform detection code.
+
+2006-12-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PrintingServicesUnix.cs: Add "landscape" option
+       when using PaperSettings.Landscape set to true. Also
+       swap the width and height for the postscript file.
+
+2006-12-01  Andreia Gaita  <avidigal@novell.com>
+
+       * PrintingServicesUnix: Proper size structure use for 64 bit
+       support.
+
+2006-12-01  Andreia Gaita  <avidigal@novell.com>
+
+       * PrintingServicesUnix: *properly* check return value from 
+       cupsGetDefault. If there are no default printers set, 
+       check if there are installed printers, and use that.
+       Hopefully fixes #79835
+
+2006-12-01  Andreia Gaita  <avidigal@novell.com>
+
+       * PrintingServicesUnix: check return value from cupsGetDefault.
+       Hopefully fixes #79835
+
+2006-12-01 Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * PrintingServicesWin32.cs: Fixes paper sizes reading. The POINT 
+       structure is 8 bytes long not 4. This fixes margins calculations 
+       (based on the paper size) that were badly broken. 
+
+2006-11-28  Andreia Gaita  <avidigal@novell.com>
+
+       * PageSettings.cs: 
+       - internal member name changes to help
+       out with intelisense. 
+       - Use internal members directly instead of using
+       corresponding properties so that exceptions are not thrown
+       * PrintingServicesWin32:
+       - Only return DefaultPrinter if it is actually valid. This
+       is because Win32GetDefaultPrinter returns a printer name
+       even if PrintSpooler is stopped (which should  behave the
+       same way as if there are no printers installed)
+       - Do not try to allocate if EnumPrinters returns 0
+       
+2006-11-25 Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * PrintingServicesUnix.cs: Implements GetPrintDialogInfo
+
+2006-11-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+       
+       Initial support for PageSettings (color, copies, collate,
+       and media size).
+
+       * StandardPrintController.cs: Pass PrintDocument.PageSettings to
+       create the Graphics object (althought PageSettings
+       contains a PrinterSettings and vice versa, PrintDocument
+       can contain non-related PrinterSettings and PageSettings objects).
+
+       * PrintingServices.cs: Likewise.
+       * PrintingServicesWin32.cs: Likewise.
+       * PrintingServicesUnix.cs: Likewise. Also use cupsParseOptions
+       to pass printing options when calling cupsPrintFile. Use "Custom"
+       as name for custom pages without associated name (Laxmark printers
+       have this problem, causing a nullref exc). Add GetPaperKind () method
+       to retrieve and set the right PaperKind value for PaperSize, instead
+       of using PaperKind.Custom for all page sizes. Finally save
+       PageSettings in DOCINFO to use it later.
+
+       * PrintDocument.cs: Clone PrinterSettings.PageSettings
+       instead of creating a new one (this avoid creating an additional
+       PrinterSettings instance).
+
+2006-11-17  Andreia Gaita <avidigal@novell.com>
+
+       * PrintingServicesWin32.cs: fix another dumb typo - 
+       check proper return value from printer validity call
+
+2006-11-16  Chris Toshok  <toshok@ximian.com>
+
+       * PreviewPrintController.cs: fix typo - don't throw
+       InvalidPrinterException when it wasn't supposed to be.
+
+2006-11-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PrintDocument.cs: Use QueryPageSettingsEventArgs.PageSettings
+       in PrintPageEventArgs, instead of using the default one (mimic
+       .Net behaviour).
+
+       * PageSettings.cs: Implement Clone the right way (intead of using
+       the default page settings).
+
+2006-11-14 Andreia Gaita <avidigal@novell.com>
+       Fixes #79835, implements PrinterSettings.IsValid, throws proper
+       InvalidPrinterException with differentiated messages.
+       
+       * PrintingServices.cs: Declares IsPrinterValid to enable easy checking
+       if printer name is a valid printer
+       
+       * PrintingServicesWin32.cs: Implements IsPrinterValid, caches 
+       last assigned printer name and if it is valid to speed up next calls.
+       
+       * PrintingServicesUnix.cs: Implements IsPrinterValid, caches 
+       last assigned printer name and if it is valid to speed up next calls.
+       
+       * PageSettings.cs: 
+               - throw InvalidPrinterException in the properties,
+               according to the docs: Color, Landscape, PaperSize, PaperSource, 
+               PrinterResolution
+               - change the private fields above to internal, so that in the
+               constructor we can access them without triggering the exceptions
+               if there are no printers installed
+               
+       * PrinterSettings.cs: Implement IsValid to call IsPrinterValid
+       implemented above
+       
+       * PreviewPrintController.cs: throw InvalidPrinterException on 
+       StartPrint() if there's no valid printer configured
+       
+       * InvalidPrinterException.cs: New private GetMessage() to customize
+       printer error message, used by constructor
+
 2006-09-27 Jordi Mas i Hernandez <jordimash@gmail.com>
 
        * PrintingServicesUnix.cs: Implements LoadPrinterPaperSources member,