2009-01-02 Ivan N. Zlatev <contact@i-nz.net>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / PageSetupDialog.cs
index 38693c02a00dcc380998d444ee86f4ecfa05117d..8fbb5693a4ce455f4428472e396cb9417fcd198e 100644 (file)
@@ -34,11 +34,11 @@ using System.Drawing.Printing;
 using System.Globalization;
 using System.Reflection;
 
-namespace System.Windows.Forms {
-
+namespace System.Windows.Forms
+{
        [DefaultProperty("Document")]
-       public sealed class PageSetupDialog : CommonDialog {
-
+       public sealed class PageSetupDialog : CommonDialog
+       {
                #region Local variables
                private PrintDocument document;
                private PageSettings page_settings;
@@ -50,7 +50,9 @@ namespace System.Windows.Forms {
                private bool allow_printer;
                private bool show_help;
                private bool show_network;
-
+#if NET_2_0
+               private bool enable_metric;
+#endif
                private GroupBox groupbox_paper;
                private Label label_source;
                private Label label_size;
@@ -72,21 +74,20 @@ namespace System.Windows.Forms {
                private NumericTextBox textbox_bottom;
                private ComboBox combobox_source;
                private ComboBox combobox_size;
-               private PrinterForm printer_helper_form;
                private PagePreview pagePreview;
                #endregion // Local variables
 
                #region Public Constructors
-               public PageSetupDialog () 
+               public PageSetupDialog ()
                {
+                       form = new DialogForm (this);
                        InitializeComponent();
                        Reset ();
                }
                #endregion // Public Constructors
 
-
                #region Public Instance Methods
-               public override void Reset () 
+               public override void Reset ()
                {
                        AllowMargins = true;
                        AllowOrientation = true;
@@ -138,6 +139,17 @@ namespace System.Windows.Forms {
                        }
                }
 
+#if NET_2_0
+               [Browsable (true)]
+               [DefaultValue (false)]
+               [MonoTODO ("Stubbed, not implemented")]
+               [EditorBrowsableAttribute (EditorBrowsableState.Always)]
+               public bool EnableMetric {
+                       get { return enable_metric; }
+                       set { enable_metric = value; }
+               }
+#endif
+
                public Margins MinMargins {
                        get { return min_margins; }
                        set { min_margins = value; }
@@ -148,7 +160,7 @@ namespace System.Windows.Forms {
                [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
                public PageSettings PageSettings {
                        get { return page_settings; }
-                       set { 
+                       set {
                                page_settings = value;
                                document = null;
                        }
@@ -159,7 +171,7 @@ namespace System.Windows.Forms {
                [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
                public PrinterSettings PrinterSettings {
                        get { return printer_settings; }
-                       set { 
+                       set {
                                printer_settings = value;
                                document = null;
                        }
@@ -168,7 +180,7 @@ namespace System.Windows.Forms {
                [DefaultValue(false)]
                public bool ShowHelp {
                        get { return show_help; }
-                       set { 
+                       set {
                                if (value != show_help) {
                                        show_help = value;
                                        ShowHelpButton ();
@@ -185,13 +197,12 @@ namespace System.Windows.Forms {
                #endregion // Public Instance Properties
 
                #region Protected Instance Methods
-               protected override bool RunDialog (IntPtr hwnd
+               protected override bool RunDialog (IntPtr hwndOwner)
                {
                        try {
                                SetPrinterDetails ();
                                return true;
-                       }
-                       catch (Exception e) {
+                       } catch (Exception e) {
                                MessageBox.Show (e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                return false;
                        }
@@ -443,7 +454,8 @@ namespace System.Windows.Forms {
                }
 
                static bool UseYardPound {
-                       get { return !RegionInfo.CurrentRegion.IsMetric; }                      }
+                       get { return !RegionInfo.CurrentRegion.IsMetric; }
+               }
 
                // .Net uses PrinterSettings property if it is not null.
                // Otherwise, it uses PageSettings.PrinterSettings to set values.
@@ -519,7 +531,7 @@ namespace System.Windows.Forms {
                }
 
                private void OnClickOkButton (object sender, EventArgs e)
-               {                       
+               {
                        if (combobox_size.SelectedItem != null) {
                                foreach (PaperSize paper_size in InternalPrinterSettings.PaperSizes) {
                                        if (paper_size.PaperName == (string) combobox_size.SelectedItem) {
@@ -565,8 +577,7 @@ namespace System.Windows.Forms {
 
                void OnClickPrinterButton (object sender, EventArgs args)
                {
-                       if (printer_helper_form == null)
-                               printer_helper_form = new PrinterForm (this);
+                       PrinterForm printer_helper_form = new PrinterForm (this);
 
                        printer_helper_form.UpdateValues ();
 
@@ -575,7 +586,10 @@ namespace System.Windows.Forms {
                                if (printer_helper_form.SelectedPrinter != PrinterSettings.PrinterName)
                                        PrinterSettings.PrinterName = printer_helper_form.SelectedPrinter;
 
+                       PageSettings = PrinterSettings.DefaultPageSettings;
+                       SetPrinterDetails ();
                        button_ok.Select ();
+                       printer_helper_form.Dispose ();
                }
 
                void OnPaperSizeChange (object sender, EventArgs e)
@@ -844,13 +858,11 @@ namespace System.Windows.Forms {
 
                        System.Text.StringBuilder sb;
                        float displayHeight;
-                       Font font;
+                       new Font font;
 
-                       public bool Landscape
-                       {
+                       public bool Landscape {
                                get { return landscape; }
-                               set
-                               {
+                               set {
                                        if (landscape != value) {
                                                landscape = value;
                                                Invalidate ();
@@ -858,9 +870,9 @@ namespace System.Windows.Forms {
                                }
                        }
 
-                       public float Height {
+                       public new float Height {
                                get { return displayHeight; }
-                               set { 
+                               set {
                                        if (displayHeight != value) {
                                                displayHeight = value; 
                                                Invalidate ();