Adding per client borders and hotkey to cycle through clients

This commit is contained in:
Aura Asuna
2022-05-10 01:31:50 +10:00
parent f5777de77c
commit 0ddaa99c9a
12 changed files with 317 additions and 17 deletions

View File

@@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using Newtonsoft.Json;
@@ -14,6 +15,30 @@ namespace EveOPreview.Configuration.Implementation
public ThumbnailConfiguration()
{
this.CycleGroup1ForwardHotkeys = new List<string> { "F14", "Control+F14" };
this.CycleGroup1BackwardHotkeys = new List<string> { "F13", "Control+F13" };
this.CycleGroup1ClientsOrder = new Dictionary<string, string>
{
{ "EVE - Example DPS Toon 1", "1" },
{ "EVE - Example DPS Toon 2", "2" },
{ "EVE - Example DPS Toon 3", "3" }
};
this.CycleGroup2ForwardHotkeys = new List<string> { "F16", "Control+F16" };
this.CycleGroup2BackwardHotkeys = new List<string> { "F15", "Control+F15" };
this.CycleGroup2ClientsOrder = new Dictionary<string, string>
{
{ "EVE - Example Logi Toon 1", "1" },
{ "EVE - Example Scout Toon 2", "2" },
{ "EVE - Example Tackle Toon 3", "3" }
};
this.PerClientActiveClientHighlightColor = new Dictionary<string, Color>
{
{"EVE - Example Toon 1", Color.Red},
{"EVE - Example Toon 2", Color.Green}
};
this.PerClientLayout = new Dictionary<string, Dictionary<string, Point>>();
this.FlatLayout = new Dictionary<string, Point>();
this.ClientLayout = new Dictionary<string, ClientLayout>();
@@ -55,6 +80,27 @@ namespace EveOPreview.Configuration.Implementation
this.ActiveClientHighlightThickness = 3;
}
[JsonProperty("CycleGroup1ForwardHotkeys")]
public List<string> CycleGroup1ForwardHotkeys { get; set; }
[JsonProperty("CycleGroup1BackwardHotkeys")]
public List<string> CycleGroup1BackwardHotkeys { get; set; }
[JsonProperty("CycleGroup1ClientsOrder")]
public Dictionary<string, string> CycleGroup1ClientsOrder { get; set; }
[JsonProperty("CycleGroup2ForwardHotkeys")]
public List<string> CycleGroup2ForwardHotkeys { get; set; }
[JsonProperty("CycleGroup2BackwardHotkeys")]
public List<string> CycleGroup2BackwardHotkeys { get; set; }
[JsonProperty("CycleGroup2ClientsOrder")]
public Dictionary<string, string> CycleGroup2ClientsOrder { get; set; }
[JsonProperty("PerClientActiveClientHighlightColor")]
public Dictionary<string, Color> PerClientActiveClientHighlightColor { get; set; }
public bool MinimizeToTray { get; set; }
public int ThumbnailRefreshPeriod { get; set; }
@@ -220,6 +266,12 @@ namespace EveOPreview.Configuration.Implementation
this.ClientHotkey[currentClient] = (new KeysConverter()).ConvertToInvariantString(hotkey);
}
public Keys StringToKey(string hotkey)
{
object rawValue = (new KeysConverter()).ConvertFromInvariantString(hotkey);
return rawValue != null ? (Keys)rawValue : Keys.None;
}
public bool IsPriorityClient(string currentClient)
{
return this.PriorityClients.Contains(currentClient);