Clear tracked client window positions library when the corresponding option is unset

This commit is contained in:
Anton Kasyanov
2018-03-12 21:34:13 +02:00
parent 0e874f1640
commit 771383a681

View File

@@ -9,10 +9,17 @@ namespace EveOPreview.Configuration.Omplementation
{ {
#region Private fields #region Private fields
private bool _enablePerClientThumbnailLayouts; private bool _enablePerClientThumbnailLayouts;
private bool _enableClientLayoutTracking;
#endregion #endregion
public ThumbnailConfiguration() public ThumbnailConfiguration()
{ {
this.PerClientLayout = new Dictionary<string, Dictionary<string, Point>>();
this.FlatLayout = new Dictionary<string, Point>();
this.ClientLayout = new Dictionary<string, ClientLayout>();
this.ClientHotkey = new Dictionary<string, string>();
this.DisableThumbnail = new Dictionary<string, bool>();
this.MinimizeToTray = false; this.MinimizeToTray = false;
this.ThumbnailRefreshPeriod = 500; this.ThumbnailRefreshPeriod = 500;
@@ -23,7 +30,7 @@ namespace EveOPreview.Configuration.Omplementation
this.MinimizeInactiveClients = false; this.MinimizeInactiveClients = false;
this.ShowThumbnailsAlwaysOnTop = true; this.ShowThumbnailsAlwaysOnTop = true;
this.HideThumbnailsOnLostFocus = false; this.HideThumbnailsOnLostFocus = false;
this._enablePerClientThumbnailLayouts = false; this.EnablePerClientThumbnailLayouts = false;
this.ThumbnailSize = new Size(384, 216); this.ThumbnailSize = new Size(384, 216);
this.ThumbnailMinimumSize = new Size(192, 108); this.ThumbnailMinimumSize = new Size(192, 108);
@@ -39,12 +46,6 @@ namespace EveOPreview.Configuration.Omplementation
this.EnableActiveClientHighlight = false; this.EnableActiveClientHighlight = false;
this.ActiveClientHighlightColor = Color.GreenYellow; this.ActiveClientHighlightColor = Color.GreenYellow;
this.ActiveClientHighlightThickness = 3; this.ActiveClientHighlightThickness = 3;
this.PerClientLayout = new Dictionary<string, Dictionary<string, Point>>();
this.FlatLayout = new Dictionary<string, Point>();
this.ClientLayout = new Dictionary<string, ClientLayout>();
this.ClientHotkey = new Dictionary<string, string>();
this.DisableThumbnail = new Dictionary<string, bool>();
} }
public bool MinimizeToTray { get; set; } public bool MinimizeToTray { get; set; }
@@ -53,11 +54,25 @@ namespace EveOPreview.Configuration.Omplementation
[JsonProperty("ThumbnailsOpacity")] [JsonProperty("ThumbnailsOpacity")]
public double ThumbnailOpacity { get; set; } public double ThumbnailOpacity { get; set; }
public bool EnableClientLayoutTracking { get; set; } public bool EnableClientLayoutTracking
{
get => this._enableClientLayoutTracking;
set
{
if (!value)
{
this.ClientLayout.Clear();
}
this._enableClientLayoutTracking = value;
}
}
public bool HideActiveClientThumbnail { get; set; } public bool HideActiveClientThumbnail { get; set; }
public bool MinimizeInactiveClients { get; set; } public bool MinimizeInactiveClients { get; set; }
public bool ShowThumbnailsAlwaysOnTop { get; set; } public bool ShowThumbnailsAlwaysOnTop { get; set; }
public bool HideThumbnailsOnLostFocus { get; set; } public bool HideThumbnailsOnLostFocus { get; set; }
public bool EnablePerClientThumbnailLayouts public bool EnablePerClientThumbnailLayouts
{ {
get => this._enablePerClientThumbnailLayouts; get => this._enablePerClientThumbnailLayouts;
@@ -67,6 +82,7 @@ namespace EveOPreview.Configuration.Omplementation
{ {
this.PerClientLayout.Clear(); this.PerClientLayout.Clear();
} }
this._enablePerClientThumbnailLayouts = value; this._enablePerClientThumbnailLayouts = value;
} }
} }