Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/04/16 13:28:04 (8 years ago)
Author:
jkarder
Message:

#2567: worked on saving Location/Size/WindowState settings

  • added settings for StarterForm
  • removed ShowMaximized setting used by MainForm
  • implemented checks to fall back to default values if necessary
Location:
trunk/sources/HeuristicLab.Optimizer/3.3
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Optimizer/3.3/OptimizerDockingMainForm.cs

    r12012 r13586  
    8080        startPage.Show();
    8181      }
    82 
    83       WindowState = Properties.Settings.Default.ShowMaximized ? FormWindowState.Maximized : FormWindowState.Normal;
    8482    }
    8583
     
    9391    protected override void OnClosed(EventArgs e) {
    9492      base.OnClosed(e);
    95       Properties.Settings.Default.ShowMaximized = WindowState == FormWindowState.Maximized;
    9693      Properties.Settings.Default.CollapseClipboard = clipboard.Collapsed;
    9794      OperatorsSidebar operatorsSidebar = MainFormManager.MainForm.Views.OfType<OperatorsSidebar>().FirstOrDefault();
  • trunk/sources/HeuristicLab.Optimizer/3.3/OptimizerMultipleDocumentMainForm.cs

    r12012 r13586  
    8080        startPage.Show();
    8181      }
    82 
    83       WindowState = Properties.Settings.Default.ShowMaximized ? FormWindowState.Maximized : FormWindowState.Normal;
    8482    }
    8583
     
    9391    protected override void OnClosed(EventArgs e) {
    9492      base.OnClosed(e);
    95       Properties.Settings.Default.ShowMaximized = WindowState == FormWindowState.Maximized;
    9693      Properties.Settings.Default.CollapseClipboard = clipboard.Collapsed;
    9794      OperatorsSidebar operatorsSidebar = MainFormManager.MainForm.Views.OfType<OperatorsSidebar>().FirstOrDefault();
  • trunk/sources/HeuristicLab.Optimizer/3.3/OptimizerSingleDocumentMainForm.cs

    r12012 r13586  
    8080        startPage.Show();
    8181      }
    82 
    83       WindowState = Properties.Settings.Default.ShowMaximized ? FormWindowState.Maximized : FormWindowState.Normal;
    8482    }
    8583
     
    9391    protected override void OnClosed(EventArgs e) {
    9492      base.OnClosed(e);
    95       Properties.Settings.Default.ShowMaximized = WindowState == FormWindowState.Maximized;
    9693      Properties.Settings.Default.CollapseClipboard = clipboard.Collapsed;
    9794      OperatorsSidebar operatorsSidebar = MainFormManager.MainForm.Views.OfType<OperatorsSidebar>().FirstOrDefault();
  • trunk/sources/HeuristicLab.Optimizer/3.3/Plugin.cs.frame

    r13567 r13586  
    2020#endregion
    2121
     22using System.Drawing;
    2223using System.Linq;
    2324using System.Windows.Forms;
     
    6061      }
    6162
    62       if (mainForm != null) {     
    63         mainForm.Location = Settings.Default.MainFormLocation;
    64         mainForm.Size = Settings.Default.MainFormSize;
    65         mainForm.Load += (sender, eventArgs) => {
     63      if (mainForm != null) {
     64        if (CheckSavedMainFormSettings()) {
     65          mainForm.Location = Settings.Default.MainFormLocation;
     66          mainForm.Size = Settings.Default.MainFormSize;
    6667          mainForm.WindowState = Settings.Default.MainFormWindowState;
    67         };
     68        }
    6869
    6970        mainForm.FormClosing += (sender, eventArgs) => {
    70           Settings.Default.MainFormWindowState = mainForm.WindowState;
     71          if (mainForm.WindowState != FormWindowState.Minimized)
     72            Settings.Default.MainFormWindowState = mainForm.WindowState;
    7173          if (mainForm.WindowState != FormWindowState.Normal) {
    7274            Settings.Default.MainFormLocation = mainForm.RestoreBounds.Location;
     
    9092      }
    9193    }
     94
     95    private bool CheckSavedMainFormSettings() {
     96      var formArea = new Rectangle(Settings.Default.MainFormLocation, Settings.Default.MainFormSize);
     97      var screenArea = Screen.FromRectangle(formArea).WorkingArea;
     98      var overlappingArea = Rectangle.Intersect(formArea, screenArea);
     99      bool offLimits = overlappingArea.IsEmpty || overlappingArea.Width * overlappingArea.Height < formArea.Width * formArea.Height * 0.25;
     100      return !formArea.IsEmpty && !offLimits;
     101    }
    92102  }
    93103}
  • trunk/sources/HeuristicLab.Optimizer/3.3/Properties/Settings.Designer.cs

    r13567 r13586  
    22// <auto-generated>
    33//     This code was generated by a tool.
    4 //     Runtime Version:4.0.30319.34209
     4//     Runtime Version:4.0.30319.42000
    55//
    66//     Changes to this file may cause incorrect behavior and will be lost if
     
    1313   
    1414    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
    15     [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
     15    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
    1616    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
    1717       
     
    5757            set {
    5858                this["ShowClipboard"] = value;
    59             }
    60         }
    61        
    62         [global::System.Configuration.UserScopedSettingAttribute()]
    63         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    64         [global::System.Configuration.DefaultSettingValueAttribute("True")]
    65         public bool ShowMaximized {
    66             get {
    67                 return ((bool)(this["ShowMaximized"]));
    68             }
    69             set {
    70                 this["ShowMaximized"] = value;
    7159            }
    7260        }
  • trunk/sources/HeuristicLab.Optimizer/3.3/Properties/Settings.settings

    r13567 r13586  
    1010    </Setting>
    1111    <Setting Name="ShowClipboard" Type="System.Boolean" Scope="User">
    12       <Value Profile="(Default)">True</Value>
    13     </Setting>
    14     <Setting Name="ShowMaximized" Type="System.Boolean" Scope="User">
    1512      <Value Profile="(Default)">True</Value>
    1613    </Setting>
  • trunk/sources/HeuristicLab.Optimizer/3.3/app.config

    r13567 r13586  
    1515            </setting>
    1616            <setting name="ShowClipboard" serializeAs="String">
    17                 <value>True</value>
    18             </setting>
    19             <setting name="ShowMaximized" serializeAs="String">
    2017                <value>True</value>
    2118            </setting>
Note: See TracChangeset for help on using the changeset viewer.