Compare commits
10 Commits
dfed1f4d69
...
652684e00a
Author | SHA1 | Date | |
---|---|---|---|
652684e00a | |||
1ee94f1d39 | |||
1882a7a8da | |||
eba6abb0c7 | |||
c7141a43a2 | |||
fb4ac8f526 | |||
c0c3bcda38 | |||
2c4cce0347 | |||
650b8064ae | |||
368e5e88c1 |
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,4 +1,3 @@
|
|||||||
bin/
|
|
||||||
obj/
|
obj/
|
||||||
publish/
|
publish/
|
||||||
tools/
|
tools/
|
||||||
@@ -9,3 +8,7 @@ src/*/.vs/
|
|||||||
*.DotSettings
|
*.DotSettings
|
||||||
build/Fody*
|
build/Fody*
|
||||||
*.vs/
|
*.vs/
|
||||||
|
*.dll
|
||||||
|
*.exe
|
||||||
|
*.log
|
||||||
|
*.pdb
|
||||||
|
100
bin/net6.0-windows/EVE-O-Preview.deps.json
Normal file
100
bin/net6.0-windows/EVE-O-Preview.deps.json
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
{
|
||||||
|
"runtimeTarget": {
|
||||||
|
"name": ".NETCoreApp,Version=v6.0",
|
||||||
|
"signature": ""
|
||||||
|
},
|
||||||
|
"compilationOptions": {},
|
||||||
|
"targets": {
|
||||||
|
".NETCoreApp,Version=v6.0": {
|
||||||
|
"EVE-O-Preview/1.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"LightInject": "7.0.1",
|
||||||
|
"MediatR": "9.0.0",
|
||||||
|
"Microsoft.CSharp": "4.7.0",
|
||||||
|
"Microsoft.NET.ILLink.Analyzers": "7.0.100-1.23211.1",
|
||||||
|
"Microsoft.NET.ILLink.Tasks": "7.0.100-1.23211.1",
|
||||||
|
"Newtonsoft.Json": "13.0.3"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"EVE-O-Preview.dll": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"LightInject/7.0.1": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.0/LightInject.dll": {
|
||||||
|
"assemblyVersion": "7.0.1.0",
|
||||||
|
"fileVersion": "7.0.1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"MediatR/9.0.0": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.1/MediatR.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.CSharp/4.7.0": {},
|
||||||
|
"Microsoft.NET.ILLink.Analyzers/7.0.100-1.23211.1": {},
|
||||||
|
"Microsoft.NET.ILLink.Tasks/7.0.100-1.23211.1": {},
|
||||||
|
"Newtonsoft.Json/13.0.3": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/Newtonsoft.Json.dll": {
|
||||||
|
"assemblyVersion": "13.0.0.0",
|
||||||
|
"fileVersion": "13.0.3.27908"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"EVE-O-Preview/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"serviceable": false,
|
||||||
|
"sha512": ""
|
||||||
|
},
|
||||||
|
"LightInject/7.0.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-aw4ayG2Pe68i+85ws8zYk7MPCKjEd4DeBoTqVvmjA2cfpYYNnw+v0E5T3PKdriKaxdKF+eUzlnxWWZnYK/gx4w==",
|
||||||
|
"path": "lightinject/7.0.1",
|
||||||
|
"hashPath": "lightinject.7.0.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"MediatR/9.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-8b3UYNxegHVYcJMG2zH8wn+YqxLvXG+eMfj0cMCq/jTW72p6O3PCKMkrIv0mqyxdW7bA4gblsocw7n+/9Akg5g==",
|
||||||
|
"path": "mediatr/9.0.0",
|
||||||
|
"hashPath": "mediatr.9.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.CSharp/4.7.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==",
|
||||||
|
"path": "microsoft.csharp/4.7.0",
|
||||||
|
"hashPath": "microsoft.csharp.4.7.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.NET.ILLink.Analyzers/7.0.100-1.23211.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-0GvbEgDGcUQA9KuWcQU1WwYHXt1tBzNr1Nls/M57rM7NA/AndFwCaCEoJpJkmxRY7xLlPDBnmGp8h5+FNqUngg==",
|
||||||
|
"path": "microsoft.net.illink.analyzers/7.0.100-1.23211.1",
|
||||||
|
"hashPath": "microsoft.net.illink.analyzers.7.0.100-1.23211.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.NET.ILLink.Tasks/7.0.100-1.23211.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-tvG8XZYLjT0o3WicCyKBZysVWo1jC9HdCFmNRmddx3WbAz0UCsd0qKZqpiEo99VLA8Re+FzWK51OcRldQPbt2Q==",
|
||||||
|
"path": "microsoft.net.illink.tasks/7.0.100-1.23211.1",
|
||||||
|
"hashPath": "microsoft.net.illink.tasks.7.0.100-1.23211.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Newtonsoft.Json/13.0.3": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
|
||||||
|
"path": "newtonsoft.json/13.0.3",
|
||||||
|
"hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
128
bin/net6.0-windows/EVE-O-Preview.json
Normal file
128
bin/net6.0-windows/EVE-O-Preview.json
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
{
|
||||||
|
"ConfigVersion": 1,
|
||||||
|
"CycleGroup1ForwardHotkeys": [
|
||||||
|
"F14",
|
||||||
|
"Control+F14"
|
||||||
|
],
|
||||||
|
"CycleGroup1BackwardHotkeys": [
|
||||||
|
"F13",
|
||||||
|
"Control+F13"
|
||||||
|
],
|
||||||
|
"CycleGroup1ClientsOrder": {
|
||||||
|
"EVE - Example DPS Toon 1": 1,
|
||||||
|
"EVE - Example DPS Toon 2": 2,
|
||||||
|
"EVE - Example DPS Toon 3": 3
|
||||||
|
},
|
||||||
|
"CycleGroup2ForwardHotkeys": [
|
||||||
|
"F16",
|
||||||
|
"Control+F16"
|
||||||
|
],
|
||||||
|
"CycleGroup2BackwardHotkeys": [
|
||||||
|
"F15",
|
||||||
|
"Control+F15"
|
||||||
|
],
|
||||||
|
"CycleGroup2ClientsOrder": {
|
||||||
|
"EVE - Example Logi Toon 1": 1,
|
||||||
|
"EVE - Example Scout Toon 2": 2,
|
||||||
|
"EVE - Example Tackle Toon 3": 3
|
||||||
|
},
|
||||||
|
"CycleGroup3ForwardHotkeys": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"CycleGroup3BackwardHotkeys": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"CycleGroup3ClientsOrder": {
|
||||||
|
"EVE - cycle group 3": 1
|
||||||
|
},
|
||||||
|
"CycleGroup4ForwardHotkeys": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"CycleGroup4BackwardHotkeys": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"CycleGroup4ClientsOrder": {
|
||||||
|
"EVE - cycle group 4": 1
|
||||||
|
},
|
||||||
|
"CycleGroup5ForwardHotkeys": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"CycleGroup5BackwardHotkeys": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"CycleGroup5ClientsOrder": {
|
||||||
|
"EVE - cycle group 5": 1
|
||||||
|
},
|
||||||
|
"PerClientActiveClientHighlightColor": {
|
||||||
|
"EVE - Example Toon 1": "Red",
|
||||||
|
"EVE - Example Toon 2": "Green"
|
||||||
|
},
|
||||||
|
"PerClientThumbnailSize": {
|
||||||
|
"EVE - Example Toon 1": "200, 200",
|
||||||
|
"EVE - Example Toon 2": "200, 200"
|
||||||
|
},
|
||||||
|
"PerClientThumbnailRegion": {},
|
||||||
|
"PerClientZoomAnchor": {
|
||||||
|
"EVE - Example Toon 1": 1,
|
||||||
|
"EVE - Example Toon 2": 7
|
||||||
|
},
|
||||||
|
"MinimizeToTray": true,
|
||||||
|
"ThumbnailRefreshPeriod": 500,
|
||||||
|
"ThumbnailResizeTimeoutPeriod": 500,
|
||||||
|
"WineCompatibilityMode": false,
|
||||||
|
"ThumbnailsOpacity": 0.5,
|
||||||
|
"EnableClientLayoutTracking": false,
|
||||||
|
"HideActiveClientThumbnail": false,
|
||||||
|
"HideLoginClientThumbnail": false,
|
||||||
|
"MinimizeInactiveClients": false,
|
||||||
|
"WindowsAnimationStyle": 1,
|
||||||
|
"ShowThumbnailsAlwaysOnTop": true,
|
||||||
|
"EnablePerClientThumbnailLayouts": false,
|
||||||
|
"HideThumbnailsOnLostFocus": false,
|
||||||
|
"HideThumbnailsDelay": 2,
|
||||||
|
"ThumbnailSize": "408, 177",
|
||||||
|
"ThumbnailMaximumSize": "960, 540",
|
||||||
|
"ThumbnailMinimumSize": "192, 108",
|
||||||
|
"EnableThumbnailSnap": true,
|
||||||
|
"ThumbnailSnapRange": 20,
|
||||||
|
"EnableThumbnailZoom": false,
|
||||||
|
"ThumbnailZoomFactor": 2,
|
||||||
|
"ThumbnailZoomAnchor": 0,
|
||||||
|
"OverlayLabelAnchor": 0,
|
||||||
|
"ShowThumbnailOverlays": true,
|
||||||
|
"ShowThumbnailFrames": false,
|
||||||
|
"LockThumbnailLocation": false,
|
||||||
|
"ThumbnailSnapToGrid": true,
|
||||||
|
"ThumbnailSnapToGridSizeX": 102,
|
||||||
|
"ThumbnailSnapToGridSizeY": 44,
|
||||||
|
"EnableActiveClientHighlight": false,
|
||||||
|
"ActiveClientHighlightColor": "GreenYellow",
|
||||||
|
"OverlayLabelColor": "Orange",
|
||||||
|
"OverlayLabelSize": 10,
|
||||||
|
"EnableThumbnailRegionSnipping": true,
|
||||||
|
"DefaultThumbnailRegion": "1187, 1252, 398, 174",
|
||||||
|
"CurrentProfile": "Default",
|
||||||
|
"AvailableProfiles": [
|
||||||
|
"Default"
|
||||||
|
],
|
||||||
|
"IconName": "IconOriginal",
|
||||||
|
"ActiveClientHighlightThickness": 3,
|
||||||
|
"LoginThumbnailLocation": "5, 5",
|
||||||
|
"ToggleTrackingHotkey": "Alt+F16",
|
||||||
|
"ToggleSingleProcessHotkey": "Control+F16",
|
||||||
|
"ToggleAllThumbnailsHotkey": "Shift+Alt+Oem3",
|
||||||
|
"ThumbnailsManuallyHidden": false,
|
||||||
|
"PerClientLayout": {},
|
||||||
|
"FlatLayout": {
|
||||||
|
"EVE - Sn v1 cosunoo (2)": "1938, 1100",
|
||||||
|
"EVE - Primorium (1)": "1530, 1100",
|
||||||
|
"EVE - PhatPhuckDave (3)": "1122, 1100"
|
||||||
|
},
|
||||||
|
"ClientLayout": {},
|
||||||
|
"ClientHotkey": {},
|
||||||
|
"DisableThumbnail": {},
|
||||||
|
"PriorityClients": [],
|
||||||
|
"ExecutablesToPreview": [
|
||||||
|
"exefile"
|
||||||
|
]
|
||||||
|
}
|
18
bin/net6.0-windows/EVE-O-Preview.runtimeconfig.json
Normal file
18
bin/net6.0-windows/EVE-O-Preview.runtimeconfig.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "net6.0",
|
||||||
|
"frameworks": [
|
||||||
|
{
|
||||||
|
"name": "Microsoft.NETCore.App",
|
||||||
|
"version": "6.0.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Microsoft.WindowsDesktop.App",
|
||||||
|
"version": "6.0.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"configProperties": {
|
||||||
|
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
91
bin/net8.0-windows8.0/EVE-O-Preview.deps.json
Normal file
91
bin/net8.0-windows8.0/EVE-O-Preview.deps.json
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
{
|
||||||
|
"runtimeTarget": {
|
||||||
|
"name": ".NETCoreApp,Version=v8.0",
|
||||||
|
"signature": ""
|
||||||
|
},
|
||||||
|
"compilationOptions": {},
|
||||||
|
"targets": {
|
||||||
|
".NETCoreApp,Version=v8.0": {
|
||||||
|
"EVE-O-Preview/1.0.0": {
|
||||||
|
"dependencies": {
|
||||||
|
"LightInject": "7.0.1",
|
||||||
|
"MediatR": "9.0.0",
|
||||||
|
"Microsoft.CSharp": "4.7.0",
|
||||||
|
"Microsoft.NET.ILLink.Tasks": "8.0.18",
|
||||||
|
"Newtonsoft.Json": "13.0.3"
|
||||||
|
},
|
||||||
|
"runtime": {
|
||||||
|
"EVE-O-Preview.dll": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"LightInject/7.0.1": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net8.0/LightInject.dll": {
|
||||||
|
"assemblyVersion": "7.0.1.0",
|
||||||
|
"fileVersion": "7.0.1.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"MediatR/9.0.0": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/netstandard2.1/MediatR.dll": {
|
||||||
|
"assemblyVersion": "9.0.0.0",
|
||||||
|
"fileVersion": "9.0.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Microsoft.CSharp/4.7.0": {},
|
||||||
|
"Microsoft.NET.ILLink.Tasks/8.0.18": {},
|
||||||
|
"Newtonsoft.Json/13.0.3": {
|
||||||
|
"runtime": {
|
||||||
|
"lib/net6.0/Newtonsoft.Json.dll": {
|
||||||
|
"assemblyVersion": "13.0.0.0",
|
||||||
|
"fileVersion": "13.0.3.27908"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"EVE-O-Preview/1.0.0": {
|
||||||
|
"type": "project",
|
||||||
|
"serviceable": false,
|
||||||
|
"sha512": ""
|
||||||
|
},
|
||||||
|
"LightInject/7.0.1": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-aw4ayG2Pe68i+85ws8zYk7MPCKjEd4DeBoTqVvmjA2cfpYYNnw+v0E5T3PKdriKaxdKF+eUzlnxWWZnYK/gx4w==",
|
||||||
|
"path": "lightinject/7.0.1",
|
||||||
|
"hashPath": "lightinject.7.0.1.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"MediatR/9.0.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-8b3UYNxegHVYcJMG2zH8wn+YqxLvXG+eMfj0cMCq/jTW72p6O3PCKMkrIv0mqyxdW7bA4gblsocw7n+/9Akg5g==",
|
||||||
|
"path": "mediatr/9.0.0",
|
||||||
|
"hashPath": "mediatr.9.0.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.CSharp/4.7.0": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==",
|
||||||
|
"path": "microsoft.csharp/4.7.0",
|
||||||
|
"hashPath": "microsoft.csharp.4.7.0.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Microsoft.NET.ILLink.Tasks/8.0.18": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-OiXqr2YIBEV9dsAWEtasK470ALyJ0VxJ9k4MotOxlWV6HeEgrJKYMW4HHj1OCCXvqE0/A25wEKPkpfiBARgDZA==",
|
||||||
|
"path": "microsoft.net.illink.tasks/8.0.18",
|
||||||
|
"hashPath": "microsoft.net.illink.tasks.8.0.18.nupkg.sha512"
|
||||||
|
},
|
||||||
|
"Newtonsoft.Json/13.0.3": {
|
||||||
|
"type": "package",
|
||||||
|
"serviceable": true,
|
||||||
|
"sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
|
||||||
|
"path": "newtonsoft.json/13.0.3",
|
||||||
|
"hashPath": "newtonsoft.json.13.0.3.nupkg.sha512"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
127
bin/net8.0-windows8.0/EVE-O-Preview.json
Normal file
127
bin/net8.0-windows8.0/EVE-O-Preview.json
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
{
|
||||||
|
"ConfigVersion": 1,
|
||||||
|
"CycleGroup1ForwardHotkeys": [
|
||||||
|
"F14",
|
||||||
|
"Control+F14"
|
||||||
|
],
|
||||||
|
"CycleGroup1BackwardHotkeys": [
|
||||||
|
"F13",
|
||||||
|
"Control+F13"
|
||||||
|
],
|
||||||
|
"CycleGroup1ClientsOrder": {
|
||||||
|
"EVE - Example DPS Toon 1": 1,
|
||||||
|
"EVE - Example DPS Toon 2": 2,
|
||||||
|
"EVE - Example DPS Toon 3": 3
|
||||||
|
},
|
||||||
|
"CycleGroup2ForwardHotkeys": [
|
||||||
|
"F16",
|
||||||
|
"Control+F16"
|
||||||
|
],
|
||||||
|
"CycleGroup2BackwardHotkeys": [
|
||||||
|
"F15",
|
||||||
|
"Control+F15"
|
||||||
|
],
|
||||||
|
"CycleGroup2ClientsOrder": {
|
||||||
|
"EVE - Example Logi Toon 1": 1,
|
||||||
|
"EVE - Example Scout Toon 2": 2,
|
||||||
|
"EVE - Example Tackle Toon 3": 3
|
||||||
|
},
|
||||||
|
"CycleGroup3ForwardHotkeys": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"CycleGroup3BackwardHotkeys": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"CycleGroup3ClientsOrder": {
|
||||||
|
"EVE - cycle group 3": 1
|
||||||
|
},
|
||||||
|
"CycleGroup4ForwardHotkeys": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"CycleGroup4BackwardHotkeys": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"CycleGroup4ClientsOrder": {
|
||||||
|
"EVE - cycle group 4": 1
|
||||||
|
},
|
||||||
|
"CycleGroup5ForwardHotkeys": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"CycleGroup5BackwardHotkeys": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"CycleGroup5ClientsOrder": {
|
||||||
|
"EVE - cycle group 5": 1
|
||||||
|
},
|
||||||
|
"PerClientActiveClientHighlightColor": {
|
||||||
|
"EVE - Example Toon 1": "Red",
|
||||||
|
"EVE - Example Toon 2": "Green"
|
||||||
|
},
|
||||||
|
"PerClientThumbnailSize": {
|
||||||
|
"EVE - Example Toon 1": "200, 200",
|
||||||
|
"EVE - Example Toon 2": "200, 200"
|
||||||
|
},
|
||||||
|
"PerClientThumbnailRegion": {},
|
||||||
|
"PerClientZoomAnchor": {
|
||||||
|
"EVE - Example Toon 1": 1,
|
||||||
|
"EVE - Example Toon 2": 7
|
||||||
|
},
|
||||||
|
"MinimizeToTray": true,
|
||||||
|
"ThumbnailRefreshPeriod": 500,
|
||||||
|
"ThumbnailResizeTimeoutPeriod": 500,
|
||||||
|
"WineCompatibilityMode": false,
|
||||||
|
"ThumbnailsOpacity": 1.0,
|
||||||
|
"EnableClientLayoutTracking": false,
|
||||||
|
"HideActiveClientThumbnail": false,
|
||||||
|
"HideLoginClientThumbnail": false,
|
||||||
|
"MinimizeInactiveClients": false,
|
||||||
|
"WindowsAnimationStyle": 1,
|
||||||
|
"ShowThumbnailsAlwaysOnTop": true,
|
||||||
|
"EnablePerClientThumbnailLayouts": false,
|
||||||
|
"HideThumbnailsOnLostFocus": false,
|
||||||
|
"HideThumbnailsDelay": 2,
|
||||||
|
"ThumbnailSize": "421, 186",
|
||||||
|
"ThumbnailMaximumSize": "960, 540",
|
||||||
|
"ThumbnailMinimumSize": "192, 108",
|
||||||
|
"EnableThumbnailSnap": true,
|
||||||
|
"ThumbnailSnapRange": 150,
|
||||||
|
"EnableThumbnailZoom": false,
|
||||||
|
"ThumbnailZoomFactor": 2,
|
||||||
|
"ThumbnailZoomAnchor": 0,
|
||||||
|
"OverlayLabelAnchor": 0,
|
||||||
|
"ShowThumbnailOverlays": true,
|
||||||
|
"ShowThumbnailFrames": false,
|
||||||
|
"LockThumbnailLocation": false,
|
||||||
|
"ThumbnailSnapToGrid": false,
|
||||||
|
"ThumbnailSnapToGridSizeX": 100,
|
||||||
|
"ThumbnailSnapToGridSizeY": 50,
|
||||||
|
"EnableActiveClientHighlight": true,
|
||||||
|
"ActiveClientHighlightColor": "GreenYellow",
|
||||||
|
"OverlayLabelColor": "Orange",
|
||||||
|
"OverlayLabelSize": 10,
|
||||||
|
"EnableThumbnailRegionSnipping": true,
|
||||||
|
"DefaultThumbnailRegion": "1191, 1245, 401, 180",
|
||||||
|
"CurrentProfile": "Default",
|
||||||
|
"AvailableProfiles": [
|
||||||
|
"Default"
|
||||||
|
],
|
||||||
|
"IconName": "IconOriginal",
|
||||||
|
"ActiveClientHighlightThickness": 3,
|
||||||
|
"LoginThumbnailLocation": "5, 5",
|
||||||
|
"ToggleTrackingHotkey": null,
|
||||||
|
"PerClientLayout": {},
|
||||||
|
"FlatLayout": {
|
||||||
|
"EVE - Sn v1 cosunoo (2)": "1990, 1072",
|
||||||
|
"EVE - Primorium (1)": "1569, 1072",
|
||||||
|
"EVE - PhatPhuckDave (3)": "1148, 1072"
|
||||||
|
},
|
||||||
|
"ClientLayout": {},
|
||||||
|
"ClientHotkey": {},
|
||||||
|
"DisableThumbnail": {
|
||||||
|
"EVE - PhatPhuckDave (3)": false
|
||||||
|
},
|
||||||
|
"PriorityClients": [],
|
||||||
|
"ExecutablesToPreview": [
|
||||||
|
"exefile"
|
||||||
|
]
|
||||||
|
}
|
20
bin/net8.0-windows8.0/EVE-O-Preview.runtimeconfig.json
Normal file
20
bin/net8.0-windows8.0/EVE-O-Preview.runtimeconfig.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "net8.0",
|
||||||
|
"frameworks": [
|
||||||
|
{
|
||||||
|
"name": "Microsoft.NETCore.App",
|
||||||
|
"version": "8.0.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Microsoft.WindowsDesktop.App",
|
||||||
|
"version": "8.0.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"configProperties": {
|
||||||
|
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
||||||
|
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true,
|
||||||
|
"CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -1,6 +1,6 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0-windows8.0</TargetFramework>
|
<TargetFramework>net6.0-windows</TargetFramework>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<RootNamespace>EveOMock</RootNamespace>
|
<RootNamespace>EveOMock</RootNamespace>
|
||||||
<AssemblyName>ExeFile</AssemblyName>
|
<AssemblyName>ExeFile</AssemblyName>
|
||||||
|
@@ -124,6 +124,10 @@ namespace EveOPreview.Configuration.Implementation {
|
|||||||
this.IconName = "";
|
this.IconName = "";
|
||||||
|
|
||||||
this.LoginThumbnailLocation = new Point(5, 5);
|
this.LoginThumbnailLocation = new Point(5, 5);
|
||||||
|
this.ToggleTrackingHotkey = "Alt+F16";
|
||||||
|
this.ToggleSingleProcessHotkey = "Control+F16";
|
||||||
|
this.ToggleAllThumbnailsHotkey = "Alt+F12";
|
||||||
|
this.ThumbnailsManuallyHidden = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
[JsonProperty("ConfigVersion")]
|
[JsonProperty("ConfigVersion")]
|
||||||
@@ -318,6 +322,21 @@ namespace EveOPreview.Configuration.Implementation {
|
|||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[JsonProperty("ToggleSingleProcessHotkey")]
|
||||||
|
public string ToggleSingleProcessHotkey {
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[JsonProperty("ToggleAllThumbnailsHotkey")]
|
||||||
|
public string ToggleAllThumbnailsHotkey {
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[JsonProperty("ThumbnailsManuallyHidden")]
|
||||||
|
public bool ThumbnailsManuallyHidden {
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
[JsonProperty]
|
[JsonProperty]
|
||||||
private Dictionary<string, Dictionary<string, Point>> PerClientLayout {
|
private Dictionary<string, Dictionary<string, Point>> PerClientLayout {
|
||||||
get; set;
|
get; set;
|
||||||
|
@@ -25,6 +25,9 @@ namespace EveOPreview.Configuration {
|
|||||||
Dictionary<string, int> CycleGroup5ClientsOrder { get; set; }
|
Dictionary<string, int> CycleGroup5ClientsOrder { get; set; }
|
||||||
|
|
||||||
string ToggleTrackingHotkey { get; set; }
|
string ToggleTrackingHotkey { get; set; }
|
||||||
|
string ToggleSingleProcessHotkey { get; set; }
|
||||||
|
string ToggleAllThumbnailsHotkey { get; set; }
|
||||||
|
bool ThumbnailsManuallyHidden { get; set; }
|
||||||
|
|
||||||
Dictionary<string, Color> PerClientActiveClientHighlightColor { get; set; }
|
Dictionary<string, Color> PerClientActiveClientHighlightColor { get; set; }
|
||||||
Dictionary<string, Size> PerClientThumbnailSize { get; set; }
|
Dictionary<string, Size> PerClientThumbnailSize { get; set; }
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<DefineConstants Condition="'$(EVEOTarget)'=='Linux'">LINUX</DefineConstants>
|
<DefineConstants Condition="'$(EVEOTarget)'=='Linux'">LINUX</DefineConstants>
|
||||||
<TargetFramework>net8.0-windows8.0</TargetFramework>
|
<TargetFramework>net6.0-windows</TargetFramework>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<PublishSingleFile>true</PublishSingleFile>
|
<PublishSingleFile>true</PublishSingleFile>
|
||||||
<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>
|
<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>
|
||||||
|
@@ -0,0 +1,20 @@
|
|||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using EveOPreview.Mediator.Messages;
|
||||||
|
using EveOPreview.Services;
|
||||||
|
using MediatR;
|
||||||
|
|
||||||
|
namespace EveOPreview.Mediator.Handlers.Services {
|
||||||
|
public sealed class ReRegisterHotkeysHandler : INotificationHandler<ReRegisterHotkeys> {
|
||||||
|
private readonly IThumbnailManager _thumbnailManager;
|
||||||
|
|
||||||
|
public ReRegisterHotkeysHandler(IThumbnailManager thumbnailManager) {
|
||||||
|
this._thumbnailManager = thumbnailManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task Handle(ReRegisterHotkeys notification, CancellationToken cancellationToken) {
|
||||||
|
this._thumbnailManager.ReRegisterHotkeys();
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,5 @@
|
|||||||
|
using MediatR;
|
||||||
|
|
||||||
|
namespace EveOPreview.Mediator.Messages {
|
||||||
|
public sealed class ReRegisterHotkeys : INotification {}
|
||||||
|
}
|
@@ -133,6 +133,10 @@ namespace EveOPreview.Presenters {
|
|||||||
this.View.AvailableProfiles = this._configuration.AvailableProfiles;
|
this.View.AvailableProfiles = this._configuration.AvailableProfiles;
|
||||||
this.View.CurrentProfile = this._configuration.CurrentProfile;
|
this.View.CurrentProfile = this._configuration.CurrentProfile;
|
||||||
|
|
||||||
|
this.View.ToggleTrackingHotkey = this._configuration.ToggleTrackingHotkey;
|
||||||
|
this.View.ToggleSingleProcessHotkey = this._configuration.ToggleSingleProcessHotkey;
|
||||||
|
this.View.ToggleAllThumbnailsHotkey = this._configuration.ToggleAllThumbnailsHotkey;
|
||||||
|
|
||||||
this.View.IconName = this._configuration.IconName;
|
this.View.IconName = this._configuration.IconName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -181,6 +185,13 @@ namespace EveOPreview.Presenters {
|
|||||||
this._configuration.AvailableProfiles = this.View.AvailableProfiles;
|
this._configuration.AvailableProfiles = this.View.AvailableProfiles;
|
||||||
this._configuration.CurrentProfile = this.View.CurrentProfile;
|
this._configuration.CurrentProfile = this.View.CurrentProfile;
|
||||||
|
|
||||||
|
this._configuration.ToggleTrackingHotkey = this.View.ToggleTrackingHotkey;
|
||||||
|
this._configuration.ToggleSingleProcessHotkey = this.View.ToggleSingleProcessHotkey;
|
||||||
|
this._configuration.ToggleAllThumbnailsHotkey = this.View.ToggleAllThumbnailsHotkey;
|
||||||
|
|
||||||
|
// Re-register hotkeys if they changed
|
||||||
|
await this._mediator.Publish(new ReRegisterHotkeys());
|
||||||
|
|
||||||
// Publish region settings update if they changed
|
// Publish region settings update if they changed
|
||||||
if (this._configuration.EnableThumbnailRegionSnipping != this.View.EnableThumbnailRegionSnipping ||
|
if (this._configuration.EnableThumbnailRegionSnipping != this.View.EnableThumbnailRegionSnipping ||
|
||||||
this._configuration.DefaultThumbnailRegion != this.View.DefaultThumbnailRegion) {
|
this._configuration.DefaultThumbnailRegion != this.View.DefaultThumbnailRegion) {
|
||||||
|
@@ -23,7 +23,7 @@ namespace EveOPreview.Services {
|
|||||||
private const int WINDOW_POSITION_THRESHOLD_HIGH = 31_000;
|
private const int WINDOW_POSITION_THRESHOLD_HIGH = 31_000;
|
||||||
private const int WINDOW_SIZE_THRESHOLD = 10;
|
private const int WINDOW_SIZE_THRESHOLD = 10;
|
||||||
private const int FORCED_REFRESH_CYCLE_THRESHOLD = 2;
|
private const int FORCED_REFRESH_CYCLE_THRESHOLD = 2;
|
||||||
private const int DEFAULT_LOCATION_CHANGE_NOTIFICATION_DELAY = 2;
|
private const int DEFAULT_LOCATION_CHANGE_NOTIFICATION_DELAY = 0;
|
||||||
|
|
||||||
private const string DEFAULT_CLIENT_TITLE = "EVE";
|
private const string DEFAULT_CLIENT_TITLE = "EVE";
|
||||||
#endregion
|
#endregion
|
||||||
@@ -52,6 +52,8 @@ namespace EveOPreview.Services {
|
|||||||
|
|
||||||
private List<HotkeyHandler> _cycleClientHotkeyHandlers = new List<HotkeyHandler>();
|
private List<HotkeyHandler> _cycleClientHotkeyHandlers = new List<HotkeyHandler>();
|
||||||
private HotkeyHandler _toggleTrackingHotkey;
|
private HotkeyHandler _toggleTrackingHotkey;
|
||||||
|
private HotkeyHandler _toggleSingleProcessHotkey;
|
||||||
|
private HotkeyHandler _toggleAllThumbnailsHotkey;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public ThumbnailManager(IMediator mediator, IThumbnailConfiguration configuration,
|
public ThumbnailManager(IMediator mediator, IThumbnailConfiguration configuration,
|
||||||
@@ -106,10 +108,11 @@ namespace EveOPreview.Services {
|
|||||||
// RegisterCycleClientHotkey(this._configuration.CycleGroup5BackwardHotkeys?.Select(x =>
|
// RegisterCycleClientHotkey(this._configuration.CycleGroup5BackwardHotkeys?.Select(x =>
|
||||||
// this._configuration.StringToKey(x)), false, this._configuration.CycleGroup5ClientsOrder);
|
// this._configuration.StringToKey(x)), false, this._configuration.CycleGroup5ClientsOrder);
|
||||||
//
|
//
|
||||||
// Setup toggle tracking hotkey (Ctrl+T)
|
// Setup toggle tracking hotkey
|
||||||
var mainHandle = this._processMonitor.GetMainProcess().Handle;
|
var mainHandle = this._processMonitor.GetMainProcess().Handle;
|
||||||
System.Diagnostics.Debug.WriteLine($"Registering hotkey with main window handle: {mainHandle}");
|
System.Diagnostics.Debug.WriteLine($"Registering hotkey with main window handle: {mainHandle}");
|
||||||
this._toggleTrackingHotkey = new HotkeyHandler(mainHandle, Keys.Alt | Keys.F16);
|
var toggleTrackingKey = this._configuration.StringToKey(this._configuration.ToggleTrackingHotkey);
|
||||||
|
this._toggleTrackingHotkey = new HotkeyHandler(mainHandle, toggleTrackingKey);
|
||||||
this._toggleTrackingHotkey.Pressed += (object s, HandledEventArgs e) => {
|
this._toggleTrackingHotkey.Pressed += (object s, HandledEventArgs e) => {
|
||||||
var foregroundHandle = this._windowManager.GetForegroundWindowHandle();
|
var foregroundHandle = this._windowManager.GetForegroundWindowHandle();
|
||||||
if (foregroundHandle != IntPtr.Zero) {
|
if (foregroundHandle != IntPtr.Zero) {
|
||||||
@@ -137,9 +140,10 @@ namespace EveOPreview.Services {
|
|||||||
var registered = this._toggleTrackingHotkey.Register();
|
var registered = this._toggleTrackingHotkey.Register();
|
||||||
System.Diagnostics.Debug.WriteLine($"Hotkey registration result: {registered}");
|
System.Diagnostics.Debug.WriteLine($"Hotkey registration result: {registered}");
|
||||||
|
|
||||||
// Setup single process tracking hotkey (Ctrl+F16)
|
// Setup single process tracking hotkey
|
||||||
var toggleSingleProcessHotkey = new HotkeyHandler(mainHandle, Keys.Control | Keys.F16);
|
var toggleSingleProcessKey = this._configuration.StringToKey(this._configuration.ToggleSingleProcessHotkey);
|
||||||
toggleSingleProcessHotkey.Pressed += (object s, HandledEventArgs e) => {
|
this._toggleSingleProcessHotkey = new HotkeyHandler(mainHandle, toggleSingleProcessKey);
|
||||||
|
this._toggleSingleProcessHotkey.Pressed += (object s, HandledEventArgs e) => {
|
||||||
var foregroundHandle = this._windowManager.GetForegroundWindowHandle();
|
var foregroundHandle = this._windowManager.GetForegroundWindowHandle();
|
||||||
if (foregroundHandle != IntPtr.Zero) {
|
if (foregroundHandle != IntPtr.Zero) {
|
||||||
uint processId;
|
uint processId;
|
||||||
@@ -165,8 +169,98 @@ namespace EveOPreview.Services {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
registered = toggleSingleProcessHotkey.Register();
|
registered = this._toggleSingleProcessHotkey.Register();
|
||||||
System.Diagnostics.Debug.WriteLine($"Single process hotkey registration result: {registered}");
|
System.Diagnostics.Debug.WriteLine($"Single process hotkey registration result: {registered}");
|
||||||
|
|
||||||
|
// Setup toggle all thumbnails hotkey
|
||||||
|
var toggleAllThumbnailsKey = this._configuration.StringToKey(this._configuration.ToggleAllThumbnailsHotkey);
|
||||||
|
this._toggleAllThumbnailsHotkey = new HotkeyHandler(mainHandle, toggleAllThumbnailsKey);
|
||||||
|
this._toggleAllThumbnailsHotkey.Pressed += (object s, HandledEventArgs e) => {
|
||||||
|
this._configuration.ThumbnailsManuallyHidden = !this._configuration.ThumbnailsManuallyHidden;
|
||||||
|
System.Diagnostics.Debug.WriteLine(
|
||||||
|
$"Toggled all thumbnails: {(this._configuration.ThumbnailsManuallyHidden ? "Hidden" : "Visible")}");
|
||||||
|
e.Handled = true;
|
||||||
|
};
|
||||||
|
registered = this._toggleAllThumbnailsHotkey.Register();
|
||||||
|
System.Diagnostics.Debug.WriteLine($"Toggle all thumbnails hotkey registration result: {registered}");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ReRegisterHotkeys() {
|
||||||
|
// Unregister existing hotkeys
|
||||||
|
this._toggleTrackingHotkey?.Unregister();
|
||||||
|
this._toggleSingleProcessHotkey?.Unregister();
|
||||||
|
this._toggleAllThumbnailsHotkey?.Unregister();
|
||||||
|
|
||||||
|
// Re-register with new settings
|
||||||
|
var mainHandle = this._processMonitor.GetMainProcess().Handle;
|
||||||
|
|
||||||
|
var toggleTrackingKey = this._configuration.StringToKey(this._configuration.ToggleTrackingHotkey);
|
||||||
|
this._toggleTrackingHotkey = new HotkeyHandler(mainHandle, toggleTrackingKey);
|
||||||
|
this._toggleTrackingHotkey.Pressed += (object s, HandledEventArgs e) => {
|
||||||
|
var foregroundHandle = this._windowManager.GetForegroundWindowHandle();
|
||||||
|
if (foregroundHandle != IntPtr.Zero) {
|
||||||
|
uint processId;
|
||||||
|
GetWindowThreadProcessId(foregroundHandle, out processId);
|
||||||
|
var process = Process.GetProcessById((int)processId);
|
||||||
|
|
||||||
|
if (process != null) {
|
||||||
|
System.Diagnostics.Debug.WriteLine($"Found process: {process.ProcessName}");
|
||||||
|
if (_configuration.IsExecutableToPreview(process.ProcessName)) {
|
||||||
|
System.Diagnostics.Debug.WriteLine("Removing from executables to preview");
|
||||||
|
var exesToPreview = _configuration.ExecutablesToPreview.ToList();
|
||||||
|
exesToPreview.Remove(process.ProcessName.ToLower());
|
||||||
|
_configuration.ExecutablesToPreview = exesToPreview;
|
||||||
|
} else {
|
||||||
|
System.Diagnostics.Debug.WriteLine("Adding to executables to preview");
|
||||||
|
var exesToPreview = _configuration.ExecutablesToPreview.ToList();
|
||||||
|
exesToPreview.Add(process.ProcessName.ToLower());
|
||||||
|
_configuration.ExecutablesToPreview = exesToPreview;
|
||||||
|
}
|
||||||
|
e.Handled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this._toggleTrackingHotkey.Register();
|
||||||
|
|
||||||
|
var toggleSingleProcessKey = this._configuration.StringToKey(this._configuration.ToggleSingleProcessHotkey);
|
||||||
|
this._toggleSingleProcessHotkey = new HotkeyHandler(mainHandle, toggleSingleProcessKey);
|
||||||
|
this._toggleSingleProcessHotkey.Pressed += (object s, HandledEventArgs e) => {
|
||||||
|
var foregroundHandle = this._windowManager.GetForegroundWindowHandle();
|
||||||
|
if (foregroundHandle != IntPtr.Zero) {
|
||||||
|
uint processId;
|
||||||
|
GetWindowThreadProcessId(foregroundHandle, out processId);
|
||||||
|
var process = Process.GetProcessById((int)processId);
|
||||||
|
|
||||||
|
if (process != null) {
|
||||||
|
System.Diagnostics.Debug.WriteLine($"Found process: {process.ProcessName} (PID: {process.Id})");
|
||||||
|
|
||||||
|
// Get the current tracked PID from ProcessMonitor
|
||||||
|
var currentTrackedPid = this._processMonitor.GetTrackedPid();
|
||||||
|
|
||||||
|
if (currentTrackedPid == process.Id) {
|
||||||
|
// Stop tracking this process
|
||||||
|
this._processMonitor.SetTrackedPid(0);
|
||||||
|
System.Diagnostics.Debug.WriteLine($"Stopped tracking process {process.Id}");
|
||||||
|
} else {
|
||||||
|
// Start tracking this process
|
||||||
|
this._processMonitor.SetTrackedPid(process.Id);
|
||||||
|
System.Diagnostics.Debug.WriteLine($"Started tracking process {process.Id}");
|
||||||
|
}
|
||||||
|
e.Handled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this._toggleSingleProcessHotkey.Register();
|
||||||
|
|
||||||
|
var toggleAllThumbnailsKey = this._configuration.StringToKey(this._configuration.ToggleAllThumbnailsHotkey);
|
||||||
|
this._toggleAllThumbnailsHotkey = new HotkeyHandler(mainHandle, toggleAllThumbnailsKey);
|
||||||
|
this._toggleAllThumbnailsHotkey.Pressed += (object s, HandledEventArgs e) => {
|
||||||
|
this._configuration.ThumbnailsManuallyHidden = !this._configuration.ThumbnailsManuallyHidden;
|
||||||
|
System.Diagnostics.Debug.WriteLine(
|
||||||
|
$"Toggled all thumbnails: {(this._configuration.ThumbnailsManuallyHidden ? "Hidden" : "Visible")}");
|
||||||
|
e.Handled = true;
|
||||||
|
};
|
||||||
|
this._toggleAllThumbnailsHotkey.Register();
|
||||||
}
|
}
|
||||||
|
|
||||||
public IThumbnailView GetClientByTitle(string title) {
|
public IThumbnailView GetClientByTitle(string title) {
|
||||||
@@ -439,7 +533,8 @@ namespace EveOPreview.Services {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool hideAllThumbnails =
|
bool hideAllThumbnails =
|
||||||
this._configuration.HideThumbnailsOnLostFocus && !(isClientWindow || isMainWindowActive);
|
this._configuration.HideThumbnailsOnLostFocus && !(isClientWindow || isMainWindowActive) ||
|
||||||
|
this._configuration.ThumbnailsManuallyHidden;
|
||||||
|
|
||||||
// Wait for some time before hiding all previews
|
// Wait for some time before hiding all previews
|
||||||
if (hideAllThumbnails) {
|
if (hideAllThumbnails) {
|
||||||
|
@@ -8,6 +8,7 @@ namespace EveOPreview.Services {
|
|||||||
void UpdateThumbnailsSize();
|
void UpdateThumbnailsSize();
|
||||||
void UpdateThumbnailFrames();
|
void UpdateThumbnailFrames();
|
||||||
void UpdateThumbnailRegionSettings();
|
void UpdateThumbnailRegionSettings();
|
||||||
|
void ReRegisterHotkeys();
|
||||||
|
|
||||||
IThumbnailView GetClientByTitle(string title);
|
IThumbnailView GetClientByTitle(string title);
|
||||||
IThumbnailView GetClientByPointer(System.IntPtr ptr);
|
IThumbnailView GetClientByPointer(System.IntPtr ptr);
|
||||||
|
@@ -64,6 +64,12 @@ namespace EveOPreview.View {
|
|||||||
HideThumbnailsOnLostFocusCheckBox = new CheckBox();
|
HideThumbnailsOnLostFocusCheckBox = new CheckBox();
|
||||||
EnablePerClientThumbnailsLayoutsCheckBox = new CheckBox();
|
EnablePerClientThumbnailsLayoutsCheckBox = new CheckBox();
|
||||||
MinimizeToTrayCheckBox = new CheckBox();
|
MinimizeToTrayCheckBox = new CheckBox();
|
||||||
|
ToggleTrackingHotkeyLabel = new Label();
|
||||||
|
ToggleTrackingHotkeyTextBox = new TextBox();
|
||||||
|
ToggleSingleProcessHotkeyLabel = new Label();
|
||||||
|
ToggleSingleProcessHotkeyTextBox = new TextBox();
|
||||||
|
ToggleAllThumbnailsHotkeyLabel = new Label();
|
||||||
|
ToggleAllThumbnailsHotkeyTextBox = new TextBox();
|
||||||
EnableThumbnailRegionSnippingCheckBox = new CheckBox();
|
EnableThumbnailRegionSnippingCheckBox = new CheckBox();
|
||||||
RegionLeftLabel = new Label();
|
RegionLeftLabel = new Label();
|
||||||
RegionLeftNumericEdit = new NumericUpDown();
|
RegionLeftNumericEdit = new NumericUpDown();
|
||||||
@@ -256,6 +262,12 @@ namespace EveOPreview.View {
|
|||||||
GeneralSettingsPanel.Controls.Add(HideThumbnailsOnLostFocusCheckBox);
|
GeneralSettingsPanel.Controls.Add(HideThumbnailsOnLostFocusCheckBox);
|
||||||
GeneralSettingsPanel.Controls.Add(EnablePerClientThumbnailsLayoutsCheckBox);
|
GeneralSettingsPanel.Controls.Add(EnablePerClientThumbnailsLayoutsCheckBox);
|
||||||
GeneralSettingsPanel.Controls.Add(MinimizeToTrayCheckBox);
|
GeneralSettingsPanel.Controls.Add(MinimizeToTrayCheckBox);
|
||||||
|
GeneralSettingsPanel.Controls.Add(ToggleTrackingHotkeyLabel);
|
||||||
|
GeneralSettingsPanel.Controls.Add(ToggleTrackingHotkeyTextBox);
|
||||||
|
GeneralSettingsPanel.Controls.Add(ToggleSingleProcessHotkeyLabel);
|
||||||
|
GeneralSettingsPanel.Controls.Add(ToggleSingleProcessHotkeyTextBox);
|
||||||
|
GeneralSettingsPanel.Controls.Add(ToggleAllThumbnailsHotkeyLabel);
|
||||||
|
GeneralSettingsPanel.Controls.Add(ToggleAllThumbnailsHotkeyTextBox);
|
||||||
GeneralSettingsPanel.Dock = DockStyle.Fill;
|
GeneralSettingsPanel.Dock = DockStyle.Fill;
|
||||||
GeneralSettingsPanel.Location = new Point(4, 4);
|
GeneralSettingsPanel.Location = new Point(4, 4);
|
||||||
GeneralSettingsPanel.Margin = new Padding(4);
|
GeneralSettingsPanel.Margin = new Padding(4);
|
||||||
@@ -378,6 +390,63 @@ namespace EveOPreview.View {
|
|||||||
MinimizeToTrayCheckBox.UseVisualStyleBackColor = true;
|
MinimizeToTrayCheckBox.UseVisualStyleBackColor = true;
|
||||||
MinimizeToTrayCheckBox.CheckedChanged += OptionChanged_Handler;
|
MinimizeToTrayCheckBox.CheckedChanged += OptionChanged_Handler;
|
||||||
//
|
//
|
||||||
|
// ToggleTrackingHotkeyLabel
|
||||||
|
//
|
||||||
|
ToggleTrackingHotkeyLabel.AutoSize = true;
|
||||||
|
ToggleTrackingHotkeyLabel.Location = new Point(9, 230);
|
||||||
|
ToggleTrackingHotkeyLabel.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
ToggleTrackingHotkeyLabel.Name = "ToggleTrackingHotkeyLabel";
|
||||||
|
ToggleTrackingHotkeyLabel.Size = new Size(94, 15);
|
||||||
|
ToggleTrackingHotkeyLabel.TabIndex = 28;
|
||||||
|
ToggleTrackingHotkeyLabel.Text = "Toggle Tracking:";
|
||||||
|
//
|
||||||
|
// ToggleTrackingHotkeyTextBox
|
||||||
|
//
|
||||||
|
ToggleTrackingHotkeyTextBox.Location = new Point(145, 227);
|
||||||
|
ToggleTrackingHotkeyTextBox.Margin = new Padding(4);
|
||||||
|
ToggleTrackingHotkeyTextBox.Name = "ToggleTrackingHotkeyTextBox";
|
||||||
|
ToggleTrackingHotkeyTextBox.Size = new Size(137, 23);
|
||||||
|
ToggleTrackingHotkeyTextBox.TabIndex = 29;
|
||||||
|
ToggleTrackingHotkeyTextBox.Leave += HotkeyTextBox_Leave;
|
||||||
|
//
|
||||||
|
// ToggleSingleProcessHotkeyLabel
|
||||||
|
//
|
||||||
|
ToggleSingleProcessHotkeyLabel.AutoSize = true;
|
||||||
|
ToggleSingleProcessHotkeyLabel.Location = new Point(9, 260);
|
||||||
|
ToggleSingleProcessHotkeyLabel.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
ToggleSingleProcessHotkeyLabel.Name = "ToggleSingleProcessHotkeyLabel";
|
||||||
|
ToggleSingleProcessHotkeyLabel.Size = new Size(124, 15);
|
||||||
|
ToggleSingleProcessHotkeyLabel.TabIndex = 30;
|
||||||
|
ToggleSingleProcessHotkeyLabel.Text = "Toggle Single Process:";
|
||||||
|
//
|
||||||
|
// ToggleSingleProcessHotkeyTextBox
|
||||||
|
//
|
||||||
|
ToggleSingleProcessHotkeyTextBox.Location = new Point(145, 257);
|
||||||
|
ToggleSingleProcessHotkeyTextBox.Margin = new Padding(4);
|
||||||
|
ToggleSingleProcessHotkeyTextBox.Name = "ToggleSingleProcessHotkeyTextBox";
|
||||||
|
ToggleSingleProcessHotkeyTextBox.Size = new Size(137, 23);
|
||||||
|
ToggleSingleProcessHotkeyTextBox.TabIndex = 31;
|
||||||
|
ToggleSingleProcessHotkeyTextBox.Leave += HotkeyTextBox_Leave;
|
||||||
|
//
|
||||||
|
// ToggleAllThumbnailsHotkeyLabel
|
||||||
|
//
|
||||||
|
ToggleAllThumbnailsHotkeyLabel.AutoSize = true;
|
||||||
|
ToggleAllThumbnailsHotkeyLabel.Location = new Point(9, 290);
|
||||||
|
ToggleAllThumbnailsHotkeyLabel.Margin = new Padding(4, 0, 4, 0);
|
||||||
|
ToggleAllThumbnailsHotkeyLabel.Name = "ToggleAllThumbnailsHotkeyLabel";
|
||||||
|
ToggleAllThumbnailsHotkeyLabel.Size = new Size(129, 15);
|
||||||
|
ToggleAllThumbnailsHotkeyLabel.TabIndex = 32;
|
||||||
|
ToggleAllThumbnailsHotkeyLabel.Text = "Toggle All Thumbnails:";
|
||||||
|
//
|
||||||
|
// ToggleAllThumbnailsHotkeyTextBox
|
||||||
|
//
|
||||||
|
ToggleAllThumbnailsHotkeyTextBox.Location = new Point(145, 287);
|
||||||
|
ToggleAllThumbnailsHotkeyTextBox.Margin = new Padding(4);
|
||||||
|
ToggleAllThumbnailsHotkeyTextBox.Name = "ToggleAllThumbnailsHotkeyTextBox";
|
||||||
|
ToggleAllThumbnailsHotkeyTextBox.Size = new Size(137, 23);
|
||||||
|
ToggleAllThumbnailsHotkeyTextBox.TabIndex = 33;
|
||||||
|
ToggleAllThumbnailsHotkeyTextBox.Leave += HotkeyTextBox_Leave;
|
||||||
|
//
|
||||||
// ThumbnailTabPage
|
// ThumbnailTabPage
|
||||||
//
|
//
|
||||||
ThumbnailTabPage.BackColor = SystemColors.Control;
|
ThumbnailTabPage.BackColor = SystemColors.Control;
|
||||||
@@ -1354,7 +1423,7 @@ namespace EveOPreview.View {
|
|||||||
// VersionLabel
|
// VersionLabel
|
||||||
//
|
//
|
||||||
VersionLabel.AutoSize = true;
|
VersionLabel.AutoSize = true;
|
||||||
VersionLabel.Font = new Font("Microsoft Sans Serif", 12F, FontStyle.Bold);
|
VersionLabel.Font = new Font("Microsoft Sans Serif", 12F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
VersionLabel.Location = new Point(155, 10);
|
VersionLabel.Location = new Point(155, 10);
|
||||||
VersionLabel.Margin = new Padding(4, 0, 4, 0);
|
VersionLabel.Margin = new Padding(4, 0, 4, 0);
|
||||||
VersionLabel.Name = "VersionLabel";
|
VersionLabel.Name = "VersionLabel";
|
||||||
@@ -1365,7 +1434,7 @@ namespace EveOPreview.View {
|
|||||||
// NameLabel
|
// NameLabel
|
||||||
//
|
//
|
||||||
NameLabel.AutoSize = true;
|
NameLabel.AutoSize = true;
|
||||||
NameLabel.Font = new Font("Microsoft Sans Serif", 12F, FontStyle.Bold);
|
NameLabel.Font = new Font("Microsoft Sans Serif", 12F, FontStyle.Bold, GraphicsUnit.Point);
|
||||||
NameLabel.Location = new Point(5, 10);
|
NameLabel.Location = new Point(5, 10);
|
||||||
NameLabel.Margin = new Padding(4, 0, 4, 0);
|
NameLabel.Margin = new Padding(4, 0, 4, 0);
|
||||||
NameLabel.Name = "NameLabel";
|
NameLabel.Name = "NameLabel";
|
||||||
@@ -1530,5 +1599,11 @@ namespace EveOPreview.View {
|
|||||||
private RadioButton OverlayLabelSWRadioButton;
|
private RadioButton OverlayLabelSWRadioButton;
|
||||||
private Label label1;
|
private Label label1;
|
||||||
private ComboBox AnimationStyleCombo;
|
private ComboBox AnimationStyleCombo;
|
||||||
|
private Label ToggleTrackingHotkeyLabel;
|
||||||
|
private TextBox ToggleTrackingHotkeyTextBox;
|
||||||
|
private Label ToggleSingleProcessHotkeyLabel;
|
||||||
|
private TextBox ToggleSingleProcessHotkeyTextBox;
|
||||||
|
private Label ToggleAllThumbnailsHotkeyLabel;
|
||||||
|
private TextBox ToggleAllThumbnailsHotkeyTextBox;
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -229,6 +229,21 @@ namespace EveOPreview.View {
|
|||||||
set => ThumbnailSnapRangeNumericEdit.Value = value;
|
set => ThumbnailSnapRangeNumericEdit.Value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string ToggleTrackingHotkey {
|
||||||
|
get => this.ToggleTrackingHotkeyTextBox.Text;
|
||||||
|
set => this.ToggleTrackingHotkeyTextBox.Text = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string ToggleSingleProcessHotkey {
|
||||||
|
get => this.ToggleSingleProcessHotkeyTextBox.Text;
|
||||||
|
set => this.ToggleSingleProcessHotkeyTextBox.Text = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string ToggleAllThumbnailsHotkey {
|
||||||
|
get => this.ToggleAllThumbnailsHotkeyTextBox.Text;
|
||||||
|
set => this.ToggleAllThumbnailsHotkeyTextBox.Text = value;
|
||||||
|
}
|
||||||
|
|
||||||
public bool EnableActiveClientHighlight {
|
public bool EnableActiveClientHighlight {
|
||||||
get => this.EnableActiveClientHighlightCheckBox.Checked;
|
get => this.EnableActiveClientHighlightCheckBox.Checked;
|
||||||
set => this.EnableActiveClientHighlightCheckBox.Checked = value;
|
set => this.EnableActiveClientHighlightCheckBox.Checked = value;
|
||||||
@@ -487,6 +502,11 @@ namespace EveOPreview.View {
|
|||||||
this._suppressEvents = false;
|
this._suppressEvents = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update snap grid X and Y to 1/4 of width and height
|
||||||
|
Size currentSize = this.ThumbnailSize;
|
||||||
|
this.ThumbnailSnapToGridSizeX = currentSize.Width / 4;
|
||||||
|
this.ThumbnailSnapToGridSizeY = currentSize.Height / 4;
|
||||||
|
|
||||||
this.ThumbnailsSizeChanged?.Invoke();
|
this.ThumbnailsSizeChanged?.Invoke();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -533,6 +553,11 @@ namespace EveOPreview.View {
|
|||||||
this._suppressEvents = false;
|
this._suppressEvents = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update snap grid X and Y to 1/4 of width and height
|
||||||
|
Size currentSize = this.ThumbnailSize;
|
||||||
|
this.ThumbnailSnapToGridSizeX = currentSize.Width / 4;
|
||||||
|
this.ThumbnailSnapToGridSizeY = currentSize.Height / 4;
|
||||||
|
|
||||||
// Prevent the default scroll behavior
|
// Prevent the default scroll behavior
|
||||||
((HandledMouseEventArgs)e).Handled = true;
|
((HandledMouseEventArgs)e).Handled = true;
|
||||||
|
|
||||||
@@ -648,5 +673,36 @@ namespace EveOPreview.View {
|
|||||||
private void AnimationStyleCombo_SelectedIndexChanged(object sender, EventArgs e) {}
|
private void AnimationStyleCombo_SelectedIndexChanged(object sender, EventArgs e) {}
|
||||||
|
|
||||||
private void GeneralSettingsPanel_Paint(object sender, PaintEventArgs e) {}
|
private void GeneralSettingsPanel_Paint(object sender, PaintEventArgs e) {}
|
||||||
|
|
||||||
|
private void HotkeyTextBox_Leave(object sender, EventArgs e) {
|
||||||
|
if (sender is System.Windows.Forms.TextBox textBox) {
|
||||||
|
string hotkeyText = textBox.Text.Trim();
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(hotkeyText)) {
|
||||||
|
try {
|
||||||
|
// Try to parse the hotkey to validate it
|
||||||
|
var keysConverter = new KeysConverter();
|
||||||
|
var key = keysConverter.ConvertFromInvariantString(hotkeyText);
|
||||||
|
|
||||||
|
if (key == null || (Keys)key == Keys.None) {
|
||||||
|
MessageBox.Show(
|
||||||
|
$"Invalid hotkey: {hotkeyText}\n\nPlease enter a valid hotkey combination (e.g., Alt+F1, Ctrl+Shift+A)",
|
||||||
|
"Invalid Hotkey", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
|
textBox.Focus();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} catch (Exception) {
|
||||||
|
MessageBox.Show(
|
||||||
|
$"Invalid hotkey: {hotkeyText}\n\nPlease enter a valid hotkey combination (e.g., Alt+F1, Ctrl+Shift+A)",
|
||||||
|
"Invalid Hotkey", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
|
textBox.Focus();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we get here, the hotkey is valid (or empty), so trigger the option change
|
||||||
|
this.OptionChanged_Handler(sender, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -47,6 +47,10 @@ namespace EveOPreview.View {
|
|||||||
string CurrentProfile { get; set; }
|
string CurrentProfile { get; set; }
|
||||||
List<string> AvailableProfiles { get; set; }
|
List<string> AvailableProfiles { get; set; }
|
||||||
|
|
||||||
|
string ToggleTrackingHotkey { get; set; }
|
||||||
|
string ToggleSingleProcessHotkey { get; set; }
|
||||||
|
string ToggleAllThumbnailsHotkey { get; set; }
|
||||||
|
|
||||||
string IconName { get; set; }
|
string IconName { get; set; }
|
||||||
|
|
||||||
void SetDocumentationUrl(string url);
|
void SetDocumentationUrl(string url);
|
||||||
|
Reference in New Issue
Block a user