Optionally show a border around the thumbnail of the currently active EVE client

This commit is contained in:
Anton Kasyanov
2016-08-17 19:10:11 +03:00
parent ae071a9a1c
commit 88140d257e
12 changed files with 131 additions and 66 deletions

View File

@@ -5,15 +5,15 @@ using Newtonsoft.Json;
namespace EveOPreview.Configuration
{
public class ApplicationConfiguration : IApplicationConfiguration
public class AppConfig : IAppConfig
{
public ApplicationConfiguration()
public AppConfig()
{
// Default values
this.MinimizeToTray = false;
this.ThumbnailRefreshPeriod = 500;
this.ThumbnailsOpacity = 0.5;
this.ThumbnailOpacity = 0.5;
this.EnableClientLayoutTracking = false;
this.HideActiveClientThumbnail = false;
@@ -25,13 +25,16 @@ namespace EveOPreview.Configuration
this.ThumbnailMinimumSize = new Size(100, 80);
this.ThumbnailMaximumSize = new Size(640, 400);
this.EnableThumbnailZoom = false;
this.ThumbnailZoomEnabled = false;
this.ThumbnailZoomFactor = 2;
this.ThumbnailZoomAnchor = ZoomAnchor.NW;
this.ShowThumbnailOverlays = true;
this.ShowThumbnailFrames = true;
this.EnableActiveClientHighlight = true;
this.ActiveClientHighlightColor = Color.GreenYellow;
this.PerClientLayout = new Dictionary<string, Dictionary<string, Point>>();
this.FlatLayout = new Dictionary<string, Point>();
this.ClientLayout = new Dictionary<string, ClientLayout>();
@@ -41,7 +44,8 @@ namespace EveOPreview.Configuration
public bool MinimizeToTray { get; set; }
public int ThumbnailRefreshPeriod { get; set; }
public double ThumbnailsOpacity { get; set; }
[JsonProperty("ThumbnailsOpacity")]
public double ThumbnailOpacity { get; set; }
public bool EnableClientLayoutTracking { get; set; }
public bool HideActiveClientThumbnail { get; set; }
@@ -53,13 +57,17 @@ namespace EveOPreview.Configuration
public Size ThumbnailMaximumSize { get; set; }
public Size ThumbnailMinimumSize { get; set; }
public bool EnableThumbnailZoom { get; set; }
[JsonProperty("EnableThumbnailZoom")]
public bool ThumbnailZoomEnabled { get; set; }
public int ThumbnailZoomFactor { get; set; }
public ZoomAnchor ThumbnailZoomAnchor { get; set; }
public bool ShowThumbnailOverlays { get; set; }
public bool ShowThumbnailFrames { get; set; }
public bool EnableActiveClientHighlight { get; set; }
public Color ActiveClientHighlightColor { get; set; }
[JsonProperty]
private Dictionary<string, Dictionary<string, Point>> PerClientLayout { get; set; }
[JsonProperty]

View File

@@ -7,9 +7,9 @@ namespace EveOPreview.Configuration
{
private const string ConfigurationFileName = "EVE-O Preview.json";
private readonly IApplicationConfiguration _configuration;
private readonly IAppConfig _configuration;
public ConfigurationStorage(IApplicationConfiguration configuration)
public ConfigurationStorage(IAppConfig configuration)
{
this._configuration = configuration;
}

View File

@@ -3,12 +3,12 @@ using System.Windows.Forms;
namespace EveOPreview.Configuration
{
public interface IApplicationConfiguration
public interface IAppConfig
{
bool MinimizeToTray { get; set; }
int ThumbnailRefreshPeriod { get; set; }
double ThumbnailsOpacity { get; set; }
double ThumbnailOpacity { get; set; }
bool EnableClientLayoutTracking { get; set; }
bool HideActiveClientThumbnail { get; set; }
@@ -20,13 +20,16 @@ namespace EveOPreview.Configuration
Size ThumbnailMinimumSize { get; set; }
Size ThumbnailMaximumSize { get; set; }
bool EnableThumbnailZoom { get; set; }
bool ThumbnailZoomEnabled { get; set; }
int ThumbnailZoomFactor { get; set; }
ZoomAnchor ThumbnailZoomAnchor { get; set; }
bool ShowThumbnailOverlays { get; set; }
bool ShowThumbnailFrames { get; set; }
bool EnableActiveClientHighlight { get; set; }
Color ActiveClientHighlightColor { get; set; }
Point GetThumbnailLocation(string currentClient, string activeClient, Point defaultLocation);
void SetThumbnailLocation(string currentClient, string activeClient, Point location);