Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Alberto Cortez <calberto.cortez@gmail.com>2006-11-16 22:07:00 +0300
committerCarlos Alberto Cortez <calberto.cortez@gmail.com>2006-11-16 22:07:00 +0300
commit85696e7b1e0dc476d6e4bf0b3ad36a61d210c551 (patch)
tree963d15c032c5a79b51a257d3c2f4a06d2a145bd9 /mcs/class/System.Drawing/System.Drawing.Printing
parent6edfd628af02a61df8ed7713f3da8d13404f14dd (diff)
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). svn path=/trunk/mcs/; revision=68030
Diffstat (limited to 'mcs/class/System.Drawing/System.Drawing.Printing')
-rw-r--r--mcs/class/System.Drawing/System.Drawing.Printing/ChangeLog9
-rw-r--r--mcs/class/System.Drawing/System.Drawing.Printing/PageSettings.cs14
-rw-r--r--mcs/class/System.Drawing/System.Drawing.Printing/PrintDocument.cs8
3 files changed, 26 insertions, 5 deletions
diff --git a/mcs/class/System.Drawing/System.Drawing.Printing/ChangeLog b/mcs/class/System.Drawing/System.Drawing.Printing/ChangeLog
index b606b0cf45e..5ad2c2605b4 100644
--- a/mcs/class/System.Drawing/System.Drawing.Printing/ChangeLog
+++ b/mcs/class/System.Drawing/System.Drawing.Printing/ChangeLog
@@ -1,3 +1,12 @@
+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.
diff --git a/mcs/class/System.Drawing/System.Drawing.Printing/PageSettings.cs b/mcs/class/System.Drawing/System.Drawing.Printing/PageSettings.cs
index 8032033f820..deb464d6b5a 100644
--- a/mcs/class/System.Drawing/System.Drawing.Printing/PageSettings.cs
+++ b/mcs/class/System.Drawing/System.Drawing.Printing/PageSettings.cs
@@ -197,8 +197,18 @@ namespace System.Drawing.Printing
#endif
- public object Clone(){
- return new PageSettings(this.PrinterSettings);
+ public object Clone ()
+ {
+ // We do a deep copy
+ PrinterResolution pres = new PrinterResolution (_PrinterResolution.X, _PrinterResolution.Y, _PrinterResolution.Kind);
+ PaperSource psource = new PaperSource (_PaperSource.SourceName, _PaperSource.Kind);
+ PaperSize psize = new PaperSize (_PaperSize.PaperName, _PaperSize.Width, _PaperSize.Height);
+ psize.SetKind (_PaperSize.Kind);
+
+ PageSettings ps = new PageSettings (PrinterSettings, Color, Landscape,
+ psize, psource, pres);
+ ps.Margins = (Margins) _Margins.Clone ();
+ return ps;
}
diff --git a/mcs/class/System.Drawing/System.Drawing.Printing/PrintDocument.cs b/mcs/class/System.Drawing/System.Drawing.Printing/PrintDocument.cs
index ace3b4b7aa1..c6ac9469b64 100644
--- a/mcs/class/System.Drawing/System.Drawing.Printing/PrintDocument.cs
+++ b/mcs/class/System.Drawing/System.Drawing.Printing/PrintDocument.cs
@@ -55,7 +55,7 @@ namespace System.Drawing.Printing
printersettings = new PrinterSettings(); // use default values
printcontroller = new StandardPrintController();
}
-
+
// properties
[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
[Browsable (false)]
@@ -139,9 +139,11 @@ namespace System.Drawing.Printing
PrintPageEventArgs printPageArgs;
do
{
- PageSettings pageSettings = DefaultPageSettings.Clone() as PageSettings;
- this.OnQueryPageSettings(new QueryPageSettingsEventArgs(pageSettings));
+ QueryPageSettingsEventArgs queryPageSettingsArgs = new QueryPageSettingsEventArgs (
+ DefaultPageSettings.Clone () as PageSettings);
+ OnQueryPageSettings (queryPageSettingsArgs);
+ PageSettings pageSettings = queryPageSettingsArgs.PageSettings;
printPageArgs = new PrintPageEventArgs(
g,
pageSettings.Bounds,