Testing a Merge fix

This commit is contained in:
Eric Vasquez
2024-11-10 18:24:17 -06:00
parent 63fe0846aa
commit 1eafad0159
37 changed files with 1605 additions and 2013 deletions

1
.gitignore vendored
View File

@@ -3,6 +3,7 @@ obj/
publish/
tools/
src/.vs/
src/*/.vs/
*.suo
*.user
*.DotSettings

View File

@@ -30,11 +30,24 @@ Video Guides:
* [Eve online , How To : EVE-O Preview (multiboxing; legal)](https://youtu.be/2r0NMKbogXU)
## Development Details
Use this info to deploy this git in your own dev environment to play with the code and build your own EXE.
1. Install VS Studio (not code)
* DEPENDENCIES
* Core
* .NET desktop development workload w/ 4.8 framework
2. Clone the Git - https://github.com/Proopai/eve-o-preview
3. Open the Project/Solution
4. You can now edit code
5. To build, Right click the `Eve-O-Preview` project in the `Solutions Explorer` and select `Build`
If you did everything correct, VS will now build the project in seconds and tell you where it placed the EXE.
## System Requirements
* Windows 7, Windows 8/8.1, Windows 10, Windows 11, Linux Wine
* Microsoft .NET Framework 4.6.2+
* Microsoft .NET Framework 4.8+
* EVE clients Display Mode should be set to **Fixed Window** or **Window Mode**. **Fullscreen** mode is not supported.
<div style="page-break-after: always;"></div>
@@ -68,6 +81,7 @@ CCP Grimmi wrote:
| Track client locations | Determines whether the client's window position should be restored when it is activated or started |
| Hide preview of active EVE client | Determines whether the thumbnail corresponding to the active EVE client is not displayed |
| Minimize inactive EVE clients | Allows to auto-minimize inactive EVE clients to save CPU and GPU |
| Minimize inactive EVE clients Animation | If Minimize Clients is set, this setting will enable windows animations (if checked) or disable if unchecked.
| Previews always on top | Determines whether EVE client thumbnails should stay on top of all other windows |
| Hide previews when EVE client is not active | Determines whether all thumbnails should be visible only when an EVE client is active |
| Unique layout for each EVE client | Determines whether thumbnails positions are different depending on the EVE client being active |
@@ -78,6 +92,9 @@ CCP Grimmi wrote:
| Opacity | Determines the inactive EVE thumbnails opacity (from almost invisible 20% to 100% solid) |
| Thumbnail Width | Thumbnails width. Can be set to any value from **100** to **640** points |
| Thumbnail Height | Thumbnails Height. Can be set to any value from **80** to **400** points |
| Lock Thumbnail Location | Lock position of thumbnails, preventing misclicks moving your thumbnails |
| Thumbnail Snap to Grid | Force Thumbnails to snap to defined grid when moved |
| Snap X / Snap Y | X/Y grid Pixels |
#### **Zoom** Tab
| Option | Description |
@@ -93,6 +110,9 @@ CCP Grimmi wrote:
| Show frames | Determines whether thumbnails should be displays with window caption and borders |
| Highlight active client | Determines whether the thumbnail of the active EVE client should be highlighted with a bright border |
| Color | Color used to highlight the active client's thumbnail in case the corresponding option is set |
| Label Size | The fontsize of the overlay label (Character Name) |
| Label Color | The color of the Font for the Overlay Label |
| Position | The position of the overlay label in the thumbnail |
#### **Active Clients** Tab
| Option | Description |
@@ -254,6 +274,8 @@ This setting allows to enable an alternate thumbnail render. This render doesn't
* Dal Shooth
* Izakbar
### Created by
@@ -289,5 +311,5 @@ https://bitbucket.org/ulph/eve-o-preview-git
## CCP Copyright Notice
EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. CCP hf. has granted permission to pyfa to use EVE Online and all associated logos and designs for promotional and information purposes on its website but does not endorse, and is not in any way affiliated with, pyfa. CCP is in no way responsible for the content on or functioning of this program, nor can it be liable for any damage arising from the use of this program.
EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. CCP hf. has granted permission to Eve-O-Preview to use EVE Online and all associated logos and designs for promotional and information purposes on its website but does not endorse, and is not in any way affiliated with, Eve-O-Preview. CCP is in no way responsible for the content on or functioning of this program, nor can it be liable for any damage arising from the use of this program.

View File

@@ -1,32 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PackAsTool>true</PackAsTool>
<!-- Make sure start same folder .NET Core CLI and Visual Studio -->
<RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
<Configurations>Debug;Release;Build</Configurations>
</PropertyGroup>
<ItemGroup>
<None Remove="Themes\Github\Theme.css" />
<None Remove="Themes\Github\Theme.html" />
</ItemGroup>
<ItemGroup>
<Content Include="Themes\Github\Theme.css">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Themes\Github\Theme.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Cake.Frosting" Version="4.0.0" />
<PackageReference Include="Cake.MarkdownToPdf" Version="3.0.5" />
</ItemGroup>
</Project>

View File

@@ -1,14 +0,0 @@
namespace Build
{
static class Configuration
{
public const string SolutionName = @"./src/EVE-O-Preview.sln";
public const string BinFolder = @"./bin";
public const string ToolsFolder = @"./tools";
public const string PublishFolder = @"./publish";
public const string BuildConfiguration = @"Release";
public const string BuildToolPath = @"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe"; // Set to NULL to let Cake to try to use the default MSBuild instance
}
}

View File

@@ -1,13 +0,0 @@
using Cake.Core;
using Cake.Frosting;
namespace Build
{
public class Context : FrostingContext
{
public Context(ICakeContext context)
: base(context)
{
}
}
}

View File

@@ -1,59 +0,0 @@
using Cake.Common.Diagnostics;
using Cake.Common.IO;
using Cake.Common.Net;
using Cake.Core;
using Cake.Core.IO;
using Cake.Frosting;
namespace Build
{
public sealed class Lifetime : FrostingLifetime<Context>
{
private const string NuGetUrl = @"https://dist.nuget.org/win-x86-commandline/latest/nuget.exe";
private void DeleteDirectory(Context context, string directoryName)
{
if (!context.DirectoryExists(directoryName))
{
return;
}
context.DeleteDirectory(directoryName, new DeleteDirectorySettings { Force = true, Recursive = true });
}
private void DownloadNuGet(Context context)
{
if (context.FileExists(Configuration.ToolsFolder + "/nuget.exe"))
{
return;
}
if (!context.DirectoryExists(Configuration.ToolsFolder))
{
context.CreateDirectory(Configuration.ToolsFolder);
}
var tempFile = context.DownloadFile(NuGetUrl);
context.CopyFile(tempFile, new FilePath(Configuration.ToolsFolder + "/nuget.exe"));
}
public override void Setup(Context context)
{
context.Information("Setting things up...");
context.Information("Delete bin and publish folders");
this.DeleteDirectory(context, Configuration.BinFolder);
this.DeleteDirectory(context, Configuration.PublishFolder);
context.Information("Download NuGet");
this.DownloadNuGet(context);
}
public override void Teardown(Context context, ITeardownContext info)
{
context.Information("Tearing things down...");
//this.DeleteDirectory(context, ToolsDirectoryName);
}
}
}

View File

@@ -1,22 +0,0 @@
using Cake.Frosting;
using Microsoft.Extensions.DependencyInjection;
namespace Build
{
public class Program : IFrostingStartup
{
public static int Main(string[] args)
=> new CakeHost()
.UseStartup<Program>()
.Run(args);
public void Configure(IServiceCollection services)
{
services.UseContext<Context>();
services.UseLifetime<Lifetime>();
//move up from build directory and searching for sln or csproj files
services.UseWorkingDirectory("..");
}
}
}

View File

@@ -1,26 +0,0 @@
using Cake.Common.Diagnostics;
using Cake.Common.Tools.MSBuild;
using Cake.Frosting;
namespace Build.Tasks
{
[Dependency(typeof(Restore))]
public sealed class Build : FrostingTask<Context>
{
public override void Run(Context context)
{
context.Information("Build started...");
context.MSBuild(Configuration.SolutionName, settings =>
{
settings.Configuration = Configuration.BuildConfiguration;
settings.ToolVersion = MSBuildToolVersion.Default;
if (!string.IsNullOrEmpty(Configuration.BuildToolPath))
{
settings.ToolPath = Configuration.BuildToolPath;
}
});
}
}
}

View File

@@ -1,9 +0,0 @@
using Cake.Frosting;
namespace Build.Tasks
{
[Dependency(typeof(Zip))]
public sealed class Default : FrostingTask<Context>
{
}
}

View File

@@ -1,22 +0,0 @@
using Cake.Common.Diagnostics;
using Cake.Frosting;
using Cake.MarkdownToPdf;
using Markdig;
namespace Build.Tasks
{
public sealed class Documentation : FrostingTask<Context>
{
public override void Run(Context context)
{
context.Information("Convert README.MD");
context.MarkdownFileToPdf("readme.md", Configuration.BinFolder + "/readme.pdf", settings =>
{
settings.Theme = Themes.Github;
settings.UseAdvancedMarkdownTables();
settings.MarkdownPipeline.UseGridTables();
});
}
}
}

View File

@@ -1,17 +0,0 @@
using Cake.Common.Diagnostics;
using Cake.Common.Tools.NuGet;
using Cake.Common.Tools.NuGet.Restore;
using Cake.Frosting;
namespace Build.Tasks
{
[Dependency(typeof(Documentation))]
public sealed class Restore : FrostingTask<Context>
{
public override void Run(Context context)
{
context.Information("Restore started...");
context.NuGetRestore(Configuration.SolutionName, new NuGetRestoreSettings { NoCache = true });
}
}
}

View File

@@ -1,20 +0,0 @@
using Cake.Common.IO;
using Cake.Frosting;
namespace Build.Tasks
{
[Dependency(typeof(Build))]
public sealed class Zip : FrostingTask<Context>
{
public override void Run(Context context)
{
if (!context.DirectoryExists(Configuration.PublishFolder))
{
context.CreateDirectory(Configuration.PublishFolder);
}
context.Zip(Configuration.BinFolder, Configuration.PublishFolder + "/EVE-O Preview.zip",
new[] { Configuration.BinFolder + "/EVE-O Preview.exe", Configuration.BinFolder + "/readme.pdf" });
}
}
}

View File

@@ -1,707 +0,0 @@
@font-face {
font-family: octicons-link;
src: url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) format('woff');
}
.markdown-body {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
line-height: 1.5;
color: #24292e;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: 16px;
line-height: 1.5;
word-wrap: break-word;
}
.markdown-body .pl-c {
color: #6a737d;
}
.markdown-body .pl-c1,
.markdown-body .pl-s .pl-v {
color: #005cc5;
}
.markdown-body .pl-e,
.markdown-body .pl-en {
color: #6f42c1;
}
.markdown-body .pl-smi,
.markdown-body .pl-s .pl-s1 {
color: #24292e;
}
.markdown-body .pl-ent {
color: #22863a;
}
.markdown-body .pl-k {
color: #d73a49;
}
.markdown-body .pl-s,
.markdown-body .pl-pds,
.markdown-body .pl-s .pl-pse .pl-s1,
.markdown-body .pl-sr,
.markdown-body .pl-sr .pl-cce,
.markdown-body .pl-sr .pl-sre,
.markdown-body .pl-sr .pl-sra {
color: #032f62;
}
.markdown-body .pl-v,
.markdown-body .pl-smw {
color: #e36209;
}
.markdown-body .pl-bu {
color: #b31d28;
}
.markdown-body .pl-ii {
color: #fafbfc;
background-color: #b31d28;
}
.markdown-body .pl-c2 {
color: #fafbfc;
background-color: #d73a49;
}
.markdown-body .pl-c2::before {
content: "^M";
}
.markdown-body .pl-sr .pl-cce {
font-weight: bold;
color: #22863a;
}
.markdown-body .pl-ml {
color: #735c0f;
}
.markdown-body .pl-mh,
.markdown-body .pl-mh .pl-en,
.markdown-body .pl-ms {
font-weight: bold;
color: #005cc5;
}
.markdown-body .pl-mi {
font-style: italic;
color: #24292e;
}
.markdown-body .pl-mb {
font-weight: bold;
color: #24292e;
}
.markdown-body .pl-md {
color: #b31d28;
background-color: #ffeef0;
}
.markdown-body .pl-mi1 {
color: #22863a;
background-color: #f0fff4;
}
.markdown-body .pl-mc {
color: #e36209;
background-color: #ffebda;
}
.markdown-body .pl-mi2 {
color: #f6f8fa;
background-color: #005cc5;
}
.markdown-body .pl-mdr {
font-weight: bold;
color: #6f42c1;
}
.markdown-body .pl-ba {
color: #586069;
}
.markdown-body .pl-sg {
color: #959da5;
}
.markdown-body .pl-corl {
text-decoration: underline;
color: #032f62;
}
.markdown-body .octicon {
display: inline-block;
vertical-align: text-top;
fill: currentColor;
}
.markdown-body a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
.markdown-body a:active,
.markdown-body a:hover {
outline-width: 0;
}
.markdown-body strong {
font-weight: inherit;
}
.markdown-body strong {
font-weight: bolder;
}
.markdown-body h1 {
font-size: 2em;
margin: 0.67em 0;
}
.markdown-body img {
border-style: none;
}
.markdown-body svg:not(:root) {
overflow: hidden;
}
.markdown-body code,
.markdown-body kbd,
.markdown-body pre {
font-family: monospace, monospace;
font-size: 1em;
}
.markdown-body hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
.markdown-body input {
font: inherit;
margin: 0;
}
.markdown-body input {
overflow: visible;
}
.markdown-body [type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
.markdown-body * {
box-sizing: border-box;
}
.markdown-body input {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
.markdown-body a {
color: #0366d6;
text-decoration: none;
}
.markdown-body a:hover {
text-decoration: underline;
}
.markdown-body strong {
font-weight: 600;
}
.markdown-body hr {
height: 0;
margin: 15px 0;
overflow: hidden;
background: transparent;
border: 0;
border-bottom: 1px solid #dfe2e5;
}
.markdown-body hr::before {
display: table;
content: "";
}
.markdown-body hr::after {
display: table;
clear: both;
content: "";
}
.markdown-body table {
border-spacing: 0;
border-collapse: collapse;
}
.markdown-body td,
.markdown-body th {
padding: 0;
}
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
margin-top: 0;
margin-bottom: 0;
}
.markdown-body h1 {
font-size: 32px;
font-weight: 600;
}
.markdown-body h2 {
font-size: 24px;
font-weight: 600;
}
.markdown-body h3 {
font-size: 20px;
font-weight: 600;
}
.markdown-body h4 {
font-size: 16px;
font-weight: 600;
}
.markdown-body h5 {
font-size: 14px;
font-weight: 600;
}
.markdown-body h6 {
font-size: 12px;
font-weight: 600;
}
.markdown-body p {
margin-top: 0;
margin-bottom: 10px;
}
.markdown-body blockquote {
margin: 0;
}
.markdown-body ul,
.markdown-body ol {
padding-left: 0;
margin-top: 0;
margin-bottom: 0;
}
.markdown-body ol ol,
.markdown-body ul ol {
list-style-type: lower-roman;
}
.markdown-body ul ul ol,
.markdown-body ul ol ol,
.markdown-body ol ul ol,
.markdown-body ol ol ol {
list-style-type: lower-alpha;
}
.markdown-body dd {
margin-left: 0;
}
.markdown-body code {
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 12px;
}
.markdown-body pre {
margin-top: 0;
margin-bottom: 0;
font: 12px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
}
.markdown-body .octicon {
vertical-align: text-bottom;
}
.markdown-body .pl-0 {
padding-left: 0 !important;
}
.markdown-body .pl-1 {
padding-left: 4px !important;
}
.markdown-body .pl-2 {
padding-left: 8px !important;
}
.markdown-body .pl-3 {
padding-left: 16px !important;
}
.markdown-body .pl-4 {
padding-left: 24px !important;
}
.markdown-body .pl-5 {
padding-left: 32px !important;
}
.markdown-body .pl-6 {
padding-left: 40px !important;
}
.markdown-body::before {
display: table;
content: "";
}
.markdown-body::after {
display: table;
clear: both;
content: "";
}
.markdown-body>*:first-child {
margin-top: 0 !important;
}
.markdown-body>*:last-child {
margin-bottom: 0 !important;
}
.markdown-body a:not([href]) {
color: inherit;
text-decoration: none;
}
.markdown-body .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.markdown-body .anchor:focus {
outline: none;
}
.markdown-body p,
.markdown-body blockquote,
.markdown-body ul,
.markdown-body ol,
.markdown-body dl,
.markdown-body table,
.markdown-body pre {
margin-top: 0;
margin-bottom: 16px;
}
.markdown-body hr {
height: 0.25em;
padding: 0;
margin: 24px 0;
background-color: #e1e4e8;
border: 0;
}
.markdown-body blockquote {
padding: 0 1em;
color: #6a737d;
border-left: 0.25em solid #dfe2e5;
}
.markdown-body blockquote>:first-child {
margin-top: 0;
}
.markdown-body blockquote>:last-child {
margin-bottom: 0;
}
.markdown-body kbd {
display: inline-block;
padding: 3px 5px;
font-size: 11px;
line-height: 10px;
color: #444d56;
vertical-align: middle;
background-color: #fafbfc;
border: solid 1px #c6cbd1;
border-bottom-color: #959da5;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #959da5;
}
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 600;
line-height: 1.25;
}
.markdown-body h1 .octicon-link,
.markdown-body h2 .octicon-link,
.markdown-body h3 .octicon-link,
.markdown-body h4 .octicon-link,
.markdown-body h5 .octicon-link,
.markdown-body h6 .octicon-link {
color: #1b1f23;
vertical-align: middle;
visibility: hidden;
}
.markdown-body h1:hover .anchor,
.markdown-body h2:hover .anchor,
.markdown-body h3:hover .anchor,
.markdown-body h4:hover .anchor,
.markdown-body h5:hover .anchor,
.markdown-body h6:hover .anchor {
text-decoration: none;
}
.markdown-body h1:hover .anchor .octicon-link,
.markdown-body h2:hover .anchor .octicon-link,
.markdown-body h3:hover .anchor .octicon-link,
.markdown-body h4:hover .anchor .octicon-link,
.markdown-body h5:hover .anchor .octicon-link,
.markdown-body h6:hover .anchor .octicon-link {
visibility: visible;
}
.markdown-body h1 {
padding-bottom: 0.3em;
font-size: 2em;
border-bottom: 1px solid #eaecef;
}
.markdown-body h2 {
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid #eaecef;
}
.markdown-body h3 {
font-size: 1.25em;
}
.markdown-body h4 {
font-size: 1em;
}
.markdown-body h5 {
font-size: 0.875em;
}
.markdown-body h6 {
font-size: 0.85em;
color: #6a737d;
}
.markdown-body ul,
.markdown-body ol {
padding-left: 2em;
}
.markdown-body ul ul,
.markdown-body ul ol,
.markdown-body ol ol,
.markdown-body ol ul {
margin-top: 0;
margin-bottom: 0;
}
.markdown-body li>p {
margin-top: 16px;
}
.markdown-body li+li {
margin-top: 0.25em;
}
.markdown-body dl {
padding: 0;
}
.markdown-body dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-weight: 600;
}
.markdown-body dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.markdown-body table {
display: block;
width: 100%;
overflow: auto;
}
.markdown-body table th {
font-weight: 600;
}
.markdown-body table th,
.markdown-body table td {
padding: 6px 13px;
border: 1px solid #dfe2e5;
}
.markdown-body table tr {
background-color: #fff;
border-top: 1px solid #c6cbd1;
}
.markdown-body table tr:nth-child(2n) {
background-color: #f6f8fa;
}
.markdown-body img {
max-width: 100%;
box-sizing: content-box;
background-color: #fff;
}
.markdown-body code {
padding: 0;
padding-top: 0.2em;
padding-bottom: 0.2em;
margin: 0;
font-size: 85%;
background-color: rgba(27,31,35,0.05);
border-radius: 3px;
}
.markdown-body code::before,
.markdown-body code::after {
letter-spacing: -0.2em;
content: "\00a0";
}
.markdown-body pre {
word-wrap: normal;
}
.markdown-body pre>code {
padding: 0;
margin: 0;
font-size: 100%;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.markdown-body .highlight {
margin-bottom: 16px;
}
.markdown-body .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.markdown-body .highlight pre,
.markdown-body pre {
padding: 16px;
overflow: auto;
font-size: 85%;
line-height: 1.45;
background-color: #f6f8fa;
border-radius: 3px;
}
.markdown-body pre code {
display: inline;
max-width: auto;
padding: 0;
margin: 0;
overflow: visible;
line-height: inherit;
word-wrap: normal;
background-color: transparent;
border: 0;
}
.markdown-body pre code::before,
.markdown-body pre code::after {
content: normal;
}
.markdown-body .full-commit .btn-outline:not(:disabled):hover {
color: #005cc5;
border-color: #005cc5;
}
.markdown-body kbd {
display: inline-block;
padding: 3px 5px;
font: 11px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
line-height: 10px;
color: #444d56;
vertical-align: middle;
background-color: #fafbfc;
border: solid 1px #d1d5da;
border-bottom-color: #c6cbd1;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #c6cbd1;
}
.markdown-body :checked+.radio-label {
position: relative;
z-index: 1;
border-color: #0366d6;
}
.markdown-body .task-list-item {
list-style-type: none;
}
.markdown-body .task-list-item+.task-list-item {
margin-top: 3px;
}
.markdown-body .task-list-item input {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.markdown-body hr {
border-bottom-color: #eee;
}
#Main {
margin: 0 auto;
padding: 10px 40px;
max-width: 888px;
}

View File

@@ -1,14 +0,0 @@
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<base href="{$docPath}" />
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<link href="{$cssFile}" rel="stylesheet"/>
</head>
<body>
<div id="Main" class="markdown-body">
{$html}
</div>
</body>
</html>

View File

@@ -1,14 +1,12 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30907.101
# Visual Studio Version 17
VisualStudioVersion = 17.10.35201.131
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Eve-O-Preview", "Eve-O-Preview\Eve-O-Preview.csproj", "{6CA62DF3-8589-484C-8BC8-F763CA66BBB1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Eve-O-Mock", "Eve-O-Mock\Eve-O-Mock.csproj", "{BE2C3A13-CC19-4525-895F-381DD71C5833}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Build", "..\build\Build.csproj", "{68083BCC-92B8-4A73-BFD2-0DE619873F86}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Build|Any CPU = Build|Any CPU
@@ -26,10 +24,6 @@ Global
{BE2C3A13-CC19-4525-895F-381DD71C5833}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BE2C3A13-CC19-4525-895F-381DD71C5833}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BE2C3A13-CC19-4525-895F-381DD71C5833}.Release|Any CPU.Build.0 = Release|Any CPU
{68083BCC-92B8-4A73-BFD2-0DE619873F86}.Build|Any CPU.ActiveCfg = Build|Any CPU
{68083BCC-92B8-4A73-BFD2-0DE619873F86}.Build|Any CPU.Build.0 = Build|Any CPU
{68083BCC-92B8-4A73-BFD2-0DE619873F86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{68083BCC-92B8-4A73-BFD2-0DE619873F86}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
</configuration>

View File

@@ -9,10 +9,11 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>EveOMock</RootNamespace>
<AssemblyName>ExeFile</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>

View File

@@ -19,7 +19,7 @@ namespace EveOMock.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {

View File

@@ -12,7 +12,7 @@ namespace EveOMock.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.10.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

View File

@@ -58,6 +58,7 @@ namespace EveOPreview.Configuration.Implementation
this.EnableClientLayoutTracking = false;
this.HideActiveClientThumbnail = false;
this.MinimizeInactiveClients = false;
this.MinimizeInactiveClientsAnimation = false;
this.ShowThumbnailsAlwaysOnTop = true;
this.EnablePerClientThumbnailLayouts = false;
@@ -73,14 +74,23 @@ namespace EveOPreview.Configuration.Implementation
this.ThumbnailZoomEnabled = false;
this.ThumbnailZoomFactor = 2;
this.ThumbnailZoomAnchor = ZoomAnchor.NW;
this.OverlayLabelAnchor = ZoomAnchor.NW;
this.ShowThumbnailOverlays = true;
this.ShowThumbnailFrames = false;
this.LockThumbnailLocation = false;
this.ThumbnailSnapToGrid = true;
this.ThumbnailSnapToGridSizeX = 100;
this.ThumbnailSnapToGridSizeY = 50;
this.EnableActiveClientHighlight = false;
this.ActiveClientHighlightColor = Color.GreenYellow;
this.ActiveClientHighlightThickness = 3;
this.OverlayLabelColor = Color.Orange;
this.OverlayLabelSize = 10;
this.LoginThumbnailLocation = new Point(5, 5);
}
@@ -134,6 +144,7 @@ namespace EveOPreview.Configuration.Implementation
public bool HideActiveClientThumbnail { get; set; }
public bool MinimizeInactiveClients { get; set; }
public bool MinimizeInactiveClientsAnimation { get; set; }
public bool ShowThumbnailsAlwaysOnTop { get; set; }
public bool EnablePerClientThumbnailLayouts
@@ -163,14 +174,20 @@ namespace EveOPreview.Configuration.Implementation
public bool ThumbnailZoomEnabled { get; set; }
public int ThumbnailZoomFactor { get; set; }
public ZoomAnchor ThumbnailZoomAnchor { get; set; }
public ZoomAnchor OverlayLabelAnchor { get; set; }
public bool ShowThumbnailOverlays { get; set; }
public bool ShowThumbnailFrames { get; set; }
public bool LockThumbnailLocation { get; set; }
public bool ThumbnailSnapToGrid { get; set; }
public int ThumbnailSnapToGridSizeX { get; set; }
public int ThumbnailSnapToGridSizeY { get; set; }
public bool EnableActiveClientHighlight { get; set; }
public Color ActiveClientHighlightColor { get; set; }
public Color OverlayLabelColor { get; set; }
public int OverlayLabelSize { get; set; }
public int ActiveClientHighlightThickness { get; set; }
[JsonProperty("LoginThumbnailLocation")]

View File

@@ -26,6 +26,7 @@ namespace EveOPreview.Configuration
bool EnableClientLayoutTracking { get; set; }
bool HideActiveClientThumbnail { get; set; }
bool MinimizeInactiveClients { get; set; }
bool MinimizeInactiveClientsAnimation { get; set; }
bool ShowThumbnailsAlwaysOnTop { get; set; }
bool EnablePerClientThumbnailLayouts { get; set; }
@@ -41,13 +42,20 @@ namespace EveOPreview.Configuration
bool ThumbnailZoomEnabled { get; set; }
int ThumbnailZoomFactor { get; set; }
ZoomAnchor ThumbnailZoomAnchor { get; set; }
ZoomAnchor OverlayLabelAnchor { get; set; }
bool ShowThumbnailOverlays { get; set; }
bool ShowThumbnailFrames { get; set; }
bool LockThumbnailLocation { get; set; }
bool ThumbnailSnapToGrid { get; set; }
int ThumbnailSnapToGridSizeX { get; set; }
int ThumbnailSnapToGridSizeY { get; set; }
bool EnableActiveClientHighlight { get; set; }
Color ActiveClientHighlightColor { get; set; }
int ActiveClientHighlightThickness { get; set; }
Color OverlayLabelColor { get; set; }
int OverlayLabelSize { get; set; }
Point LoginThumbnailLocation { get; set; }

View File

@@ -9,8 +9,13 @@
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>EveOPreview</RootNamespace>
<<<<<<< HEAD
<AssemblyName>EVE-O-Preview</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
=======
<AssemblyName>EVE-O Preview</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
>>>>>>> windows-build-pr-merg
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TargetFrameworkProfile />
@@ -98,6 +103,7 @@
<UseVSHostingProcess>false</UseVSHostingProcess>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
@@ -152,6 +158,7 @@
<Compile Include="Services\Implementation\DwmThumbnail.cs" />
<Compile Include="Services\Interface\IDwmThumbnail.cs" />
<Compile Include="Services\Interface\InteropConstants.cs" />
<Compile Include="Services\Interop\ANIMATIONINFO.cs" />
<Compile Include="Services\Interop\DWM_BLURBEHIND.cs" />
<Compile Include="Services\Interop\DWM_THUMBNAIL_PROPERTIES.cs" />
<Compile Include="Services\Interop\DWM_TNP_CONSTANTS.cs" />

View File

@@ -107,6 +107,7 @@ namespace EveOPreview.Presenters
this.View.EnableClientLayoutTracking = this._configuration.EnableClientLayoutTracking;
this.View.HideActiveClientThumbnail = this._configuration.HideActiveClientThumbnail;
this.View.MinimizeInactiveClients = this._configuration.MinimizeInactiveClients;
this.View.MinimizeInactiveClientsAnimation = this._configuration.MinimizeInactiveClientsAnimation;
this.View.ShowThumbnailsAlwaysOnTop = this._configuration.ShowThumbnailsAlwaysOnTop;
this.View.HideThumbnailsOnLostFocus = this._configuration.HideThumbnailsOnLostFocus;
this.View.EnablePerClientThumbnailLayouts = this._configuration.EnablePerClientThumbnailLayouts;
@@ -117,9 +118,14 @@ namespace EveOPreview.Presenters
this.View.EnableThumbnailZoom = this._configuration.ThumbnailZoomEnabled;
this.View.ThumbnailZoomFactor = this._configuration.ThumbnailZoomFactor;
this.View.ThumbnailZoomAnchor = ViewZoomAnchorConverter.Convert(this._configuration.ThumbnailZoomAnchor);
this.View.OverlayLabelAnchor = ViewZoomAnchorConverter.Convert(this._configuration.OverlayLabelAnchor);
this.View.ShowThumbnailOverlays = this._configuration.ShowThumbnailOverlays;
this.View.ShowThumbnailFrames = this._configuration.ShowThumbnailFrames;
this.View.LockThumbnailLocation = this._configuration.LockThumbnailLocation;
this.View.ThumbnailSnapToGrid = this._configuration.ThumbnailSnapToGrid;
this.View.ThumbnailSnapToGridSizeX = this._configuration.ThumbnailSnapToGridSizeX;
this.View.ThumbnailSnapToGridSizeY = this._configuration.ThumbnailSnapToGridSizeY;
this.View.EnableActiveClientHighlight = this._configuration.EnableActiveClientHighlight;
this.View.ActiveClientHighlightColor = this._configuration.ActiveClientHighlightColor;
}
@@ -133,6 +139,7 @@ namespace EveOPreview.Presenters
this._configuration.EnableClientLayoutTracking = this.View.EnableClientLayoutTracking;
this._configuration.HideActiveClientThumbnail = this.View.HideActiveClientThumbnail;
this._configuration.MinimizeInactiveClients = this.View.MinimizeInactiveClients;
this._configuration.MinimizeInactiveClientsAnimation = this.View.MinimizeInactiveClientsAnimation;
this._configuration.ShowThumbnailsAlwaysOnTop = this.View.ShowThumbnailsAlwaysOnTop;
this._configuration.HideThumbnailsOnLostFocus = this.View.HideThumbnailsOnLostFocus;
this._configuration.EnablePerClientThumbnailLayouts = this.View.EnablePerClientThumbnailLayouts;
@@ -142,6 +149,7 @@ namespace EveOPreview.Presenters
this._configuration.ThumbnailZoomEnabled = this.View.EnableThumbnailZoom;
this._configuration.ThumbnailZoomFactor = this.View.ThumbnailZoomFactor;
this._configuration.ThumbnailZoomAnchor = ViewZoomAnchorConverter.Convert(this.View.ThumbnailZoomAnchor);
this._configuration.OverlayLabelAnchor = ViewZoomAnchorConverter.Convert(this.View.OverlayLabelAnchor);
this._configuration.ShowThumbnailOverlays = this.View.ShowThumbnailOverlays;
if (this._configuration.ShowThumbnailFrames != this.View.ShowThumbnailFrames)
@@ -150,9 +158,17 @@ namespace EveOPreview.Presenters
await this._mediator.Publish(new ThumbnailFrameSettingsUpdated());
}
this._configuration.LockThumbnailLocation = this.View.LockThumbnailLocation;
this._configuration.ThumbnailSnapToGrid = this.View.ThumbnailSnapToGrid;
this._configuration.ThumbnailSnapToGridSizeX = this.View.ThumbnailSnapToGridSizeX;
this._configuration.ThumbnailSnapToGridSizeY = this.View.ThumbnailSnapToGridSizeY;
this._configuration.EnableActiveClientHighlight = this.View.EnableActiveClientHighlight;
this._configuration.ActiveClientHighlightColor = this.View.ActiveClientHighlightColor;
this._configuration.OverlayLabelColor = this.View.OverlayLabelColor;
this._configuration.OverlayLabelSize = this.View.OverlayLabelSize;
this._configurationStorage.Save();
this.View.RefreshZoomSettings();

View File

@@ -12,7 +12,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: Guid("04f08f8d-9e98-423b-acdb-4effb31c0d35")]
[assembly: AssemblyVersion("8.0.0.0")]
[assembly: AssemblyFileVersion("8.0.0.0")]
[assembly: AssemblyVersion("8.0.1.0")]
[assembly: AssemblyFileVersion("8.0.1.0")]
[assembly: CLSCompliant(false)]

View File

@@ -19,7 +19,7 @@ namespace EveOPreview.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {

View File

@@ -102,7 +102,7 @@ namespace EveOPreview.Services
{
this.GetActiveClient()?.ClearBorder();
this._windowManager.ActivateWindow(newClient.Key);
this._windowManager.ActivateWindow(newClient.Key, this._configuration.MinimizeInactiveClientsAnimation);
this.SwitchActiveClient(newClient.Key, newClient.Value.Title);
newClient.Value.SetHighlight();
@@ -483,7 +483,7 @@ namespace EveOPreview.Services
// Minimize the currently active client if needed
if (this._configuration.MinimizeInactiveClients && !this._configuration.IsPriorityClient(this._activeClient.Title))
{
this._windowManager.MinimizeWindow(this._activeClient.Handle, false);
this._windowManager.MinimizeWindow(this._activeClient.Handle, this._configuration.MinimizeInactiveClientsAnimation);
}
this._activeClient = (foregroundClientHandle, foregroundClientTitle);
@@ -534,7 +534,7 @@ namespace EveOPreview.Services
Task.Run(() =>
{
this._windowManager.ActivateWindow(view.Id);
this._windowManager.ActivateWindow(view.Id, this._configuration.MinimizeInactiveClientsAnimation);
})
.ContinueWith((task) =>
{
@@ -549,7 +549,7 @@ namespace EveOPreview.Services
{
if (switchOut)
{
this._windowManager.ActivateWindow(this._externalApplication);
this._windowManager.ActivateWindow(this._externalApplication, this._configuration.MinimizeInactiveClientsAnimation);
}
else
{
@@ -558,7 +558,7 @@ namespace EveOPreview.Services
return;
}
this._windowManager.MinimizeWindow(view.Id, true);
this._windowManager.MinimizeWindow(view.Id, this._configuration.MinimizeInactiveClientsAnimation);
this.RefreshThumbnails();
}
}
@@ -740,7 +740,7 @@ namespace EveOPreview.Services
if (clientLayout.IsMaximized)
{
this._windowManager.MaximizeWindow(clientHandle);
this._windowManager.MaximizeWindow(clientHandle, this._configuration.MinimizeInactiveClientsAnimation);
}
else
{

View File

@@ -27,7 +27,7 @@ namespace EveOPreview.Services.Implementation
return User32NativeMethods.GetForegroundWindow();
}
public void ActivateWindow(IntPtr handle)
public void ActivateWindow(IntPtr handle, bool enableAnimation)
{
User32NativeMethods.SetForegroundWindow(handle);
User32NativeMethods.SetFocus(handle);
@@ -36,7 +36,29 @@ namespace EveOPreview.Services.Implementation
if ((style & InteropConstants.WS_MINIMIZE) == InteropConstants.WS_MINIMIZE)
{
if (enableAnimation)
{
User32NativeMethods.ShowWindowAsync(handle, InteropConstants.SW_RESTORE);
}
else
{
ANIMATIONINFO param = new ANIMATIONINFO();
param.cbSize = (System.UInt32)Marshal.SizeOf(typeof(ANIMATIONINFO));
// Store the current Animation Setting
var ret = User32NativeMethods.SystemParametersInfo(User32NativeMethods.SPI_GETANIMATION, (System.Int32)Marshal.SizeOf(typeof(ANIMATIONINFO)), ref param, 0);
int currentAnimationSetting = param.iMinAnimate;
// Turn off Animation
param.iMinAnimate = 0;
ret = User32NativeMethods.SystemParametersInfo(User32NativeMethods.SPI_SETANIMATION, (System.Int32)Marshal.SizeOf(typeof(ANIMATIONINFO)), ref param, 0);
User32NativeMethods.ShowWindowAsync(handle, InteropConstants.SW_RESTORE);
// Restore current Animation Settings
param.iMinAnimate = currentAnimationSetting;
ret = User32NativeMethods.SystemParametersInfo(User32NativeMethods.SPI_SETANIMATION, (System.Int32)Marshal.SizeOf(typeof(ANIMATIONINFO)), ref param, 0);
}
}
}
@@ -48,11 +70,22 @@ namespace EveOPreview.Services.Implementation
}
else
{
WINDOWPLACEMENT param = new WINDOWPLACEMENT();
param.length = Marshal.SizeOf(typeof(WINDOWPLACEMENT));
User32NativeMethods.GetWindowPlacement(handle, ref param);
param.showCmd = WINDOWPLACEMENT.SW_MINIMIZE;
User32NativeMethods.SetWindowPlacement(handle, ref param);
ANIMATIONINFO param = new ANIMATIONINFO();
param.cbSize = (System.UInt32)Marshal.SizeOf(typeof(ANIMATIONINFO));
// Store Current Animation Setting
var ret = User32NativeMethods.SystemParametersInfo(User32NativeMethods.SPI_GETANIMATION, (System.Int32)Marshal.SizeOf(typeof(ANIMATIONINFO)), ref param, 0);
int currentAnimationSetting = param.iMinAnimate;
// Turn off Animation
param.iMinAnimate = 0;
ret = User32NativeMethods.SystemParametersInfo(User32NativeMethods.SPI_SETANIMATION, (System.Int32)Marshal.SizeOf(typeof(ANIMATIONINFO)), ref param, 0);
User32NativeMethods.SendMessage(handle, InteropConstants.WM_SYSCOMMAND, InteropConstants.SC_MINIMIZE, 0);
// Restore current Animation Settings
param.iMinAnimate = currentAnimationSetting;
ret = User32NativeMethods.SystemParametersInfo(User32NativeMethods.SPI_SETANIMATION, (System.Int32)Marshal.SizeOf(typeof(ANIMATIONINFO)), ref param, 0);
}
}
@@ -61,9 +94,21 @@ namespace EveOPreview.Services.Implementation
User32NativeMethods.MoveWindow(handle, left, top, width, height, true);
}
public void MaximizeWindow(IntPtr handle)
public void MaximizeWindow(IntPtr handle, bool enableAnimation)
{
if (enableAnimation)
{
User32NativeMethods.ShowWindowAsync(handle, InteropConstants.SW_SHOWMAXIMIZED);
}
else
{
WINDOWPLACEMENT param = new WINDOWPLACEMENT();
param.length = Marshal.SizeOf(typeof(WINDOWPLACEMENT));
User32NativeMethods.GetWindowPlacement(handle, ref param);
param.showCmd = WINDOWPLACEMENT.SW_MINIMIZE;
User32NativeMethods.SetWindowPlacement(handle, ref param);
}
}
public (int Left, int Top, int Right, int Bottom) GetWindowPosition(IntPtr handle)

View File

@@ -8,10 +8,10 @@ namespace EveOPreview.Services
bool IsCompositionEnabled { get; }
IntPtr GetForegroundWindowHandle();
void ActivateWindow(IntPtr handle);
void ActivateWindow(IntPtr handle, bool enableAnimation);
void MinimizeWindow(IntPtr handle, bool enableAnimation);
void MoveWindow(IntPtr handle, int left, int top, int width, int height);
void MaximizeWindow(IntPtr handle);
void MaximizeWindow(IntPtr handle, bool enableAnimation);
(int Left, int Top, int Right, int Bottom) GetWindowPosition(IntPtr handle);
bool IsWindowMaximized(IntPtr handle);
bool IsWindowMinimized(IntPtr handle);

View File

@@ -0,0 +1,13 @@
using MediatR;
using System.Runtime.InteropServices;
namespace EveOPreview.Services.Interop
{
// Definition for Window Placement Structure
[StructLayout(LayoutKind.Sequential)]
struct ANIMATIONINFO
{
public uint cbSize;
public int iMinAnimate;
}
}

View File

@@ -5,6 +5,9 @@ namespace EveOPreview.Services.Interop
{
static class User32NativeMethods
{
public const uint SPI_SETANIMATION = 0x0049;
public const uint SPI_GETANIMATION = 0x0048;
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
@@ -60,5 +63,8 @@ namespace EveOPreview.Services.Interop
[DllImport("user32.dll")]
public static extern IntPtr ReleaseDC(IntPtr hWnd, IntPtr hdc);
[DllImport("user32.dll")]
public static extern long SystemParametersInfo(long uAction, int lpvParam, ref ANIMATIONINFO uParam, int fuWinIni);
}
}

View File

@@ -54,11 +54,12 @@ namespace EveOPreview.View
System.Windows.Forms.Label ThumbnailsListLabel;
System.Windows.Forms.TabPage AboutTabPage;
System.Windows.Forms.Panel AboutPanel;
System.Windows.Forms.Label NameLabel;
System.Windows.Forms.Label CreditMaintLabel;
System.Windows.Forms.Label DocumentationLinkLabel;
System.Windows.Forms.Label DescriptionLabel;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
System.Windows.Forms.Label DocumentationLinkLabel;
System.Windows.Forms.Label CreditMaintLabel;
System.Windows.Forms.Label NameLabel;
this.MinimizeInactiveClientsAnimationCheckBox = new System.Windows.Forms.CheckBox();
this.MinimizeInactiveClientsCheckBox = new System.Windows.Forms.CheckBox();
this.EnableClientLayoutTrackingCheckBox = new System.Windows.Forms.CheckBox();
this.HideActiveClientThumbnailCheckBox = new System.Windows.Forms.CheckBox();
@@ -66,6 +67,12 @@ namespace EveOPreview.View
this.HideThumbnailsOnLostFocusCheckBox = new System.Windows.Forms.CheckBox();
this.EnablePerClientThumbnailsLayoutsCheckBox = new System.Windows.Forms.CheckBox();
this.MinimizeToTrayCheckBox = new System.Windows.Forms.CheckBox();
this.ThumbnailSnapToGridCheckBox = new System.Windows.Forms.CheckBox();
this.ThumbnailSnapToGridSizeYNumericEdit = new System.Windows.Forms.NumericUpDown();
this.SnapYLabel = new System.Windows.Forms.Label();
this.ThumbnailSnapToGridSizeXNumericEdit = new System.Windows.Forms.NumericUpDown();
this.SnapXLabel = new System.Windows.Forms.Label();
this.LockThumbnailLocationCheckbox = new System.Windows.Forms.CheckBox();
this.ThumbnailsWidthNumericEdit = new System.Windows.Forms.NumericUpDown();
this.ThumbnailsHeightNumericEdit = new System.Windows.Forms.NumericUpDown();
this.ThumbnailOpacityTrackBar = new System.Windows.Forms.TrackBar();
@@ -82,6 +89,21 @@ namespace EveOPreview.View
this.ZoomAanchorSWRadioButton = new System.Windows.Forms.RadioButton();
this.EnableThumbnailZoomCheckBox = new System.Windows.Forms.CheckBox();
this.ThumbnailZoomFactorNumericEdit = new System.Windows.Forms.NumericUpDown();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.OverlayLabelColorButton = new System.Windows.Forms.Panel();
this.OverlayLabelSizeNumericEdit = new System.Windows.Forms.NumericUpDown();
this.panel1 = new System.Windows.Forms.Panel();
this.OverlayLabelNWRadioButton = new System.Windows.Forms.RadioButton();
this.OverlayLabelNRadioButton = new System.Windows.Forms.RadioButton();
this.OverlayLabelNERadioButton = new System.Windows.Forms.RadioButton();
this.OverlayLabelWRadioButton = new System.Windows.Forms.RadioButton();
this.OverlayLabelSERadioButton = new System.Windows.Forms.RadioButton();
this.OverlayLabelCRadioButton = new System.Windows.Forms.RadioButton();
this.OverlayLabelSRadioButton = new System.Windows.Forms.RadioButton();
this.OverlayLabelERadioButton = new System.Windows.Forms.RadioButton();
this.OverlayLabelSWRadioButton = new System.Windows.Forms.RadioButton();
this.label1 = new System.Windows.Forms.Label();
this.HighlightColorLabel = new System.Windows.Forms.Label();
this.ActiveClientHighlightColorButton = new System.Windows.Forms.Panel();
this.EnableActiveClientHighlightCheckBox = new System.Windows.Forms.CheckBox();
@@ -114,15 +136,17 @@ namespace EveOPreview.View
ThumbnailsListLabel = new System.Windows.Forms.Label();
AboutTabPage = new System.Windows.Forms.TabPage();
AboutPanel = new System.Windows.Forms.Panel();
NameLabel = new System.Windows.Forms.Label();
DescriptionLabel = new System.Windows.Forms.Label();
DocumentationLinkLabel = new System.Windows.Forms.Label();
CreditMaintLabel = new System.Windows.Forms.Label();
DocumentationLinkLabel = new System.Windows.Forms.Label();
DescriptionLabel = new System.Windows.Forms.Label();
NameLabel = new System.Windows.Forms.Label();
ContentTabControl.SuspendLayout();
GeneralTabPage.SuspendLayout();
GeneralSettingsPanel.SuspendLayout();
ThumbnailTabPage.SuspendLayout();
ThumbnailSettingsPanel.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.ThumbnailSnapToGridSizeYNumericEdit)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ThumbnailSnapToGridSizeXNumericEdit)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ThumbnailsWidthNumericEdit)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ThumbnailsHeightNumericEdit)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ThumbnailOpacityTrackBar)).BeginInit();
@@ -132,6 +156,8 @@ namespace EveOPreview.View
((System.ComponentModel.ISupportInitialize)(this.ThumbnailZoomFactorNumericEdit)).BeginInit();
OverlayTabPage.SuspendLayout();
OverlaySettingsPanel.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.OverlayLabelSizeNumericEdit)).BeginInit();
this.panel1.SuspendLayout();
ClientsTabPage.SuspendLayout();
ClientsPanel.SuspendLayout();
AboutTabPage.SuspendLayout();
@@ -192,7 +218,7 @@ namespace EveOPreview.View
GeneralTabPage.Controls.Add(GeneralSettingsPanel);
GeneralTabPage.Location = new System.Drawing.Point(124, 4);
GeneralTabPage.Name = "GeneralTabPage";
GeneralTabPage.Padding = new System.Windows.Forms.Padding(3, 3, 3, 3);
GeneralTabPage.Padding = new System.Windows.Forms.Padding(3);
GeneralTabPage.Size = new System.Drawing.Size(262, 210);
GeneralTabPage.TabIndex = 0;
GeneralTabPage.Text = "General";
@@ -200,6 +226,7 @@ namespace EveOPreview.View
// GeneralSettingsPanel
//
GeneralSettingsPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
GeneralSettingsPanel.Controls.Add(this.MinimizeInactiveClientsAnimationCheckBox);
GeneralSettingsPanel.Controls.Add(this.MinimizeInactiveClientsCheckBox);
GeneralSettingsPanel.Controls.Add(this.EnableClientLayoutTrackingCheckBox);
GeneralSettingsPanel.Controls.Add(this.HideActiveClientThumbnailCheckBox);
@@ -213,10 +240,20 @@ namespace EveOPreview.View
GeneralSettingsPanel.Size = new System.Drawing.Size(256, 204);
GeneralSettingsPanel.TabIndex = 18;
//
// MinimizeInactiveClientsAnimationCheckBox
//
this.MinimizeInactiveClientsAnimationCheckBox.AutoSize = true;
this.MinimizeInactiveClientsAnimationCheckBox.Location = new System.Drawing.Point(8, 101);
this.MinimizeInactiveClientsAnimationCheckBox.Name = "MinimizeInactiveClientsAnimationCheckBox";
this.MinimizeInactiveClientsAnimationCheckBox.Size = new System.Drawing.Size(190, 17);
this.MinimizeInactiveClientsAnimationCheckBox.TabIndex = 25;
this.MinimizeInactiveClientsAnimationCheckBox.Text = "Minimize Inactive Clients Animation";
this.MinimizeInactiveClientsAnimationCheckBox.UseVisualStyleBackColor = true;
//
// MinimizeInactiveClientsCheckBox
//
this.MinimizeInactiveClientsCheckBox.AutoSize = true;
this.MinimizeInactiveClientsCheckBox.Location = new System.Drawing.Point(8, 79);
this.MinimizeInactiveClientsCheckBox.Location = new System.Drawing.Point(8, 78);
this.MinimizeInactiveClientsCheckBox.Name = "MinimizeInactiveClientsCheckBox";
this.MinimizeInactiveClientsCheckBox.Size = new System.Drawing.Size(163, 17);
this.MinimizeInactiveClientsCheckBox.TabIndex = 24;
@@ -253,7 +290,7 @@ namespace EveOPreview.View
this.ShowThumbnailsAlwaysOnTopCheckBox.AutoSize = true;
this.ShowThumbnailsAlwaysOnTopCheckBox.Checked = true;
this.ShowThumbnailsAlwaysOnTopCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.ShowThumbnailsAlwaysOnTopCheckBox.Location = new System.Drawing.Point(8, 103);
this.ShowThumbnailsAlwaysOnTopCheckBox.Location = new System.Drawing.Point(8, 124);
this.ShowThumbnailsAlwaysOnTopCheckBox.Name = "ShowThumbnailsAlwaysOnTopCheckBox";
this.ShowThumbnailsAlwaysOnTopCheckBox.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.ShowThumbnailsAlwaysOnTopCheckBox.Size = new System.Drawing.Size(137, 17);
@@ -267,7 +304,7 @@ namespace EveOPreview.View
this.HideThumbnailsOnLostFocusCheckBox.AutoSize = true;
this.HideThumbnailsOnLostFocusCheckBox.Checked = true;
this.HideThumbnailsOnLostFocusCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.HideThumbnailsOnLostFocusCheckBox.Location = new System.Drawing.Point(8, 127);
this.HideThumbnailsOnLostFocusCheckBox.Location = new System.Drawing.Point(8, 148);
this.HideThumbnailsOnLostFocusCheckBox.Name = "HideThumbnailsOnLostFocusCheckBox";
this.HideThumbnailsOnLostFocusCheckBox.Size = new System.Drawing.Size(234, 17);
this.HideThumbnailsOnLostFocusCheckBox.TabIndex = 22;
@@ -280,7 +317,7 @@ namespace EveOPreview.View
this.EnablePerClientThumbnailsLayoutsCheckBox.AutoSize = true;
this.EnablePerClientThumbnailsLayoutsCheckBox.Checked = true;
this.EnablePerClientThumbnailsLayoutsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.EnablePerClientThumbnailsLayoutsCheckBox.Location = new System.Drawing.Point(8, 151);
this.EnablePerClientThumbnailsLayoutsCheckBox.Location = new System.Drawing.Point(8, 172);
this.EnablePerClientThumbnailsLayoutsCheckBox.Name = "EnablePerClientThumbnailsLayoutsCheckBox";
this.EnablePerClientThumbnailsLayoutsCheckBox.Size = new System.Drawing.Size(185, 17);
this.EnablePerClientThumbnailsLayoutsCheckBox.TabIndex = 23;
@@ -305,7 +342,7 @@ namespace EveOPreview.View
ThumbnailTabPage.Controls.Add(ThumbnailSettingsPanel);
ThumbnailTabPage.Location = new System.Drawing.Point(124, 4);
ThumbnailTabPage.Name = "ThumbnailTabPage";
ThumbnailTabPage.Padding = new System.Windows.Forms.Padding(3, 3, 3, 3);
ThumbnailTabPage.Padding = new System.Windows.Forms.Padding(3);
ThumbnailTabPage.Size = new System.Drawing.Size(262, 210);
ThumbnailTabPage.TabIndex = 1;
ThumbnailTabPage.Text = "Thumbnail";
@@ -313,6 +350,12 @@ namespace EveOPreview.View
// ThumbnailSettingsPanel
//
ThumbnailSettingsPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
ThumbnailSettingsPanel.Controls.Add(this.ThumbnailSnapToGridCheckBox);
ThumbnailSettingsPanel.Controls.Add(this.ThumbnailSnapToGridSizeYNumericEdit);
ThumbnailSettingsPanel.Controls.Add(this.SnapYLabel);
ThumbnailSettingsPanel.Controls.Add(this.ThumbnailSnapToGridSizeXNumericEdit);
ThumbnailSettingsPanel.Controls.Add(this.SnapXLabel);
ThumbnailSettingsPanel.Controls.Add(this.LockThumbnailLocationCheckbox);
ThumbnailSettingsPanel.Controls.Add(HeigthLabel);
ThumbnailSettingsPanel.Controls.Add(WidthLabel);
ThumbnailSettingsPanel.Controls.Add(this.ThumbnailsWidthNumericEdit);
@@ -325,6 +368,94 @@ namespace EveOPreview.View
ThumbnailSettingsPanel.Size = new System.Drawing.Size(256, 204);
ThumbnailSettingsPanel.TabIndex = 19;
//
// ThumbnailSnapToGridCheckBox
//
this.ThumbnailSnapToGridCheckBox.AutoSize = true;
this.ThumbnailSnapToGridCheckBox.Location = new System.Drawing.Point(11, 104);
this.ThumbnailSnapToGridCheckBox.Name = "ThumbnailSnapToGridCheckBox";
this.ThumbnailSnapToGridCheckBox.Size = new System.Drawing.Size(137, 17);
this.ThumbnailSnapToGridCheckBox.TabIndex = 32;
this.ThumbnailSnapToGridCheckBox.Text = "Thumbnail Snap to Grid";
this.ThumbnailSnapToGridCheckBox.UseVisualStyleBackColor = true;
//
// ThumbnailSnapToGridSizeYNumericEdit
//
this.ThumbnailSnapToGridSizeYNumericEdit.BackColor = System.Drawing.SystemColors.Window;
this.ThumbnailSnapToGridSizeYNumericEdit.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ThumbnailSnapToGridSizeYNumericEdit.CausesValidation = false;
this.ThumbnailSnapToGridSizeYNumericEdit.Increment = new decimal(new int[] {
10,
0,
0,
0});
this.ThumbnailSnapToGridSizeYNumericEdit.Location = new System.Drawing.Point(130, 122);
this.ThumbnailSnapToGridSizeYNumericEdit.Maximum = new decimal(new int[] {
999999,
0,
0,
0});
this.ThumbnailSnapToGridSizeYNumericEdit.Name = "ThumbnailSnapToGridSizeYNumericEdit";
this.ThumbnailSnapToGridSizeYNumericEdit.Size = new System.Drawing.Size(48, 20);
this.ThumbnailSnapToGridSizeYNumericEdit.TabIndex = 31;
this.ThumbnailSnapToGridSizeYNumericEdit.Value = new decimal(new int[] {
100,
0,
0,
0});
//
// SnapYLabel
//
this.SnapYLabel.AutoSize = true;
this.SnapYLabel.Location = new System.Drawing.Point(110, 124);
this.SnapYLabel.Name = "SnapYLabel";
this.SnapYLabel.Size = new System.Drawing.Size(14, 13);
this.SnapYLabel.TabIndex = 30;
this.SnapYLabel.Text = "Y";
//
// ThumbnailSnapToGridSizeXNumericEdit
//
this.ThumbnailSnapToGridSizeXNumericEdit.BackColor = System.Drawing.SystemColors.Window;
this.ThumbnailSnapToGridSizeXNumericEdit.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ThumbnailSnapToGridSizeXNumericEdit.CausesValidation = false;
this.ThumbnailSnapToGridSizeXNumericEdit.Increment = new decimal(new int[] {
10,
0,
0,
0});
this.ThumbnailSnapToGridSizeXNumericEdit.Location = new System.Drawing.Point(56, 122);
this.ThumbnailSnapToGridSizeXNumericEdit.Maximum = new decimal(new int[] {
999999,
0,
0,
0});
this.ThumbnailSnapToGridSizeXNumericEdit.Name = "ThumbnailSnapToGridSizeXNumericEdit";
this.ThumbnailSnapToGridSizeXNumericEdit.Size = new System.Drawing.Size(48, 20);
this.ThumbnailSnapToGridSizeXNumericEdit.TabIndex = 29;
this.ThumbnailSnapToGridSizeXNumericEdit.Value = new decimal(new int[] {
100,
0,
0,
0});
//
// SnapXLabel
//
this.SnapXLabel.AutoSize = true;
this.SnapXLabel.Location = new System.Drawing.Point(8, 124);
this.SnapXLabel.Name = "SnapXLabel";
this.SnapXLabel.Size = new System.Drawing.Size(42, 13);
this.SnapXLabel.TabIndex = 28;
this.SnapXLabel.Text = "Snap X";
//
// LockThumbnailLocationCheckbox
//
this.LockThumbnailLocationCheckbox.AutoSize = true;
this.LockThumbnailLocationCheckbox.Location = new System.Drawing.Point(11, 81);
this.LockThumbnailLocationCheckbox.Name = "LockThumbnailLocationCheckbox";
this.LockThumbnailLocationCheckbox.Size = new System.Drawing.Size(146, 17);
this.LockThumbnailLocationCheckbox.TabIndex = 26;
this.LockThumbnailLocationCheckbox.Text = "Lock Thumbnail Location";
this.LockThumbnailLocationCheckbox.UseVisualStyleBackColor = true;
//
// HeigthLabel
//
HeigthLabel.AutoSize = true;
@@ -628,6 +759,12 @@ namespace EveOPreview.View
// OverlaySettingsPanel
//
OverlaySettingsPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
OverlaySettingsPanel.Controls.Add(this.label3);
OverlaySettingsPanel.Controls.Add(this.label2);
OverlaySettingsPanel.Controls.Add(this.OverlayLabelColorButton);
OverlaySettingsPanel.Controls.Add(this.OverlayLabelSizeNumericEdit);
OverlaySettingsPanel.Controls.Add(this.panel1);
OverlaySettingsPanel.Controls.Add(this.label1);
OverlaySettingsPanel.Controls.Add(this.HighlightColorLabel);
OverlaySettingsPanel.Controls.Add(this.ActiveClientHighlightColorButton);
OverlaySettingsPanel.Controls.Add(this.EnableActiveClientHighlightCheckBox);
@@ -639,6 +776,173 @@ namespace EveOPreview.View
OverlaySettingsPanel.Size = new System.Drawing.Size(262, 210);
OverlaySettingsPanel.TabIndex = 25;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(5, 146);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(44, 13);
this.label3.TabIndex = 43;
this.label3.Text = "Position";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(5, 127);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(31, 13);
this.label2.TabIndex = 42;
this.label2.Text = "Color";
//
// OverlayLabelColorButton
//
this.OverlayLabelColorButton.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.OverlayLabelColorButton.Location = new System.Drawing.Point(42, 126);
this.OverlayLabelColorButton.Name = "OverlayLabelColorButton";
this.OverlayLabelColorButton.Size = new System.Drawing.Size(93, 17);
this.OverlayLabelColorButton.TabIndex = 41;
//
// OverlayLabelSizeNumericEdit
//
this.OverlayLabelSizeNumericEdit.BackColor = System.Drawing.SystemColors.Window;
this.OverlayLabelSizeNumericEdit.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.OverlayLabelSizeNumericEdit.CausesValidation = false;
this.OverlayLabelSizeNumericEdit.Increment = new decimal(new int[] {
10,
0,
0,
0});
this.OverlayLabelSizeNumericEdit.Location = new System.Drawing.Point(87, 100);
this.OverlayLabelSizeNumericEdit.Maximum = new decimal(new int[] {
999999,
0,
0,
0});
this.OverlayLabelSizeNumericEdit.Name = "OverlayLabelSizeNumericEdit";
this.OverlayLabelSizeNumericEdit.Size = new System.Drawing.Size(48, 20);
this.OverlayLabelSizeNumericEdit.TabIndex = 40;
this.OverlayLabelSizeNumericEdit.Value = new decimal(new int[] {
100,
0,
0,
0});
//
// panel1
//
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel1.Controls.Add(this.OverlayLabelNWRadioButton);
this.panel1.Controls.Add(this.OverlayLabelNRadioButton);
this.panel1.Controls.Add(this.OverlayLabelNERadioButton);
this.panel1.Controls.Add(this.OverlayLabelWRadioButton);
this.panel1.Controls.Add(this.OverlayLabelSERadioButton);
this.panel1.Controls.Add(this.OverlayLabelCRadioButton);
this.panel1.Controls.Add(this.OverlayLabelSRadioButton);
this.panel1.Controls.Add(this.OverlayLabelERadioButton);
this.panel1.Controls.Add(this.OverlayLabelSWRadioButton);
this.panel1.Location = new System.Drawing.Point(72, 149);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(63, 57);
this.panel1.TabIndex = 39;
//
// OverlayLabelNWRadioButton
//
this.OverlayLabelNWRadioButton.AutoSize = true;
this.OverlayLabelNWRadioButton.Location = new System.Drawing.Point(3, 3);
this.OverlayLabelNWRadioButton.Name = "OverlayLabelNWRadioButton";
this.OverlayLabelNWRadioButton.Size = new System.Drawing.Size(14, 13);
this.OverlayLabelNWRadioButton.TabIndex = 0;
this.OverlayLabelNWRadioButton.TabStop = true;
this.OverlayLabelNWRadioButton.UseVisualStyleBackColor = true;
//
// OverlayLabelNRadioButton
//
this.OverlayLabelNRadioButton.AutoSize = true;
this.OverlayLabelNRadioButton.Location = new System.Drawing.Point(23, 3);
this.OverlayLabelNRadioButton.Name = "OverlayLabelNRadioButton";
this.OverlayLabelNRadioButton.Size = new System.Drawing.Size(14, 13);
this.OverlayLabelNRadioButton.TabIndex = 1;
this.OverlayLabelNRadioButton.TabStop = true;
this.OverlayLabelNRadioButton.UseVisualStyleBackColor = true;
//
// OverlayLabelNERadioButton
//
this.OverlayLabelNERadioButton.AutoSize = true;
this.OverlayLabelNERadioButton.Location = new System.Drawing.Point(43, 3);
this.OverlayLabelNERadioButton.Name = "OverlayLabelNERadioButton";
this.OverlayLabelNERadioButton.Size = new System.Drawing.Size(14, 13);
this.OverlayLabelNERadioButton.TabIndex = 2;
this.OverlayLabelNERadioButton.TabStop = true;
this.OverlayLabelNERadioButton.UseVisualStyleBackColor = true;
//
// OverlayLabelWRadioButton
//
this.OverlayLabelWRadioButton.AutoSize = true;
this.OverlayLabelWRadioButton.Location = new System.Drawing.Point(3, 22);
this.OverlayLabelWRadioButton.Name = "OverlayLabelWRadioButton";
this.OverlayLabelWRadioButton.Size = new System.Drawing.Size(14, 13);
this.OverlayLabelWRadioButton.TabIndex = 3;
this.OverlayLabelWRadioButton.TabStop = true;
this.OverlayLabelWRadioButton.UseVisualStyleBackColor = true;
//
// OverlayLabelSERadioButton
//
this.OverlayLabelSERadioButton.AutoSize = true;
this.OverlayLabelSERadioButton.Location = new System.Drawing.Point(43, 40);
this.OverlayLabelSERadioButton.Name = "OverlayLabelSERadioButton";
this.OverlayLabelSERadioButton.Size = new System.Drawing.Size(14, 13);
this.OverlayLabelSERadioButton.TabIndex = 8;
this.OverlayLabelSERadioButton.TabStop = true;
this.OverlayLabelSERadioButton.UseVisualStyleBackColor = true;
//
// OverlayLabelCRadioButton
//
this.OverlayLabelCRadioButton.AutoSize = true;
this.OverlayLabelCRadioButton.Location = new System.Drawing.Point(23, 22);
this.OverlayLabelCRadioButton.Name = "OverlayLabelCRadioButton";
this.OverlayLabelCRadioButton.Size = new System.Drawing.Size(14, 13);
this.OverlayLabelCRadioButton.TabIndex = 4;
this.OverlayLabelCRadioButton.TabStop = true;
this.OverlayLabelCRadioButton.UseVisualStyleBackColor = true;
//
// OverlayLabelSRadioButton
//
this.OverlayLabelSRadioButton.AutoSize = true;
this.OverlayLabelSRadioButton.Location = new System.Drawing.Point(23, 40);
this.OverlayLabelSRadioButton.Name = "OverlayLabelSRadioButton";
this.OverlayLabelSRadioButton.Size = new System.Drawing.Size(14, 13);
this.OverlayLabelSRadioButton.TabIndex = 7;
this.OverlayLabelSRadioButton.TabStop = true;
this.OverlayLabelSRadioButton.UseVisualStyleBackColor = true;
//
// OverlayLabelERadioButton
//
this.OverlayLabelERadioButton.AutoSize = true;
this.OverlayLabelERadioButton.Location = new System.Drawing.Point(43, 22);
this.OverlayLabelERadioButton.Name = "OverlayLabelERadioButton";
this.OverlayLabelERadioButton.Size = new System.Drawing.Size(14, 13);
this.OverlayLabelERadioButton.TabIndex = 5;
this.OverlayLabelERadioButton.TabStop = true;
this.OverlayLabelERadioButton.UseVisualStyleBackColor = true;
//
// OverlayLabelSWRadioButton
//
this.OverlayLabelSWRadioButton.AutoSize = true;
this.OverlayLabelSWRadioButton.Location = new System.Drawing.Point(3, 40);
this.OverlayLabelSWRadioButton.Name = "OverlayLabelSWRadioButton";
this.OverlayLabelSWRadioButton.Size = new System.Drawing.Size(14, 13);
this.OverlayLabelSWRadioButton.TabIndex = 6;
this.OverlayLabelSWRadioButton.TabStop = true;
this.OverlayLabelSWRadioButton.UseVisualStyleBackColor = true;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(5, 102);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(56, 13);
this.label1.TabIndex = 30;
this.label1.Text = "Label Size";
//
// HighlightColorLabel
//
this.HighlightColorLabel.AutoSize = true;
@@ -769,6 +1073,36 @@ namespace EveOPreview.View
AboutPanel.Size = new System.Drawing.Size(262, 210);
AboutPanel.TabIndex = 2;
//
// CreditMaintLabel
//
CreditMaintLabel.AutoSize = true;
CreditMaintLabel.Location = new System.Drawing.Point(0, 143);
CreditMaintLabel.Name = "CreditMaintLabel";
CreditMaintLabel.Padding = new System.Windows.Forms.Padding(8, 3, 8, 3);
CreditMaintLabel.Size = new System.Drawing.Size(258, 19);
CreditMaintLabel.TabIndex = 7;
CreditMaintLabel.Text = "Credit to previous maintainer: Phrynohyas Tig-Rah";
//
// DocumentationLinkLabel
//
DocumentationLinkLabel.AutoSize = true;
DocumentationLinkLabel.Location = new System.Drawing.Point(0, 163);
DocumentationLinkLabel.Name = "DocumentationLinkLabel";
DocumentationLinkLabel.Padding = new System.Windows.Forms.Padding(8, 3, 8, 3);
DocumentationLinkLabel.Size = new System.Drawing.Size(222, 19);
DocumentationLinkLabel.TabIndex = 6;
DocumentationLinkLabel.Text = "For more information visit the forum thread:";
//
// DescriptionLabel
//
DescriptionLabel.BackColor = System.Drawing.Color.Transparent;
DescriptionLabel.Location = new System.Drawing.Point(0, 29);
DescriptionLabel.Name = "DescriptionLabel";
DescriptionLabel.Padding = new System.Windows.Forms.Padding(8, 3, 8, 3);
DescriptionLabel.Size = new System.Drawing.Size(261, 145);
DescriptionLabel.TabIndex = 5;
DescriptionLabel.Text = resources.GetString("DescriptionLabel.Text");
//
// VersionLabel
//
this.VersionLabel.AutoSize = true;
@@ -821,36 +1155,6 @@ namespace EveOPreview.View
this.TrayMenu.Name = "contextMenuStrip1";
this.TrayMenu.Size = new System.Drawing.Size(152, 76);
//
// DescriptionLabel
//
DescriptionLabel.BackColor = System.Drawing.Color.Transparent;
DescriptionLabel.Location = new System.Drawing.Point(0, 29);
DescriptionLabel.Name = "DescriptionLabel";
DescriptionLabel.Padding = new System.Windows.Forms.Padding(8, 3, 8, 3);
DescriptionLabel.Size = new System.Drawing.Size(261, 145);
DescriptionLabel.TabIndex = 5;
DescriptionLabel.Text = resources.GetString("DescriptionLabel.Text");
//
// DocumentationLinkLabel
//
DocumentationLinkLabel.AutoSize = true;
DocumentationLinkLabel.Location = new System.Drawing.Point(0, 163);
DocumentationLinkLabel.Name = "DocumentationLinkLabel";
DocumentationLinkLabel.Padding = new System.Windows.Forms.Padding(8, 3, 8, 3);
DocumentationLinkLabel.Size = new System.Drawing.Size(222, 19);
DocumentationLinkLabel.TabIndex = 6;
DocumentationLinkLabel.Text = "For more information visit the forum thread:";
//
// CreditMaintLabel
//
CreditMaintLabel.AutoSize = true;
CreditMaintLabel.Location = new System.Drawing.Point(0, 143);
CreditMaintLabel.Name = "CreditMaintLabel";
CreditMaintLabel.Padding = new System.Windows.Forms.Padding(8, 3, 8, 3);
CreditMaintLabel.Size = new System.Drawing.Size(258, 19);
CreditMaintLabel.TabIndex = 7;
CreditMaintLabel.Text = "Credit to previous maintainer: Phrynohyas Tig-Rah";
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -875,6 +1179,8 @@ namespace EveOPreview.View
ThumbnailTabPage.ResumeLayout(false);
ThumbnailSettingsPanel.ResumeLayout(false);
ThumbnailSettingsPanel.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.ThumbnailSnapToGridSizeYNumericEdit)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ThumbnailSnapToGridSizeXNumericEdit)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ThumbnailsWidthNumericEdit)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ThumbnailsHeightNumericEdit)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ThumbnailOpacityTrackBar)).EndInit();
@@ -887,6 +1193,9 @@ namespace EveOPreview.View
OverlayTabPage.ResumeLayout(false);
OverlaySettingsPanel.ResumeLayout(false);
OverlaySettingsPanel.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.OverlayLabelSizeNumericEdit)).EndInit();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
ClientsTabPage.ResumeLayout(false);
ClientsPanel.ResumeLayout(false);
ClientsPanel.PerformLayout();
@@ -932,5 +1241,27 @@ namespace EveOPreview.View
private LinkLabel DocumentationLink;
private Label VersionLabel;
private CheckBox MinimizeInactiveClientsCheckBox;
private CheckBox LockThumbnailLocationCheckbox;
private NumericUpDown ThumbnailSnapToGridSizeYNumericEdit;
private Label SnapYLabel;
private NumericUpDown ThumbnailSnapToGridSizeXNumericEdit;
private Label SnapXLabel;
private CheckBox MinimizeInactiveClientsAnimationCheckBox;
private CheckBox ThumbnailSnapToGridCheckBox;
private Label label3;
private Label label2;
private Panel OverlayLabelColorButton;
private NumericUpDown OverlayLabelSizeNumericEdit;
private Panel panel1;
private RadioButton OverlayLabelNWRadioButton;
private RadioButton OverlayLabelNRadioButton;
private RadioButton OverlayLabelNERadioButton;
private RadioButton OverlayLabelWRadioButton;
private RadioButton OverlayLabelSERadioButton;
private RadioButton OverlayLabelCRadioButton;
private RadioButton OverlayLabelSRadioButton;
private RadioButton OverlayLabelERadioButton;
private RadioButton OverlayLabelSWRadioButton;
private Label label1;
}
}

View File

@@ -10,7 +10,9 @@ namespace EveOPreview.View
#region Private fields
private readonly ApplicationContext _context;
private readonly Dictionary<ViewZoomAnchor, RadioButton> _zoomAnchorMap;
private readonly Dictionary<ViewZoomAnchor, RadioButton> _overlayLabelMap;
private ViewZoomAnchor _cachedThumbnailZoomAnchor;
private ViewZoomAnchor _cachedOverlayLabelAnchor;
private bool _suppressEvents;
private Size _minimumSize;
private Size _maximumSize;
@@ -20,6 +22,7 @@ namespace EveOPreview.View
{
this._context = context;
this._zoomAnchorMap = new Dictionary<ViewZoomAnchor, RadioButton>();
this._overlayLabelMap = new Dictionary<ViewZoomAnchor, RadioButton>();
this._cachedThumbnailZoomAnchor = ViewZoomAnchor.NW;
this._suppressEvents = false;
this._minimumSize = new Size(80, 60);
@@ -30,6 +33,7 @@ namespace EveOPreview.View
this.ThumbnailsList.DisplayMember = "Title";
this.InitZoomAnchorMap();
this.InitOverlayLabelMap();
}
public bool MinimizeToTray
@@ -74,6 +78,11 @@ namespace EveOPreview.View
get => this.MinimizeInactiveClientsCheckBox.Checked;
set => this.MinimizeInactiveClientsCheckBox.Checked = value;
}
public bool MinimizeInactiveClientsAnimation
{
get => this.MinimizeInactiveClientsAnimationCheckBox.Checked;
set => this.MinimizeInactiveClientsAnimationCheckBox.Checked = value;
}
public bool ShowThumbnailsAlwaysOnTop
{
@@ -149,6 +158,36 @@ namespace EveOPreview.View
}
}
public ViewZoomAnchor OverlayLabelAnchor
{
get
{
if (this._overlayLabelMap[this._cachedOverlayLabelAnchor].Checked)
{
return this._cachedOverlayLabelAnchor;
}
foreach (KeyValuePair<ViewZoomAnchor, RadioButton> valuePair in this._overlayLabelMap)
{
if (!valuePair.Value.Checked)
{
continue;
}
this._cachedOverlayLabelAnchor = valuePair.Key;
return this._cachedOverlayLabelAnchor;
}
// Default Value
return ViewZoomAnchor.NW;
}
set
{
this._cachedOverlayLabelAnchor = value;
this._overlayLabelMap[this._cachedOverlayLabelAnchor].Checked = true;
}
}
public bool ShowThumbnailOverlays
{
get => this.ShowThumbnailOverlaysCheckBox.Checked;
@@ -160,6 +199,26 @@ namespace EveOPreview.View
get => this.ShowThumbnailFramesCheckBox.Checked;
set => this.ShowThumbnailFramesCheckBox.Checked = value;
}
public bool LockThumbnailLocation
{
get => this.LockThumbnailLocationCheckbox.Checked;
set => this.LockThumbnailLocationCheckbox.Checked = value;
}
public bool ThumbnailSnapToGrid
{
get => this.ThumbnailSnapToGridCheckBox.Checked;
set => this.ThumbnailSnapToGridCheckBox.Checked = value;
}
public int ThumbnailSnapToGridSizeX
{
get => (int)ThumbnailSnapToGridSizeXNumericEdit.Value;
set => ThumbnailSnapToGridSizeXNumericEdit.Value = value;
}
public int ThumbnailSnapToGridSizeY
{
get => (int)ThumbnailSnapToGridSizeYNumericEdit.Value;
set => ThumbnailSnapToGridSizeYNumericEdit.Value = value;
}
public bool EnableActiveClientHighlight
{
@@ -178,6 +237,26 @@ namespace EveOPreview.View
}
private Color _activeClientHighlightColor;
public Color OverlayLabelColor
{
get => this._OverlayLabelColor;
set
{
this._OverlayLabelColor = value;
this.OverlayLabelColorButton.BackColor = value;
}
}
private Color _OverlayLabelColor;
public int OverlayLabelSize
{
get => (int)this.OverlayLabelSizeNumericEdit.Value;
set
{
this.OverlayLabelSizeNumericEdit.Value = value;
}
}
public new void Show()
{
// Registers the current instance as the application's Main Form
@@ -329,6 +408,22 @@ namespace EveOPreview.View
this.OptionChanged_Handler(sender, e);
}
private void OverlayLabelColorButton_Click(object sender, EventArgs e)
{
using (ColorDialog dialog = new ColorDialog())
{
dialog.Color = this.OverlayLabelColor;
if (dialog.ShowDialog() != DialogResult.OK)
{
return;
}
this.OverlayLabelColor = dialog.Color;
}
this.OptionChanged_Handler(sender, e);
}
private void ThumbnailsList_ItemCheck_Handler(object sender, ItemCheckEventArgs e)
{
if (!(this.ThumbnailsList.Items[e.Index] is IThumbnailDescription selectedItem))
@@ -391,5 +486,17 @@ namespace EveOPreview.View
this._zoomAnchorMap[ViewZoomAnchor.S] = this.ZoomAanchorSRadioButton;
this._zoomAnchorMap[ViewZoomAnchor.SE] = this.ZoomAanchorSERadioButton;
}
private void InitOverlayLabelMap()
{
this._overlayLabelMap[ViewZoomAnchor.NW] = this.OverlayLabelNWRadioButton;
this._overlayLabelMap[ViewZoomAnchor.N] = this.OverlayLabelNRadioButton;
this._overlayLabelMap[ViewZoomAnchor.NE] = this.OverlayLabelNERadioButton;
this._overlayLabelMap[ViewZoomAnchor.W] = this.OverlayLabelWRadioButton;
this._overlayLabelMap[ViewZoomAnchor.C] = this.OverlayLabelCRadioButton;
this._overlayLabelMap[ViewZoomAnchor.E] = this.OverlayLabelERadioButton;
this._overlayLabelMap[ViewZoomAnchor.SW] = this.OverlayLabelSWRadioButton;
this._overlayLabelMap[ViewZoomAnchor.S] = this.OverlayLabelSRadioButton;
this._overlayLabelMap[ViewZoomAnchor.SE] = this.OverlayLabelSERadioButton;
}
}
}

View File

@@ -132,215 +132,110 @@
<metadata name="ContentTabControl.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ContentTabControl.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="GeneralTabPage.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="GeneralTabPage.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="GeneralSettingsPanel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="GeneralSettingsPanel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="MinimizeInactiveClientsCheckBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="EnableClientLayoutTrackingCheckBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="HideActiveClientThumbnailCheckBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ShowThumbnailsAlwaysOnTopCheckBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="HideThumbnailsOnLostFocusCheckBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="EnablePerClientThumbnailsLayoutsCheckBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="MinimizeToTrayCheckBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ThumbnailTabPage.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ThumbnailTabPage.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ThumbnailSettingsPanel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ThumbnailSettingsPanel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="HeigthLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="HeigthLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="WidthLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="WidthLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ThumbnailsWidthNumericEdit.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ThumbnailsHeightNumericEdit.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ThumbnailOpacityTrackBar.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="OpacityLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="OpacityLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomTabPage.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomSettingsPanel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ZoomSettingsPanel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomFactorLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ZoomFactorLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomAnchorPanel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomAanchorNWRadioButton.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomAanchorNRadioButton.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomAanchorNERadioButton.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomAanchorWRadioButton.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomAanchorSERadioButton.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomAanchorCRadioButton.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomAanchorSRadioButton.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomAanchorERadioButton.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomAanchorSWRadioButton.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ZoomAnchorLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ZoomAnchorLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="EnableThumbnailZoomCheckBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ThumbnailZoomFactorNumericEdit.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="OverlayTabPage.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="OverlayTabPage.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="OverlaySettingsPanel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="OverlaySettingsPanel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="HighlightColorLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ActiveClientHighlightColorButton.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="EnableActiveClientHighlightCheckBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ShowThumbnailOverlaysCheckBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ShowThumbnailFramesCheckBox.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ClientsTabPage.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ClientsTabPage.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ClientsPanel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ClientsPanel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ThumbnailsList.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ThumbnailsListLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ThumbnailsListLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="AboutTabPage.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="AboutTabPage.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
<metadata name="AboutPanel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="GeneralSettingsPanel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ThumbnailSettingsPanel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="HeigthLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="WidthLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="OpacityLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="HeigthLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="WidthLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="OpacityLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ZoomSettingsPanel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ZoomFactorLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ZoomAnchorLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ZoomFactorLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ZoomAnchorLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ClientsPanel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ThumbnailsListLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ThumbnailsListLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="AboutPanel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="AboutPanel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="CreditMaintLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="CreditMaintLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="DocumentationLinkLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="DocumentationLinkLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="DescriptionLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="DescriptionLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
<metadata name="NameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="CreditMaintLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="DocumentationLinkLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="DescriptionLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<data name="DescriptionLabel.Text" xml:space="preserve">
<value>An advanced task switcher for EVE Online clients.
@@ -352,18 +247,9 @@ The program does NOT
• interact with EVE Online except of;
- resizing or bringing it to the foreground</value>
</data>
<metadata name="VersionLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="NameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="NameLabel.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="DocumentationLink.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="NotifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
@@ -909,9 +795,6 @@ The program does NOT
Af//4AAAAAAH///wAAAAAA////gAAAAAH////gAAAAB/////AAAAAP/////AAAAD/////+AAAAf//w==
</value>
</data>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>36</value>
</metadata>

View File

@@ -1,5 +1,6 @@
using System;
using System.Windows.Forms;
using EveOPreview.Configuration;
using EveOPreview.Services;
namespace EveOPreview.View
@@ -28,6 +29,66 @@ namespace EveOPreview.View
this.OverlayLabel.Text = label;
}
public void SetPropertiesOverlayLabel(int size, System.Drawing.Color c, ZoomAnchor anchor)
{
if (this.OverlayLabel.Font.Size != size)
{
this.OverlayLabel.Font = new System.Drawing.Font(this.OverlayLabel.Font.FontFamily, size);
}
this.OverlayLabel.ForeColor = c;
int margin = 5;
switch (anchor)
{
case ZoomAnchor.NW:
this.OverlayLabel.Left = margin;
this.OverlayLabel.Top = margin;
this.OverlayLabel.TextAlign = System.Drawing.ContentAlignment.TopLeft;
break;
case ZoomAnchor.N:
this.OverlayLabel.Left = (this.Width / 2) - (this.OverlayLabel.Width / 2);
this.OverlayLabel.Top = margin;
this.OverlayLabel.TextAlign = System.Drawing.ContentAlignment.TopCenter;
break;
case ZoomAnchor.NE:
this.OverlayLabel.Left = this.Width - this.OverlayLabel.Width - margin;
this.OverlayLabel.Top = margin;
this.OverlayLabel.TextAlign = System.Drawing.ContentAlignment.TopRight;
break;
case ZoomAnchor.W:
this.OverlayLabel.Left = margin;
this.OverlayLabel.Top = (this.Height / 2) - (this.OverlayLabel.Height / 2);
this.OverlayLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
break;
case ZoomAnchor.C:
this.OverlayLabel.Left = (this.Width / 2) - (this.OverlayLabel.Width / 2);
this.OverlayLabel.Top = (this.Height / 2) - (this.OverlayLabel.Height / 2);
this.OverlayLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
break;
case ZoomAnchor.E:
this.OverlayLabel.Left = this.Width - this.OverlayLabel.Width - margin;
this.OverlayLabel.Top = (this.Height / 2) - (this.OverlayLabel.Height / 2);
this.OverlayLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
break;
case ZoomAnchor.SW:
this.OverlayLabel.Left = margin;
this.OverlayLabel.Top = this.Height - this.OverlayLabel.Height - margin;
this.OverlayLabel.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
break;
case ZoomAnchor.S:
this.OverlayLabel.Left = (this.Width / 2) - (this.OverlayLabel.Width / 2);
this.OverlayLabel.Top = this.Height - this.OverlayLabel.Height - margin;
this.OverlayLabel.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
break;
case ZoomAnchor.SE:
this.OverlayLabel.Left = this.Width - this.OverlayLabel.Width - margin;
this.OverlayLabel.Top = this.Height - this.OverlayLabel.Height - margin;
this.OverlayLabel.TextAlign = System.Drawing.ContentAlignment.BottomRight;
break;
}
}
public void EnableOverlayLabel(bool enable)
{
this.OverlayLabel.Visible = enable;

View File

@@ -89,6 +89,7 @@ namespace EveOPreview.View
{
this.Text = value;
this._overlay.SetOverlayLabel(value.Replace("EVE - ", ""));
this._overlay.SetPropertiesOverlayLabel(_config.OverlayLabelSize, _config.OverlayLabelColor, _config.OverlayLabelAnchor);
SetDefaultBorderColor();
}
}
@@ -125,6 +126,8 @@ namespace EveOPreview.View
public Action<IntPtr, bool> ThumbnailDeactivated { get; set; }
private bool WindowMoved = false;
public void SetDefaultBorderColor()
{
this._myBorderColor = new Lazy<Color>(() =>
@@ -231,6 +234,9 @@ namespace EveOPreview.View
this.FormBorderStyle = style;
}
public void SetOverlayLabel()
{
}
public void SetTopMost(bool enableTopmost)
{
@@ -436,6 +442,9 @@ namespace EveOPreview.View
this._isLocationChanged = false;
this._overlay.Size = overlaySize;
this._overlay.SetPropertiesOverlayLabel(_config.OverlayLabelSize, _config.OverlayLabelColor, _config.OverlayLabelAnchor);
this._overlay.Location = overlayLocation;
this._overlay.Refresh();
}
@@ -507,6 +516,18 @@ namespace EveOPreview.View
if (e.Button == MouseButtons.Right)
{
this.ExitCustomMouseMode();
// Snap to Grid on release of mouse (if moved)
if (_config.ThumbnailSnapToGrid && this.WindowMoved)
{
var x = (int)Math.Round((double)this.Location.X / (double)_config.ThumbnailSnapToGridSizeX) * _config.ThumbnailSnapToGridSizeX;
var y = (int)Math.Round((double)this.Location.Y / (double)_config.ThumbnailSnapToGridSizeY) * _config.ThumbnailSnapToGridSizeY;
this.Location = new Point(x, y);
this._baseZoomLocation = this.Location;
this.WindowMoved = false;
}
}
}
@@ -555,6 +576,8 @@ namespace EveOPreview.View
int offsetY = mousePosition.Y - this._baseMousePosition.Y;
this._baseMousePosition = mousePosition;
if (!_config.LockThumbnailLocation)
{
// Left + Right buttons trigger thumbnail resize
// Right button only trigger thumbnail movement
if (leftButton && rightButton)
@@ -566,6 +589,8 @@ namespace EveOPreview.View
{
this.Location = new Point(this.Location.X + offsetX, this.Location.Y + offsetY);
this._baseZoomLocation = this.Location;
this.WindowMoved = true;
}
}
}

View File

@@ -17,6 +17,7 @@ namespace EveOPreview.View
bool EnableClientLayoutTracking { get; set; }
bool HideActiveClientThumbnail { get; set; }
bool MinimizeInactiveClients { get; set; }
bool MinimizeInactiveClientsAnimation { get; set; }
bool ShowThumbnailsAlwaysOnTop { get; set; }
bool HideThumbnailsOnLostFocus { get; set; }
bool EnablePerClientThumbnailLayouts { get; set; }
@@ -26,12 +27,20 @@ namespace EveOPreview.View
bool EnableThumbnailZoom { get; set; }
int ThumbnailZoomFactor { get; set; }
ViewZoomAnchor ThumbnailZoomAnchor { get; set; }
ViewZoomAnchor OverlayLabelAnchor { get; set; }
bool ShowThumbnailOverlays { get; set; }
bool ShowThumbnailFrames { get; set; }
bool LockThumbnailLocation { get; set; }
bool ThumbnailSnapToGrid { get; set; }
int ThumbnailSnapToGridSizeX { get; set; }
int ThumbnailSnapToGridSizeY { get; set; }
bool EnableActiveClientHighlight { get; set; }
Color ActiveClientHighlightColor { get; set; }
Color OverlayLabelColor { get; set; }
int OverlayLabelSize { get; set; }
void SetDocumentationUrl(string url);
void SetVersionInfo(string version);

View File

@@ -20,6 +20,7 @@ namespace EveOPreview.View
void SetSizeLimitations(Size minimumSize, Size maximumSize);
void SetOpacity(double opacity);
void SetFrames(bool enable);
void SetOverlayLabel();
void SetTopMost(bool enableTopmost);
void SetHighlight();
void SetHighlight(bool enabled, int width);