Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/04/16 13:28:04 (9 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.PluginInfrastructure/3.3
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Properties/Settings.Designer.cs

    r11623 r13586  
    22// <auto-generated>
    33//     This code was generated by a tool.
    4 //     Runtime Version:4.0.30319.34014
     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    public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
    1717       
     
    8383            }
    8484        }
     85       
     86        [global::System.Configuration.UserScopedSettingAttribute()]
     87        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     88        [global::System.Configuration.DefaultSettingValueAttribute("0, 0")]
     89        public global::System.Drawing.Point StarterFormLocation {
     90            get {
     91                return ((global::System.Drawing.Point)(this["StarterFormLocation"]));
     92            }
     93            set {
     94                this["StarterFormLocation"] = value;
     95            }
     96        }
     97       
     98        [global::System.Configuration.UserScopedSettingAttribute()]
     99        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     100        [global::System.Configuration.DefaultSettingValueAttribute("0, 0")]
     101        public global::System.Drawing.Size StarterFormSize {
     102            get {
     103                return ((global::System.Drawing.Size)(this["StarterFormSize"]));
     104            }
     105            set {
     106                this["StarterFormSize"] = value;
     107            }
     108        }
     109       
     110        [global::System.Configuration.UserScopedSettingAttribute()]
     111        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     112        [global::System.Configuration.DefaultSettingValueAttribute("Normal")]
     113        public global::System.Windows.Forms.FormWindowState StarterFormWindowState {
     114            get {
     115                return ((global::System.Windows.Forms.FormWindowState)(this["StarterFormWindowState"]));
     116            }
     117            set {
     118                this["StarterFormWindowState"] = value;
     119            }
     120        }
    85121    }
    86122}
  • trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Properties/Settings.settings

    r4495 r13586  
    1818      <Value Profile="(Default)">http://services.heuristiclab.com/Deployment-3.3/AdminService.svc</Value>
    1919    </Setting>
     20    <Setting Name="StarterFormLocation" Type="System.Drawing.Point" Scope="User">
     21      <Value Profile="(Default)">0, 0</Value>
     22    </Setting>
     23    <Setting Name="StarterFormSize" Type="System.Drawing.Size" Scope="User">
     24      <Value Profile="(Default)">0, 0</Value>
     25    </Setting>
     26    <Setting Name="StarterFormWindowState" Type="System.Windows.Forms.FormWindowState" Scope="User">
     27      <Value Profile="(Default)">Normal</Value>
     28    </Setting>
    2029  </Settings>
    2130</SettingsFile>
  • trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Starter/StarterForm.cs

    r12012 r13586  
    2222using System;
    2323using System.Collections.Generic;
     24using System.Drawing;
    2425using System.IO;
    2526using System.Linq;
     
    2930using HeuristicLab.PluginInfrastructure.Advanced;
    3031using HeuristicLab.PluginInfrastructure.Manager;
     32using HeuristicLab.PluginInfrastructure.Properties;
    3133
    3234namespace HeuristicLab.PluginInfrastructure.Starter {
     
    6769      splashScreen.Show(this, "Loading HeuristicLab...");
    6870
     71      if (CheckSavedStarterFormSettings()) {
     72        Location = Settings.Default.StarterFormLocation;
     73        Size = Settings.Default.StarterFormSize;
     74        WindowState = Settings.Default.StarterFormWindowState;
     75      }
     76
    6977      pluginManager.DiscoverAndCheckPlugins();
    7078      UpdateApplicationsList();
     
    96104      splashScreen.Close();
    97105      abortRequested = true;
     106
     107      if (WindowState != FormWindowState.Minimized)
     108        Settings.Default.StarterFormWindowState = WindowState;
     109      if (WindowState != FormWindowState.Normal) {
     110        Settings.Default.StarterFormLocation = RestoreBounds.Location;
     111        Settings.Default.StarterFormSize = RestoreBounds.Size;
     112      } else if (WindowState == FormWindowState.Normal) {
     113        Settings.Default.StarterFormLocation = Location;
     114        Settings.Default.StarterFormSize = Size;
     115      }
     116
     117      Settings.Default.Save();
    98118    }
    99119
     
    177197
    178198    #region Helpers
     199    private bool CheckSavedStarterFormSettings() {
     200      var formArea = new Rectangle(Settings.Default.StarterFormLocation, Settings.Default.StarterFormSize);
     201      var screenArea = Screen.FromRectangle(formArea).WorkingArea;
     202      var overlappingArea = Rectangle.Intersect(formArea, screenArea);
     203      bool offLimits = overlappingArea.IsEmpty || overlappingArea.Width * overlappingArea.Height < formArea.Width * formArea.Height * 0.25;
     204      return !formArea.IsEmpty && !offLimits;
     205    }
     206
    179207    private void UpdateApplicationsList() {
    180208      if (InvokeRequired) Invoke((Action)UpdateApplicationsList);
  • trunk/sources/HeuristicLab.PluginInfrastructure/3.3/app.config

    r11623 r13586  
    2323      <setting name="UpdateLocationAdministrationAddress" serializeAs="String">
    2424        <value>http://services.heuristiclab.com/Deployment-3.3/AdminService.svc</value>
     25      </setting>
     26      <setting name="StarterFormLocation" serializeAs="String">
     27        <value>0, 0</value>
     28      </setting>
     29      <setting name="StarterFormSize" serializeAs="String">
     30        <value>0, 0</value>
     31      </setting>
     32      <setting name="StarterFormWindowState" serializeAs="String">
     33        <value>Normal</value>
    2534      </setting>
    2635    </HeuristicLab.PluginInfrastructure.Properties.Settings>
Note: See TracChangeset for help on using the changeset viewer.