initialized from Prefs or from the Printer they get set. They get unset when
the printer name changes.
This is all necessary because the Page Setup Dialog calls
initPrintSettingsFromPrinter each time it is shown. So if you have set values
they will get "written" over the next time the dialog is shown.
2) Removes a lot of platform specific initialization from nsPrintOptionsImpl
and it now uses just the the "generic" XP routines and is now consistent with
the other platforms for initializing the PS.
Bug 167894 r=dcone sr=kin a=roc
1) When the it returns from the Print Dialog it checks to see if the
PD_PRINTTOFILE flags is set then then set the the info into the PrintSettings
2) IF we are printing to a file, but not a file driver, then check to see if
the file name is the special "FILE:" (as per the MS documentation)
Bug 170332 r=dcone sr=alecf
nsPrintSettingsWin.cpp was creating and copying only the non-platform specific data by using the
"sizeof" of the DEVMODE struct, instead of checking the struct size with dmSize
and the size of the private (device-specific) data with dmDriverExtra. Now it
creates the correct size of memory and copies all the non-private data and private data.
Bug 156318 r=dcone sr=kin,waterson,rpotts a=asa
I also removed the failure check after the calls to EnumerateNativePrinters
because even if one fails, it doesn't mean the others will. So it should keep trying.
The rest of the code is extra error checking that is all ifdef'ed out
I renamed one of two methods that had the same name (to reduce confusion) and got rid of it's uneeded return code.
Bug 143241 r=dcone sr=attinasi
1) Introduces a new public interface nsIPrintSettingService which emables consumers to create PS objects whithout a nsIWebBrowserPrint interface
2) The implementation is nsPrintOptionsImpl which now impls the private interface nsIPrintOptions and the public iface nsIPrintSettingsService
3) Several methods/attrs have been moved from nsIWebBrowserPrint iface to nsIPrintSettingsService
4) The CIDs for nsIPrintOptions and nsIPrinSettingsService are now the same.
5) There is no longer a CID "@mozilla.org/gfx/printoptions;1"
6) nsIWebBrowserPrint still has the "globalPrintSettings" attr so if you already have an nsIWebBrowserPrint you don't have to create the PS Service to get it.
7) A bug has been filed to rename the imlp of nsPrintOptionsImpl to nsPrintSettingsService.
Bug 144128 r=dcone sr=attinasi
of it in now before the API freeze.
It adds several new attrs to the nsIWebBrowserPrint API and implments them in DocumentViewer.
It also adds a new platform specific interface for PrintSettings that will be
used when the "pluggable" dialog work gets checked in. Although these have been
tested via BUg 115136, these little nto no risk now because no one is using them yet.
Bug 132827 r=dcone sr=attinasi a=asa
2) Removed unneeded methods from PrintOptions
3) PrintOption can now read and write (most) all the data in a PrintSettings object. The items not saved are those used during the printing process and it wouldn't make any sense to save them.
4) Adds a prefs for turning on and off the automatic saving of PrintSettings. If this is turned on it is almost the same as using the global PS.
5) On Linux it turns on the saving of PS prefs and turns on the global PS. Meaning it will always use a single Global PS object.
6) The PrintSettings can be initialized from a generic non-printer specific set of prefs. Then if a printer name is available in the PS then it tries
to initialize itself from the printer specific prefs. This enables to define "back stop" prefs for picking up first. Then the printer specific prefs can override those settings. For example, we may define in prefs that the default paper size 8.5x11, then if if the "save PS prefs" is turned on, for a given printer it might save 8.5x16 as the size.
7) A "flags" arg has been added so you can indicate which prefs you want read or written.
Bug 128142 r=dcone sr=attinasi a=shaver
should be in the PrintSettings.
2) Removed unneeded methods from PrintOptions
3) PrintOption can now read and write (most) all the data in a PrintSettings
object. The items not saved are those used during the printing process and
it wouldn't make any sense to save them.
4) Adds a prefs for turning on and off the automatic saving of PrintSettings.
If this is turned on it is almost the same as using the global PS.
5) On Linux it turns on the saving of PS prefs and turns on the global PS.
Meaning it will always use a single Global PS object.
6) The PrintSettings can be initialized from a generic non-printer specific
set of prefs. Then if a printer name is available in the PS then it tries
to initialize itself from the printer specific prefs. This enables to define
"back stop" prefs for picking up first. Then the printer specific prefs
can override those settings.
For example, we may define in prefs that the default paper size 8.5x11,
then if if the "save PS prefs" is turned on, for a given printer it might
save 8.5x16 as the size.
7) A "flags" arg has been added so you can indicate which prefs you want read
or written.
2) Stubs this out on al other platforms
3) On Windows implmenets new method "InitPrintSettingsFromPrinter" which sets certain key values from the native devmode into the print settings
4) Stubs this out on all other platforms
5) It also cleans up the nsDeviceContextSpecWin interface a little bit:
It now has a single GetDevMode method that must be paired with a UnlockDevMode method.
6) It moved GetDataFromPrinter into the public interface
7) Created a simple helper function for getting the default printer name.
Bug 123554 r=dcone sr=attinasi
2) Fixes the negitive page range display problem
3) Improves performance by reducing the delay on pages not in the page range, i.e. before if you printed the 30th page out of 31 you had to wait 15 secs to get to the 30th page to print it.
4) Added AbortDocument, so now when Print jobs are cancelled we call AbortDocument and remove them from the print spooler
5) Fixed a couple of minor issue with Canceling and cancelling mail printings
6) selection was not printing correctly. The problem with selection was that the clip was not being set corrctly.
Bug 115227 & 123181 r=dcone,sspitzer sr=attainasi
1) Removes the EnumeratePrinterExtended from nsIPrintOptions and all impls of it
2) Sets the Windows platform to once again use the native print dialog
3) The nsDeviceContextSpecWin will detect at runtime whether to use the standard PRINTDLG or the new PRINTDLGEX (supported by XP and WIN2k), this new code is only compiled in when the ifdef MOZ_REQUIRE_CURRENT_SDK is defined.
4) It adds an extra Property Sheet to the new dialog for Frameset Printing options
5) Now creates a DEVMODE before the diaog is created, this is used for setting different options in the print dialog before it comes up.
122530 r=dcone sr=hyatt
Enabling XP Print Dialog for Windows
Enabling XP Print Progress Dialog
Enabling XP Page Setup Dialog
Fixing nsPrintPreviewContext to use nsIPrintPreviewContext
Bug 113917 r=dcone sr=attinasi