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
Description: replace the hardcode of "@mozilla.org/embedcomp/window-watcher;1" with NS_WINDOWWATCHER_CONTRACTID
Patch by Henry.Jia@sun.com
r=anto, sr=alecf
and the nsPrintOptions know how to convert the printer name, so we need to add
a helper method to nsIPrintOptions.idl so the nsSimplePageSeq can get the properly named value.
Bug 140669 r=dcone sr=attinasi
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
getting the values from the default printer from the DocumentViewer down into
the PrintOptions service. We want it done only the very first time when the PrintSettings is created.
Bug 131852 r=dcone sr=attinasi a=scc
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