Renamed app to HeliosPlus namespace and more

Renamed app to HeliosPlus namespace so that the updated
changes don't interfere with HeliosDisplayManagement if
that is also installed. The fact that I've changed so much of
the app means that my changes would be unlikely to be
accepted by Soroush, so I'm best to release this work in a
similar way to other projects like Notepad++, by keeping
the same root name, and adding a plus.
    I've also changed the Shortcut form to put all the games
in a single list to reduce the number of clicks a user has to
do in order for them to create a shortcut. I have begun to
prepare the form so that it will support multiple game
libraries, but now I am at a point that I need to fix the Steam
and Uplay game detection mechanisms so that they report
the correct information for the lv_games list view.
This commit is contained in:
temacdonald 2020-04-23 20:16:16 +12:00
parent 413525f9a1
commit a9bb295d1f
59 changed files with 324 additions and 250 deletions

View File

@ -49,9 +49,9 @@
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\HeliosDisplayManagement.Shared\HeliosDisplayManagement.Shared.csproj">
<ProjectReference Include="..\HeliosDisplayManagement.Shared\HeliosPlus.Shared.csproj">
<Project>{1cacda43-01c7-4cd4-bf6e-9421a29510fc}</Project>
<Name>HeliosDisplayManagement.Shared</Name>
<Name>HeliosPlus.Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>

View File

@ -7,11 +7,11 @@ using System.Linq;
using System.Reflection;
using WindowsDisplayAPI;
using WindowsDisplayAPI.DisplayConfig;
using HeliosDisplayManagement.Shared;
using HeliosPlus.Shared;
using NvAPIWrapper.GPU;
using NvAPIWrapper.Mosaic;
namespace HeliosDisplayManagement.Reporting
namespace HeliosPlus.Reporting
{
internal class Program
{

View File

@ -5,7 +5,7 @@ using System.Diagnostics;
using System.IO;
using Microsoft.Win32;
namespace HeliosDisplayManagement.Shared
namespace HeliosPlus.Shared
{
public class Helios
{

View File

@ -1,4 +1,4 @@
namespace HeliosDisplayManagement.Shared
namespace HeliosPlus.Shared
{
public enum HeliosStartupAction
{

View File

@ -1,7 +1,7 @@
using NvAPIWrapper.Native.Display;
using NvAPIWrapper.Native.Mosaic;
namespace HeliosDisplayManagement.Shared.NVIDIA
namespace HeliosPlus.Shared.NVIDIA
{
internal static class SurroundHelper
{

View File

@ -5,7 +5,7 @@ using WindowsDisplayAPI.DisplayConfig;
using NvAPIWrapper.Mosaic;
using NvAPIWrapper.Native.Interfaces.Mosaic;
namespace HeliosDisplayManagement.Shared.NVIDIA
namespace HeliosPlus.Shared.NVIDIA
{
public class SurroundTopology : IEquatable<SurroundTopology>
{

View File

@ -8,7 +8,7 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using NvAPIWrapper.Mosaic;
namespace HeliosDisplayManagement.Shared.NVIDIA
namespace HeliosPlus.Shared.NVIDIA
{
public class SurroundTopologyDisplay : IEquatable<SurroundTopologyDisplay>
{

View File

@ -1,4 +1,4 @@
namespace HeliosDisplayManagement.Shared
namespace HeliosPlus.Shared
{
public enum PixelShift
{

View File

@ -7,14 +7,14 @@ using System.Text;
using System.Threading;
using System.Windows.Forms;
using WindowsDisplayAPI.DisplayConfig;
using HeliosDisplayManagement.Shared.Resources;
using HeliosPlus.Shared.Resources;
using Newtonsoft.Json;
using NvAPIWrapper.GPU;
using NvAPIWrapper.Mosaic;
using NvAPIWrapper.Native.Mosaic;
using Path = HeliosDisplayManagement.Shared.Topology.Path;
using Path = HeliosPlus.Shared.Topology.Path;
namespace HeliosDisplayManagement.Shared
namespace HeliosPlus.Shared
{
public class Profile : IEquatable<Profile>
{

View File

@ -4,9 +4,9 @@ using System.Drawing.Drawing2D;
using System.Drawing.IconLib;
using System.Drawing.Imaging;
using System.Linq;
using HeliosDisplayManagement.Shared.Topology;
using HeliosPlus.Shared.Topology;
namespace HeliosDisplayManagement.Shared
namespace HeliosPlus.Shared
{
public class ProfileIcon
{

View File

@ -8,7 +8,7 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace HeliosDisplayManagement.Shared.Resources {
namespace HeliosPlus.Shared.Resources {
using System;

View File

@ -5,7 +5,7 @@ using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
namespace HeliosDisplayManagement.Shared
namespace HeliosPlus.Shared
{
/// <summary>
/// Represents a Restart Manager session. The Restart Manager enables all but the critical system services to be shut

View File

@ -1,4 +1,4 @@
namespace HeliosDisplayManagement.Shared
namespace HeliosPlus.Shared
{
public enum Rotation
{

View File

@ -1,4 +1,4 @@
namespace HeliosDisplayManagement.Shared
namespace HeliosPlus.Shared
{
public enum Scaling
{

View File

@ -1,4 +1,4 @@
namespace HeliosDisplayManagement.Shared
namespace HeliosPlus.Shared
{
public enum ScanLineOrdering
{

View File

@ -3,7 +3,7 @@ using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
namespace HeliosDisplayManagement.Shared
namespace HeliosPlus.Shared
{
public static class ShellHelper
{

View File

@ -2,7 +2,7 @@
using System.Collections.Generic;
using Microsoft.Win32;
namespace HeliosDisplayManagement.Shared
namespace HeliosPlus.Shared
{
public class TaskBarSettings
{

View File

@ -5,7 +5,7 @@ using WindowsDisplayAPI.DisplayConfig;
using Microsoft.Win32;
using Newtonsoft.Json;
namespace HeliosDisplayManagement.Shared
namespace HeliosPlus.Shared
{
public class TaskBarStuckRectangle
{

View File

@ -6,7 +6,7 @@ using WindowsDisplayAPI.Native.DisplayConfig;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace HeliosDisplayManagement.Shared.Topology
namespace HeliosPlus.Shared.Topology
{
public class Path : IEquatable<Path>
{

View File

@ -1,6 +1,6 @@
using WindowsDisplayAPI.Native.DisplayConfig;
namespace HeliosDisplayManagement.Shared.Topology
namespace HeliosPlus.Shared.Topology
{
internal static class PathHelper
{

View File

@ -1,11 +1,11 @@
using System;
using System.Linq;
using WindowsDisplayAPI.DisplayConfig;
using HeliosDisplayManagement.Shared.NVIDIA;
using HeliosPlus.Shared.NVIDIA;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace HeliosDisplayManagement.Shared.Topology
namespace HeliosPlus.Shared.Topology
{
public class PathTarget : IEquatable<PathTarget>
{

View File

@ -1,4 +1,4 @@
namespace HeliosDisplayManagement.Shared.UserControls
namespace HeliosPlus.Shared.UserControls
{
partial class DisplayView
{

View File

@ -1,9 +1,9 @@
using System;
using System.Drawing;
using System.Windows.Forms;
using HeliosDisplayManagement.Shared.Topology;
using HeliosPlus.Shared.Topology;
namespace HeliosDisplayManagement.Shared.UserControls
namespace HeliosPlus.Shared.UserControls
{
public partial class DisplayView : UserControl
{

View File

@ -1,9 +1,9 @@
using System;
using System.Windows.Forms;
using HeliosDisplayManagement.Shared;
using HeliosDisplayManagement.ShellExtension.Resources;
using HeliosPlus.Shared;
using HeliosPlus.ShellExtension.Resources;
namespace HeliosDisplayManagement.ShellExtension
namespace HeliosPlus.ShellExtension
{
internal class HeliosDisplayManagement
{

View File

@ -1,12 +1,12 @@
using System.Linq;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using HeliosDisplayManagement.Shared;
using HeliosDisplayManagement.ShellExtension.Resources;
using HeliosPlus.Shared;
using HeliosPlus.ShellExtension.Resources;
using SharpShell.Attributes;
using SharpShell.SharpContextMenu;
namespace HeliosDisplayManagement.ShellExtension
namespace HeliosPlus.ShellExtension
{
[ComVisible(true)]
[COMServerAssociation(AssociationType.Class, @"DesktopBackground")]

View File

@ -2,12 +2,12 @@
using System.Linq;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using HeliosDisplayManagement.Shared;
using HeliosDisplayManagement.ShellExtension.Resources;
using HeliosPlus.Shared;
using HeliosPlus.ShellExtension.Resources;
using SharpShell.Attributes;
using SharpShell.SharpContextMenu;
namespace HeliosDisplayManagement.ShellExtension
namespace HeliosPlus.ShellExtension
{
[ComVisible(true)]
[COMServerAssociation(AssociationType.ClassOfExtension, @".exe")]

View File

@ -64,9 +64,9 @@
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\HeliosDisplayManagement.Shared\HeliosDisplayManagement.Shared.csproj">
<ProjectReference Include="..\HeliosDisplayManagement.Shared\HeliosPlus.Shared.csproj">
<Project>{1cacda43-01c7-4cd4-bf6e-9421a29510fc}</Project>
<Name>HeliosDisplayManagement.Shared</Name>
<Name>HeliosPlus.Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>

View File

@ -3,12 +3,12 @@ using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using HeliosDisplayManagement.Shared;
using HeliosDisplayManagement.ShellExtension.Resources;
using HeliosPlus.Shared;
using HeliosPlus.ShellExtension.Resources;
using SharpShell.Attributes;
using SharpShell.SharpContextMenu;
namespace HeliosDisplayManagement.ShellExtension
namespace HeliosPlus.ShellExtension
{
[ComVisible(true)]
[COMServerAssociation(AssociationType.ClassOfExtension, @".url")]

View File

@ -8,7 +8,7 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace HeliosDisplayManagement.ShellExtension.Properties {
namespace HeliosPlus.ShellExtension.Properties {
using System;

View File

@ -8,7 +8,7 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace HeliosDisplayManagement.ShellExtension.Resources {
namespace HeliosPlus.ShellExtension.Resources {
using System;

View File

@ -1,7 +1,7 @@
using System.Drawing;
using System.Windows.Forms;
namespace HeliosDisplayManagement.ShellExtension
namespace HeliosPlus.ShellExtension
{
public static class Shield
{

View File

@ -4,10 +4,10 @@ using System.Drawing;
using System.Linq;
using WindowsDisplayAPI;
using WindowsDisplayAPI.DisplayConfig;
using HeliosDisplayManagement.Shared;
using HeliosDisplayManagement.Shared.Topology;
using HeliosPlus.Shared;
using HeliosPlus.Shared.Topology;
namespace HeliosDisplayManagement
namespace HeliosPlus
{
internal class DisplayRepresentation
{

View File

@ -7,7 +7,7 @@
<ProjectGuid>{608D941A-B431-400C-A91D-C6F971C29577}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>HeliosDisplayManagement</RootNamespace>
<RootNamespace>HeliosPlus</RootNamespace>
<AssemblyName>HeliosPlus</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
@ -54,7 +54,7 @@
<ApplicationIcon>Icon.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup>
<StartupObject>HeliosDisplayManagement.Program</StartupObject>
<StartupObject>HeliosPlus.Program</StartupObject>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
@ -171,9 +171,9 @@
<None Include="Resources\SteamIcon.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\HeliosDisplayManagement.Shared\HeliosDisplayManagement.Shared.csproj">
<ProjectReference Include="..\HeliosDisplayManagement.Shared\HeliosPlus.Shared.csproj">
<Project>{1cacda43-01c7-4cd4-bf6e-9421a29510fc}</Project>
<Name>HeliosDisplayManagement.Shared</Name>
<Name>HeliosPlus.Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>

View File

@ -3,7 +3,7 @@ using System.Diagnostics;
using System.ServiceModel;
using System.ServiceModel.Description;
namespace HeliosDisplayManagement.InterProcess
namespace HeliosPlus.InterProcess
{
internal class IPCClient : ClientBase<IService>, IService
{

View File

@ -3,7 +3,7 @@ using System.Diagnostics;
using System.ServiceModel;
using System.Windows.Forms;
namespace HeliosDisplayManagement.InterProcess
namespace HeliosPlus.InterProcess
{
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
internal class IPCService : IService

View File

@ -1,6 +1,6 @@
using System.ServiceModel;
namespace HeliosDisplayManagement.InterProcess
namespace HeliosPlus.InterProcess
{
[ServiceContract]
internal interface IService

View File

@ -1,4 +1,4 @@
namespace HeliosDisplayManagement.InterProcess
namespace HeliosPlus.InterProcess
{
internal enum InstanceStatus
{

View File

@ -11,16 +11,15 @@ using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using HeliosDisplayManagement.InterProcess;
using HeliosDisplayManagement.Resources;
using HeliosDisplayManagement.Steam;
using HeliosDisplayManagement.Shared;
using HeliosDisplayManagement.Uplay;
using HeliosDisplayManagement.UIForms;
using HeliosPlus.InterProcess;
using HeliosPlus.Resources;
using HeliosPlus.Steam;
using HeliosPlus.Shared;
using HeliosPlus.Uplay;
using HeliosPlus.UIForms;
using System.Net.NetworkInformation;
namespace HeliosDisplayManagement
{
namespace HeliosPlus {
public enum SupportedGameLibrary
{

View File

@ -5,12 +5,12 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Helios DM+")]
[assembly: AssemblyTitle("HeliosPlus")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Helios DM+")]
[assembly: AssemblyCopyright("Copyright © Soroush Falahati 2017")]
[assembly: AssemblyProduct("HeliosPlus")]
[assembly: AssemblyCopyright("Copyright © Terry MacDonald 2020-2021, Copyright © Soroush Falahati 2017-2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@ -22,7 +22,7 @@ using System.Runtime.InteropServices;
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("608d941a-b431-400c-a91d-c6f971c29577")]
[assembly: Guid("1cbf2d06-199b-4d40-a15d-34fb9ed526c7")]
// Version information for an assembly consists of the following four values:
//
@ -35,5 +35,5 @@ using System.Runtime.InteropServices;
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.9.6.*")]
[assembly: AssemblyFileVersion("0.9.6.0")]
[assembly: AssemblyVersion("0.9.9.*")]
[assembly: AssemblyFileVersion("0.9.9.0")]

View File

@ -8,7 +8,7 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace HeliosDisplayManagement.Properties {
namespace HeliosPlus.Properties {
using System;
@ -39,7 +39,7 @@ namespace HeliosDisplayManagement.Properties {
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HeliosDisplayManagement.Properties.Resources", typeof(Resources).Assembly);
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HeliosPlus.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;

View File

@ -8,7 +8,7 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace HeliosDisplayManagement.Resources {
namespace HeliosPlus.Resources {
using System;
@ -39,7 +39,7 @@ namespace HeliosDisplayManagement.Resources {
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HeliosDisplayManagement.Resources.Language", typeof(Language).Assembly);
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HeliosPlus.Resources.Language", typeof(Language).Assembly);
resourceMan = temp;
}
return resourceMan;

View File

@ -1,4 +1,4 @@
namespace HeliosDisplayManagement.Steam
namespace HeliosPlus.Steam
{
public class SteamAppIdNamePair
{

View File

@ -7,12 +7,12 @@ using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using HeliosDisplayManagement.Resources;
using HeliosPlus.Resources;
using HtmlAgilityPack;
using Microsoft.Win32;
using Newtonsoft.Json;
namespace HeliosDisplayManagement.Steam
namespace HeliosPlus.Steam
{
public class SteamGame
{

View File

@ -1,7 +1,7 @@
using HeliosDisplayManagement.Resources;
using HeliosDisplayManagement.Shared.UserControls;
using HeliosPlus.Resources;
using HeliosPlus.Shared.UserControls;
namespace HeliosDisplayManagement.UIForms
namespace HeliosPlus.UIForms
{
partial class EditForm
{
@ -36,7 +36,7 @@ namespace HeliosDisplayManagement.UIForms
this.btn_save = new System.Windows.Forms.Button();
this.btn_apply = new System.Windows.Forms.Button();
this.btn_cancel = new System.Windows.Forms.Button();
this.dv_profile = new HeliosDisplayManagement.Shared.UserControls.DisplayView();
this.dv_profile = new HeliosPlus.Shared.UserControls.DisplayView();
this.txt_name = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.lv_monitors = new System.Windows.Forms.ListView();
@ -76,7 +76,7 @@ namespace HeliosDisplayManagement.UIForms
this.btn_save.Name = "btn_save";
this.btn_save.Size = new System.Drawing.Size(75, 23);
this.btn_save.TabIndex = 5;
this.btn_save.Text = global::HeliosDisplayManagement.Resources.Language.Save;
this.btn_save.Text = global::HeliosPlus.Resources.Language.Save;
this.btn_save.UseVisualStyleBackColor = true;
this.btn_save.Click += new System.EventHandler(this.btn_save_Click);
//
@ -88,7 +88,7 @@ namespace HeliosDisplayManagement.UIForms
this.btn_apply.Name = "btn_apply";
this.btn_apply.Size = new System.Drawing.Size(91, 23);
this.btn_apply.TabIndex = 6;
this.btn_apply.Text = global::HeliosDisplayManagement.Resources.Language.Save_and_Apply;
this.btn_apply.Text = global::HeliosPlus.Resources.Language.Save_and_Apply;
this.btn_apply.UseVisualStyleBackColor = true;
this.btn_apply.Click += new System.EventHandler(this.btn_apply_Click);
//
@ -100,7 +100,7 @@ namespace HeliosDisplayManagement.UIForms
this.btn_cancel.Name = "btn_cancel";
this.btn_cancel.Size = new System.Drawing.Size(75, 23);
this.btn_cancel.TabIndex = 7;
this.btn_cancel.Text = global::HeliosDisplayManagement.Resources.Language.Cancel;
this.btn_cancel.Text = global::HeliosPlus.Resources.Language.Cancel;
this.btn_cancel.UseVisualStyleBackColor = true;
//
// dv_profile

View File

@ -4,11 +4,11 @@ using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using WindowsDisplayAPI.Native.DisplayConfig;
using HeliosDisplayManagement.Resources;
using HeliosDisplayManagement.Shared;
using HeliosDisplayManagement.Shared.Topology;
using HeliosPlus.Resources;
using HeliosPlus.Shared;
using HeliosPlus.Shared.Topology;
namespace HeliosDisplayManagement.UIForms
namespace HeliosPlus.UIForms
{
public partial class EditForm : Form
{

View File

@ -1,7 +1,7 @@
using HeliosDisplayManagement.Resources;
using HeliosDisplayManagement.Shared.UserControls;
using HeliosPlus.Resources;
using HeliosPlus.Shared.UserControls;
namespace HeliosDisplayManagement.UIForms
namespace HeliosPlus.UIForms
{
partial class MainForm
{
@ -33,13 +33,13 @@ namespace HeliosDisplayManagement.UIForms
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.btn_clone = new System.Windows.Forms.Button();
this.btn_copy = new System.Windows.Forms.Button();
this.btn_apply = new System.Windows.Forms.Button();
this.btn_edit = new System.Windows.Forms.Button();
this.btn_cancel = new System.Windows.Forms.Button();
this.lbl_profile = new System.Windows.Forms.Label();
this.btn_delete = new System.Windows.Forms.Button();
this.dv_profile = new HeliosDisplayManagement.Shared.UserControls.DisplayView();
this.dv_profile = new HeliosPlus.Shared.UserControls.DisplayView();
this.btn_shortcut = new System.Windows.Forms.Button();
this.menu_profiles = new System.Windows.Forms.ContextMenuStrip(this.components);
this.applyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -54,36 +54,36 @@ namespace HeliosDisplayManagement.UIForms
this.menu_profiles.SuspendLayout();
this.SuspendLayout();
//
// btn_clone
// btn_copy
//
this.btn_clone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btn_clone.Location = new System.Drawing.Point(488, 437);
this.btn_clone.Name = "btn_clone";
this.btn_clone.Size = new System.Drawing.Size(75, 23);
this.btn_clone.TabIndex = 6;
this.btn_clone.Text = global::HeliosDisplayManagement.Resources.Language.Clone;
this.btn_clone.UseVisualStyleBackColor = true;
this.btn_clone.Click += new System.EventHandler(this.Clone_Click);
this.btn_copy.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btn_copy.Location = new System.Drawing.Point(367, 506);
this.btn_copy.Name = "btn_copy";
this.btn_copy.Size = new System.Drawing.Size(75, 23);
this.btn_copy.TabIndex = 6;
this.btn_copy.Text = "&Copy";
this.btn_copy.UseVisualStyleBackColor = true;
this.btn_copy.Click += new System.EventHandler(this.Copy_Click);
//
// btn_apply
//
this.btn_apply.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btn_apply.Location = new System.Drawing.Point(731, 437);
this.btn_apply.Location = new System.Drawing.Point(610, 506);
this.btn_apply.Name = "btn_apply";
this.btn_apply.Size = new System.Drawing.Size(75, 23);
this.btn_apply.TabIndex = 9;
this.btn_apply.Text = global::HeliosDisplayManagement.Resources.Language.Apply;
this.btn_apply.Text = global::HeliosPlus.Resources.Language.Apply;
this.btn_apply.UseVisualStyleBackColor = true;
this.btn_apply.Click += new System.EventHandler(this.Apply_Click);
//
// btn_edit
//
this.btn_edit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btn_edit.Location = new System.Drawing.Point(650, 437);
this.btn_edit.Location = new System.Drawing.Point(529, 506);
this.btn_edit.Name = "btn_edit";
this.btn_edit.Size = new System.Drawing.Size(75, 23);
this.btn_edit.TabIndex = 8;
this.btn_edit.Text = global::HeliosDisplayManagement.Resources.Language.Edit;
this.btn_edit.Text = global::HeliosPlus.Resources.Language.Edit;
this.btn_edit.UseVisualStyleBackColor = true;
this.btn_edit.Click += new System.EventHandler(this.Edit_Click);
//
@ -91,13 +91,13 @@ namespace HeliosDisplayManagement.UIForms
//
this.btn_cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btn_cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btn_cancel.Location = new System.Drawing.Point(265, 437);
this.btn_cancel.Location = new System.Drawing.Point(803, 506);
this.btn_cancel.Name = "btn_cancel";
this.btn_cancel.Size = new System.Drawing.Size(75, 23);
this.btn_cancel.TabIndex = 5;
this.btn_cancel.Text = global::HeliosDisplayManagement.Resources.Language.Cancel;
this.btn_cancel.Text = "E&xit";
this.btn_cancel.UseVisualStyleBackColor = true;
this.btn_cancel.Click += new System.EventHandler(this.Cancel_Click);
this.btn_cancel.Click += new System.EventHandler(this.Exit_Click);
//
// lbl_profile
//
@ -112,11 +112,11 @@ namespace HeliosDisplayManagement.UIForms
// btn_delete
//
this.btn_delete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btn_delete.Location = new System.Drawing.Point(569, 437);
this.btn_delete.Location = new System.Drawing.Point(448, 506);
this.btn_delete.Name = "btn_delete";
this.btn_delete.Size = new System.Drawing.Size(75, 23);
this.btn_delete.TabIndex = 7;
this.btn_delete.Text = global::HeliosDisplayManagement.Resources.Language.Delete;
this.btn_delete.Text = global::HeliosPlus.Resources.Language.Delete;
this.btn_delete.UseVisualStyleBackColor = true;
this.btn_delete.Click += new System.EventHandler(this.Delete_Click);
//
@ -134,17 +134,17 @@ namespace HeliosDisplayManagement.UIForms
this.dv_profile.PaddingX = 100;
this.dv_profile.PaddingY = 100;
this.dv_profile.Profile = null;
this.dv_profile.Size = new System.Drawing.Size(560, 413);
this.dv_profile.Size = new System.Drawing.Size(634, 482);
this.dv_profile.TabIndex = 4;
//
// btn_shortcut
//
this.btn_shortcut.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btn_shortcut.Location = new System.Drawing.Point(392, 437);
this.btn_shortcut.Location = new System.Drawing.Point(271, 506);
this.btn_shortcut.Name = "btn_shortcut";
this.btn_shortcut.Size = new System.Drawing.Size(90, 23);
this.btn_shortcut.TabIndex = 10;
this.btn_shortcut.Text = global::HeliosDisplayManagement.Resources.Language.Create_Shortcut;
this.btn_shortcut.Text = "Create &Shortcut";
this.btn_shortcut.UseVisualStyleBackColor = true;
this.btn_shortcut.Click += new System.EventHandler(this.CreateShortcut_Click);
//
@ -164,7 +164,7 @@ namespace HeliosDisplayManagement.UIForms
//
this.applyToolStripMenuItem.Name = "applyToolStripMenuItem";
this.applyToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
this.applyToolStripMenuItem.Text = global::HeliosDisplayManagement.Resources.Language.Apply;
this.applyToolStripMenuItem.Text = global::HeliosPlus.Resources.Language.Apply;
this.applyToolStripMenuItem.Click += new System.EventHandler(this.Apply_Click);
//
// toolStripMenuItem2
@ -176,28 +176,28 @@ namespace HeliosDisplayManagement.UIForms
//
this.cloneToolStripMenuItem.Name = "cloneToolStripMenuItem";
this.cloneToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
this.cloneToolStripMenuItem.Text = global::HeliosDisplayManagement.Resources.Language.Clone;
this.cloneToolStripMenuItem.Click += new System.EventHandler(this.Clone_Click);
this.cloneToolStripMenuItem.Text = global::HeliosPlus.Resources.Language.Clone;
this.cloneToolStripMenuItem.Click += new System.EventHandler(this.Copy_Click);
//
// createShortcutToolStripMenuItem
//
this.createShortcutToolStripMenuItem.Name = "createShortcutToolStripMenuItem";
this.createShortcutToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
this.createShortcutToolStripMenuItem.Text = global::HeliosDisplayManagement.Resources.Language.Create_Shortcut;
this.createShortcutToolStripMenuItem.Text = global::HeliosPlus.Resources.Language.Create_Shortcut;
this.createShortcutToolStripMenuItem.Click += new System.EventHandler(this.CreateShortcut_Click);
//
// editToolStripMenuItem
//
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
this.editToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
this.editToolStripMenuItem.Text = global::HeliosDisplayManagement.Resources.Language.Edit;
this.editToolStripMenuItem.Text = global::HeliosPlus.Resources.Language.Edit;
this.editToolStripMenuItem.Click += new System.EventHandler(this.Edit_Click);
//
// deleteToolStripMenuItem
//
this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem";
this.deleteToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
this.deleteToolStripMenuItem.Text = global::HeliosDisplayManagement.Resources.Language.Delete;
this.deleteToolStripMenuItem.Text = global::HeliosPlus.Resources.Language.Delete;
this.deleteToolStripMenuItem.Click += new System.EventHandler(this.Delete_Click);
//
// lv_profiles
@ -214,7 +214,7 @@ namespace HeliosDisplayManagement.UIForms
this.lv_profiles.Location = new System.Drawing.Point(-1, -1);
this.lv_profiles.MultiSelect = false;
this.lv_profiles.Name = "lv_profiles";
this.lv_profiles.Size = new System.Drawing.Size(254, 475);
this.lv_profiles.Size = new System.Drawing.Size(254, 544);
this.lv_profiles.SmallImageList = this.il_profiles;
this.lv_profiles.TabIndex = 11;
this.lv_profiles.UseCompatibleStateImageBehavior = false;
@ -234,7 +234,7 @@ namespace HeliosDisplayManagement.UIForms
//
this.lbl_version.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.lbl_version.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(178)));
this.lbl_version.Location = new System.Drawing.Point(650, 8);
this.lbl_version.Location = new System.Drawing.Point(724, 8);
this.lbl_version.Name = "lbl_version";
this.lbl_version.Size = new System.Drawing.Size(157, 13);
this.lbl_version.TabIndex = 12;
@ -248,7 +248,7 @@ namespace HeliosDisplayManagement.UIForms
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(174)))), ((int)(((byte)(184)))), ((int)(((byte)(196)))));
this.CancelButton = this.btn_cancel;
this.ClientSize = new System.Drawing.Size(819, 472);
this.ClientSize = new System.Drawing.Size(893, 541);
this.Controls.Add(this.lbl_version);
this.Controls.Add(this.lv_profiles);
this.Controls.Add(this.btn_shortcut);
@ -258,13 +258,13 @@ namespace HeliosDisplayManagement.UIForms
this.Controls.Add(this.btn_edit);
this.Controls.Add(this.btn_apply);
this.Controls.Add(this.dv_profile);
this.Controls.Add(this.btn_clone);
this.Controls.Add(this.btn_copy);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimumSize = new System.Drawing.Size(800, 400);
this.Name = "MainForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Helios Display Management";
this.Text = "HeliosPlus";
this.Activated += new System.EventHandler(this.MainForm_Activated);
this.Load += new System.EventHandler(this.MainForm_Load);
this.menu_profiles.ResumeLayout(false);
@ -274,7 +274,7 @@ namespace HeliosDisplayManagement.UIForms
#endregion
private System.Windows.Forms.Button btn_clone;
private System.Windows.Forms.Button btn_copy;
private DisplayView dv_profile;
private System.Windows.Forms.Button btn_apply;
private System.Windows.Forms.Button btn_edit;

View File

@ -1,18 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using System.Windows.Forms;
using HeliosDisplayManagement.Resources;
using HeliosDisplayManagement.Shared;
using HeliosPlus.Resources;
using HeliosPlus.Shared;
namespace HeliosDisplayManagement.UIForms
namespace HeliosPlus.UIForms
{
internal partial class MainForm : Form
{
private const string GroupActive = "active";
private const string GroupCurrent = "current";
private const string GroupSaved = "saved";
private static Profile SelectedProfile;
public MainForm()
{
@ -76,12 +78,12 @@ namespace HeliosDisplayManagement.UIForms
}
}
private void Cancel_Click(object sender, EventArgs e)
private void Exit_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void Clone_Click(object sender, EventArgs e)
private void Copy_Click(object sender, EventArgs e)
{
if (dv_profile.Profile != null)
{
@ -234,7 +236,7 @@ namespace HeliosDisplayManagement.UIForms
}
// Set the Profile name
lbl_profile.Text = dv_profile.Profile?.Name ?? Language.None;
lbl_profile.Text = $"Selected Profile: {dv_profile.Profile?.Name ?? Language.None}";
// Turn on the buttons if the
if (dv_profile.Profile != null) {
@ -254,7 +256,7 @@ namespace HeliosDisplayManagement.UIForms
}
}
cloneToolStripMenuItem.Enabled = true;
btn_clone.Enabled = true;
btn_copy.Enabled = true;
}
@ -264,7 +266,13 @@ namespace HeliosDisplayManagement.UIForms
private void MainForm_Activated(object sender, EventArgs e)
{
//ReloadProfiles();
// Reload the profiles in case we swapped to another program to change it
ReloadProfiles();
// If nothing is selected then select the currently used profile
if (lv_profiles.SelectedItems.Count == 0)
{
lv_profiles.Items[0].Selected = true;
}
}
private void MainForm_Load(object sender, EventArgs e)
@ -311,5 +319,6 @@ namespace HeliosDisplayManagement.UIForms
.Where(profile => profile != null));
ReloadProfiles();
}
}
}

View File

@ -1,7 +1,7 @@
using HeliosDisplayManagement.Resources;
using HeliosDisplayManagement.Shared.UserControls;
using HeliosPlus.Resources;
using HeliosPlus.Shared.UserControls;
namespace HeliosDisplayManagement.UIForms
namespace HeliosPlus.UIForms
{
partial class ShortcutForm
{
@ -31,6 +31,7 @@ namespace HeliosDisplayManagement.UIForms
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ShortcutForm));
this.btn_save = new System.Windows.Forms.Button();
this.btn_cancel = new System.Windows.Forms.Button();
@ -43,14 +44,15 @@ namespace HeliosDisplayManagement.UIForms
this.label4 = new System.Windows.Forms.Label();
this.btn_choose_game = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.tree_games = new System.Windows.Forms.TreeView();
this.txt_args_game = new System.Windows.Forms.TextBox();
this.cb_args_game = new System.Windows.Forms.CheckBox();
this.nud_steamapps = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
this.nud_timeout_game = new System.Windows.Forms.NumericUpDown();
this.label3 = new System.Windows.Forms.Label();
this.lv_games = new System.Windows.Forms.ListView();
this.p_standalone = new System.Windows.Forms.Panel();
this.lbl_process_name = new System.Windows.Forms.Label();
this.txt_args_executable = new System.Windows.Forms.TextBox();
this.cb_args_executable = new System.Windows.Forms.CheckBox();
this.btn_app_process = new System.Windows.Forms.Button();
@ -64,12 +66,16 @@ namespace HeliosDisplayManagement.UIForms
this.nud_timeout_executable = new System.Windows.Forms.NumericUpDown();
this.rb_launcher = new System.Windows.Forms.RadioButton();
this.rb_standalone = new System.Windows.Forms.RadioButton();
this.dv_profile = new HeliosDisplayManagement.Shared.UserControls.DisplayView();
this.dv_profile = new HeliosPlus.Shared.UserControls.DisplayView();
this.dialog_open = new System.Windows.Forms.OpenFileDialog();
this.dialog_save = new System.Windows.Forms.SaveFileDialog();
this.rb_switch_perm = new System.Windows.Forms.RadioButton();
this.rb_switch_temp = new System.Windows.Forms.RadioButton();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.lbl_profile = new System.Windows.Forms.Label();
this.il_games = new System.Windows.Forms.ImageList(this.components);
this.clm_images = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.clm_name = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.g_temporary.SuspendLayout();
this.p_game.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nud_game_appid)).BeginInit();
@ -80,7 +86,7 @@ namespace HeliosDisplayManagement.UIForms
//
// btn_save
//
this.btn_save.Location = new System.Drawing.Point(700, 749);
this.btn_save.Location = new System.Drawing.Point(602, 859);
this.btn_save.Name = "btn_save";
this.btn_save.Size = new System.Drawing.Size(94, 23);
this.btn_save.TabIndex = 6;
@ -91,7 +97,7 @@ namespace HeliosDisplayManagement.UIForms
// btn_cancel
//
this.btn_cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btn_cancel.Location = new System.Drawing.Point(601, 749);
this.btn_cancel.Location = new System.Drawing.Point(704, 859);
this.btn_cancel.Name = "btn_cancel";
this.btn_cancel.Size = new System.Drawing.Size(94, 23);
this.btn_cancel.TabIndex = 5;
@ -106,7 +112,7 @@ namespace HeliosDisplayManagement.UIForms
this.g_temporary.Controls.Add(this.rb_standalone);
this.g_temporary.Location = new System.Drawing.Point(12, 388);
this.g_temporary.Name = "g_temporary";
this.g_temporary.Size = new System.Drawing.Size(786, 355);
this.g_temporary.Size = new System.Drawing.Size(786, 465);
this.g_temporary.TabIndex = 4;
this.g_temporary.TabStop = false;
this.g_temporary.Text = "Application or Game Information";
@ -120,22 +126,22 @@ namespace HeliosDisplayManagement.UIForms
this.p_game.Controls.Add(this.label4);
this.p_game.Controls.Add(this.btn_choose_game);
this.p_game.Controls.Add(this.label1);
this.p_game.Controls.Add(this.tree_games);
this.p_game.Controls.Add(this.txt_args_game);
this.p_game.Controls.Add(this.cb_args_game);
this.p_game.Controls.Add(this.nud_steamapps);
this.p_game.Controls.Add(this.label5);
this.p_game.Controls.Add(this.nud_timeout_game);
this.p_game.Controls.Add(this.label3);
this.p_game.Controls.Add(this.lv_games);
this.p_game.Enabled = false;
this.p_game.Location = new System.Drawing.Point(26, 198);
this.p_game.Name = "p_game";
this.p_game.Size = new System.Drawing.Size(730, 145);
this.p_game.Size = new System.Drawing.Size(730, 253);
this.p_game.TabIndex = 3;
//
// txt_game_name
//
this.txt_game_name.Location = new System.Drawing.Point(408, 73);
this.txt_game_name.Location = new System.Drawing.Point(408, 133);
this.txt_game_name.Name = "txt_game_name";
this.txt_game_name.ReadOnly = true;
this.txt_game_name.Size = new System.Drawing.Size(302, 20);
@ -144,31 +150,22 @@ namespace HeliosDisplayManagement.UIForms
// nud_game_appid
//
this.nud_game_appid.Enabled = false;
this.nud_game_appid.Location = new System.Drawing.Point(408, 45);
this.nud_game_appid.Location = new System.Drawing.Point(408, 105);
this.nud_game_appid.Maximum = new decimal(new int[] {
1410065407,
2,
0,
0});
this.nud_game_appid.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.nud_game_appid.Name = "nud_game_appid";
this.nud_game_appid.ReadOnly = true;
this.nud_game_appid.Size = new System.Drawing.Size(89, 20);
this.nud_game_appid.TabIndex = 1;
this.nud_game_appid.Value = new decimal(new int[] {
730,
0,
0,
0});
this.nud_game_appid.ValueChanged += new System.EventHandler(this.nud_game_appid_ValueChanged);
//
// cmb_game_launcher
//
this.cmb_game_launcher.FormattingEnabled = true;
this.cmb_game_launcher.Location = new System.Drawing.Point(408, 18);
this.cmb_game_launcher.Location = new System.Drawing.Point(408, 78);
this.cmb_game_launcher.Name = "cmb_game_launcher";
this.cmb_game_launcher.Size = new System.Drawing.Size(163, 21);
this.cmb_game_launcher.TabIndex = 20;
@ -176,7 +173,7 @@ namespace HeliosDisplayManagement.UIForms
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(323, 21);
this.label6.Location = new System.Drawing.Point(323, 81);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(86, 13);
this.label6.TabIndex = 18;
@ -185,7 +182,7 @@ namespace HeliosDisplayManagement.UIForms
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(340, 76);
this.label4.Location = new System.Drawing.Point(340, 136);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(69, 13);
this.label4.TabIndex = 17;
@ -194,7 +191,7 @@ namespace HeliosDisplayManagement.UIForms
//
// btn_choose_game
//
this.btn_choose_game.Location = new System.Drawing.Point(224, 58);
this.btn_choose_game.Location = new System.Drawing.Point(224, 117);
this.btn_choose_game.Name = "btn_choose_game";
this.btn_choose_game.Size = new System.Drawing.Size(29, 31);
this.btn_choose_game.TabIndex = 16;
@ -205,24 +202,17 @@ namespace HeliosDisplayManagement.UIForms
//
this.label1.AutoSize = true;
this.label1.BackColor = System.Drawing.Color.Transparent;
this.label1.Location = new System.Drawing.Point(72, 11);
this.label1.Location = new System.Drawing.Point(70, 7);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(88, 13);
this.label1.TabIndex = 15;
this.label1.Text = "Games detected:";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// tree_games
//
this.tree_games.Location = new System.Drawing.Point(6, 19);
this.tree_games.Name = "tree_games";
this.tree_games.Size = new System.Drawing.Size(212, 120);
this.tree_games.TabIndex = 14;
//
// txt_args_game
//
this.txt_args_game.Enabled = false;
this.txt_args_game.Location = new System.Drawing.Point(408, 100);
this.txt_args_game.Location = new System.Drawing.Point(408, 160);
this.txt_args_game.Name = "txt_args_game";
this.txt_args_game.Size = new System.Drawing.Size(302, 20);
this.txt_args_game.TabIndex = 13;
@ -230,17 +220,18 @@ namespace HeliosDisplayManagement.UIForms
// cb_args_game
//
this.cb_args_game.AutoSize = true;
this.cb_args_game.Location = new System.Drawing.Point(265, 102);
this.cb_args_game.Location = new System.Drawing.Point(265, 162);
this.cb_args_game.Name = "cb_args_game";
this.cb_args_game.Size = new System.Drawing.Size(147, 17);
this.cb_args_game.TabIndex = 12;
this.cb_args_game.Text = "Pass arguments to Game:";
this.cb_args_game.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.cb_args_game.UseVisualStyleBackColor = true;
this.cb_args_game.CheckedChanged += new System.EventHandler(this.cb_args_game_CheckedChanged);
//
// nud_steamapps
//
this.nud_steamapps.Location = new System.Drawing.Point(505, 45);
this.nud_steamapps.Location = new System.Drawing.Point(505, 105);
this.nud_steamapps.Name = "nud_steamapps";
this.nud_steamapps.Size = new System.Drawing.Size(24, 20);
this.nud_steamapps.TabIndex = 2;
@ -250,7 +241,7 @@ namespace HeliosDisplayManagement.UIForms
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(589, 20);
this.label5.Location = new System.Drawing.Point(589, 80);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(48, 13);
this.label5.TabIndex = 4;
@ -258,7 +249,7 @@ namespace HeliosDisplayManagement.UIForms
//
// nud_timeout_game
//
this.nud_timeout_game.Location = new System.Drawing.Point(640, 17);
this.nud_timeout_game.Location = new System.Drawing.Point(640, 77);
this.nud_timeout_game.Maximum = new decimal(new int[] {
240,
0,
@ -277,20 +268,34 @@ namespace HeliosDisplayManagement.UIForms
0,
0,
0});
this.nud_timeout_game.ValueChanged += new System.EventHandler(this.nud_timeout_game_ValueChanged);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(357, 47);
this.label3.Location = new System.Drawing.Point(357, 107);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(52, 13);
this.label3.TabIndex = 0;
this.label3.Text = "Game ID:";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// lv_games
//
this.lv_games.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.clm_images,
this.clm_name});
this.lv_games.HideSelection = false;
this.lv_games.LargeImageList = this.il_games;
this.lv_games.Location = new System.Drawing.Point(6, 18);
this.lv_games.Name = "lv_games";
this.lv_games.Size = new System.Drawing.Size(212, 229);
this.lv_games.SmallImageList = this.il_games;
this.lv_games.TabIndex = 22;
this.lv_games.UseCompatibleStateImageBehavior = false;
//
// p_standalone
//
this.p_standalone.Controls.Add(this.lbl_process_name);
this.p_standalone.Controls.Add(this.txt_args_executable);
this.p_standalone.Controls.Add(this.cb_args_executable);
this.p_standalone.Controls.Add(this.btn_app_process);
@ -307,6 +312,15 @@ namespace HeliosDisplayManagement.UIForms
this.p_standalone.Size = new System.Drawing.Size(730, 118);
this.p_standalone.TabIndex = 1;
//
// lbl_process_name
//
this.lbl_process_name.AutoSize = true;
this.lbl_process_name.Location = new System.Drawing.Point(357, 57);
this.lbl_process_name.Name = "lbl_process_name";
this.lbl_process_name.Size = new System.Drawing.Size(97, 13);
this.lbl_process_name.TabIndex = 12;
this.lbl_process_name.Text = "Process to monitor:";
//
// txt_args_executable
//
this.txt_args_executable.Enabled = false;
@ -314,7 +328,6 @@ namespace HeliosDisplayManagement.UIForms
this.txt_args_executable.Name = "txt_args_executable";
this.txt_args_executable.Size = new System.Drawing.Size(520, 20);
this.txt_args_executable.TabIndex = 11;
this.txt_args_executable.TextChanged += new System.EventHandler(this.txt_args_executable_TextChanged);
//
// cb_args_executable
//
@ -330,7 +343,7 @@ namespace HeliosDisplayManagement.UIForms
//
// btn_app_process
//
this.btn_app_process.Location = new System.Drawing.Point(527, 55);
this.btn_app_process.Location = new System.Drawing.Point(654, 53);
this.btn_app_process.Name = "btn_app_process";
this.btn_app_process.Size = new System.Drawing.Size(56, 21);
this.btn_app_process.TabIndex = 9;
@ -341,19 +354,19 @@ namespace HeliosDisplayManagement.UIForms
// txt_process_name
//
this.txt_process_name.Enabled = false;
this.txt_process_name.Location = new System.Drawing.Point(296, 56);
this.txt_process_name.Location = new System.Drawing.Point(454, 54);
this.txt_process_name.Name = "txt_process_name";
this.txt_process_name.Size = new System.Drawing.Size(225, 20);
this.txt_process_name.Size = new System.Drawing.Size(194, 20);
this.txt_process_name.TabIndex = 4;
//
// rb_wait_process
//
this.rb_wait_process.AutoSize = true;
this.rb_wait_process.Location = new System.Drawing.Point(6, 59);
this.rb_wait_process.Location = new System.Drawing.Point(6, 55);
this.rb_wait_process.Name = "rb_wait_process";
this.rb_wait_process.Size = new System.Drawing.Size(296, 17);
this.rb_wait_process.Size = new System.Drawing.Size(327, 17);
this.rb_wait_process.TabIndex = 8;
this.rb_wait_process.Text = "Change Display Profile back when this process is closed: ";
this.rb_wait_process.Text = "Change Display Profile back when a different process is closed: ";
this.rb_wait_process.UseVisualStyleBackColor = true;
this.rb_wait_process.CheckedChanged += new System.EventHandler(this.rb_wait_process_CheckedChanged);
//
@ -361,12 +374,12 @@ namespace HeliosDisplayManagement.UIForms
//
this.rb_wait_executable.AutoSize = true;
this.rb_wait_executable.Checked = true;
this.rb_wait_executable.Location = new System.Drawing.Point(6, 37);
this.rb_wait_executable.Location = new System.Drawing.Point(6, 32);
this.rb_wait_executable.Name = "rb_wait_executable";
this.rb_wait_executable.Size = new System.Drawing.Size(304, 17);
this.rb_wait_executable.Size = new System.Drawing.Size(337, 17);
this.rb_wait_executable.TabIndex = 7;
this.rb_wait_executable.TabStop = true;
this.rb_wait_executable.Text = "Change Display Profile back when the executable is closed";
this.rb_wait_executable.Text = "Change Display Profile back when the executable above is closed";
this.rb_wait_executable.UseVisualStyleBackColor = true;
this.rb_wait_executable.CheckedChanged += new System.EventHandler(this.rb_wait_executable_CheckedChanged);
//
@ -409,7 +422,6 @@ namespace HeliosDisplayManagement.UIForms
//
// nud_timeout_executable
//
this.nud_timeout_executable.Enabled = false;
this.nud_timeout_executable.Location = new System.Drawing.Point(640, 6);
this.nud_timeout_executable.Maximum = new decimal(new int[] {
240,
@ -429,7 +441,6 @@ namespace HeliosDisplayManagement.UIForms
0,
0,
0});
this.nud_timeout_executable.ValueChanged += new System.EventHandler(this.nud_timeout_executable_ValueChanged);
//
// rb_launcher
//
@ -476,7 +487,7 @@ namespace HeliosDisplayManagement.UIForms
//
this.dialog_open.DefaultExt = "exe";
this.dialog_open.FileName = "*.exe";
this.dialog_open.Filter = global::HeliosDisplayManagement.Resources.Language.Executable_Files_Filter;
this.dialog_open.Filter = global::HeliosPlus.Resources.Language.Executable_Files_Filter;
this.dialog_open.RestoreDirectory = true;
this.dialog_open.SupportMultiDottedExtensions = true;
//
@ -484,7 +495,7 @@ namespace HeliosDisplayManagement.UIForms
//
this.dialog_save.DefaultExt = "lnk";
this.dialog_save.DereferenceLinks = false;
this.dialog_save.Filter = global::HeliosDisplayManagement.Resources.Language.Shortcuts_Filter;
this.dialog_save.Filter = global::HeliosPlus.Resources.Language.Shortcuts_Filter;
this.dialog_save.RestoreDirectory = true;
//
// rb_switch_perm
@ -516,6 +527,23 @@ namespace HeliosDisplayManagement.UIForms
this.openFileDialog1.FileName = "openFileDialog1";
this.openFileDialog1.Title = "Title";
//
// lbl_profile
//
this.lbl_profile.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(174)))), ((int)(((byte)(184)))), ((int)(((byte)(196)))));
this.lbl_profile.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(178)));
this.lbl_profile.Location = new System.Drawing.Point(12, 9);
this.lbl_profile.Name = "lbl_profile";
this.lbl_profile.Size = new System.Drawing.Size(382, 13);
this.lbl_profile.TabIndex = 10;
this.lbl_profile.Text = "[None]";
this.lbl_profile.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// il_games
//
this.il_games.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
this.il_games.ImageSize = new System.Drawing.Size(32, 32);
this.il_games.TransparentColor = System.Drawing.Color.Transparent;
//
// ShortcutForm
//
this.AcceptButton = this.btn_save;
@ -523,7 +551,8 @@ namespace HeliosDisplayManagement.UIForms
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
this.CancelButton = this.btn_cancel;
this.ClientSize = new System.Drawing.Size(810, 782);
this.ClientSize = new System.Drawing.Size(810, 890);
this.Controls.Add(this.lbl_profile);
this.Controls.Add(this.rb_switch_temp);
this.Controls.Add(this.rb_switch_perm);
this.Controls.Add(this.g_temporary);
@ -585,7 +614,6 @@ namespace HeliosDisplayManagement.UIForms
private System.Windows.Forms.CheckBox cb_args_game;
private System.Windows.Forms.TextBox txt_args_executable;
private System.Windows.Forms.CheckBox cb_args_executable;
private System.Windows.Forms.TreeView tree_games;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Button btn_choose_game;
@ -593,5 +621,11 @@ namespace HeliosDisplayManagement.UIForms
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox txt_game_name;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.ListView lv_games;
private System.Windows.Forms.Label lbl_process_name;
private System.Windows.Forms.Label lbl_profile;
private System.Windows.Forms.ImageList il_games;
private System.Windows.Forms.ColumnHeader clm_images;
private System.Windows.Forms.ColumnHeader clm_name;
}
}

View File

@ -1,16 +1,18 @@
using System;
using System.Collections.Generic;
using System.Drawing.IconLib;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using HeliosDisplayManagement.Resources;
using HeliosDisplayManagement.Shared;
using HeliosDisplayManagement.Steam;
using HeliosPlus.Resources;
using HeliosPlus.Shared;
using HeliosPlus.Steam;
using NvAPIWrapper.Native.GPU;
namespace HeliosDisplayManagement.UIForms
namespace HeliosPlus.UIForms
{
public partial class ShortcutForm : Form
{
@ -45,18 +47,39 @@ namespace HeliosDisplayManagement.UIForms
}
set
{
if (File.Exists(txt_executable.Text))
{
txt_process_name.Text = value;
rb_wait_executable.Checked = true;
}
// We we're setting this entry, then we want to set it to a particular entry
txt_process_name.Text = value;
rb_wait_executable.Checked = true;
}
}
public Profile Profile
{
get => dv_profile.Profile;
set => dv_profile.Profile = value;
set
{
// Check the profile is valid
// Create an array of display profiles we have
var profiles = Profile.GetAllProfiles().ToArray();
// Check if the user supplied a --profile option using the profiles' ID
var profileIndex = profiles.Length > 0 ? Array.FindIndex(profiles, p => p.Id.Equals(value.Id, StringComparison.InvariantCultureIgnoreCase)) : -1;
// If the profileID wasn't there, maybe they used the profile name?
if (profileIndex == -1)
{
// Try and lookup the profile in the profiles' Name fields
profileIndex = profiles.Length > 0 ? Array.FindIndex(profiles, p => p.Name.StartsWith(value.Name, StringComparison.InvariantCultureIgnoreCase)) : -1;
}
// If the profileID still isn't there, then raise the alarm
if (profileIndex == -1)
{
MessageBox.Show(
$"ShortcutForm: Couldn't find Profile Name or ID supplied to Profile propoerty.",
Language.Executable,
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
dv_profile.Profile = value;
}
}
@ -566,18 +589,25 @@ namespace HeliosDisplayManagement.UIForms
}
private void ShortcutForm_Load(object sender, EventArgs e)
private async void ShortcutForm_Load(object sender, EventArgs e)
{
// Make the game launcher selector read only.
cmb_game_launcher.DropDownStyle = ComboBoxStyle.DropDownList;
// Fill the list of supported game libraries
foreach (var gameLibirary in Enum.GetNames(typeof(SupportedGameLibrary))) {
cmb_game_launcher.Items.Add(gameLibirary);
foreach (var gameLibrary in Enum.GetNames(typeof(SupportedGameLibrary))) {
if (gameLibrary != "Unknown")
{
cmb_game_launcher.Items.Add(gameLibrary);
}
}
// Set the Profile name
lbl_profile.Text = $"Selected Profile: {dv_profile.Profile?.Name ?? Language.None}";
// Start finding the games and loading the tree_games
/*foreach (var game in SteamGame.GetAllOwnedGames().OrderByDescending(game => game.IsInstalled).ThenBy(game => game.Name))
foreach (var game in SteamGame.GetAllOwnedGames().OrderByDescending(game => game.IsInstalled).ThenBy(game => game.Name))
{
var iconAddress = await game.GetIcon();
@ -612,7 +642,7 @@ namespace HeliosDisplayManagement.UIForms
Tag = game,
ImageIndex = il_games.Images.Count - 1
});
}*/
}
}
private void rb_wait_process_CheckedChanged(object sender, EventArgs e)
@ -621,6 +651,9 @@ namespace HeliosDisplayManagement.UIForms
{
// Enable the Process Name Text field
txt_process_name.Enabled = true;
} else
{
txt_process_name.Enabled = false;
}
}
@ -630,28 +663,13 @@ namespace HeliosDisplayManagement.UIForms
{
// Disable the Process Name Text field
txt_process_name.Enabled = false;
} else
{
txt_process_name.Enabled = true;
}
}
private void nud_timeout_executable_ValueChanged(object sender, EventArgs e)
{
}
private void nud_timeout_game_ValueChanged(object sender, EventArgs e)
{
}
private void txt_args_executable_TextChanged(object sender, EventArgs e)
{
}
private void txt_game_name_TextChanged(object sender, EventArgs e)
{
}
private void btn_app_process_Click(object sender, EventArgs e)
{
@ -672,5 +690,16 @@ namespace HeliosDisplayManagement.UIForms
}
}
}
private void cb_args_game_CheckedChanged(object sender, EventArgs e)
{
if (cb_args_game.Checked)
{
txt_args_game.Enabled = true;
} else
{
txt_args_game.Enabled = false;
}
}
}
}

View File

@ -117,6 +117,9 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="il_games.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>513, 24</value>
</metadata>
<metadata name="dialog_open.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>

View File

@ -1,7 +1,7 @@
using System.Windows.Forms;
using HeliosDisplayManagement.Resources;
using HeliosPlus.Resources;
namespace HeliosDisplayManagement.UIForms
namespace HeliosPlus.UIForms
{
sealed partial class SplashForm
{
@ -121,7 +121,7 @@ namespace HeliosDisplayManagement.UIForms
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = global::HeliosDisplayManagement.Resources.Language.Helios_Display_Management_Please_Wait;
this.Text = global::HeliosPlus.Resources.Language.Helios_Display_Management_Please_Wait;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.SplashForm_FormClosing);
this.Load += new System.EventHandler(this.SplashForm_Reposition);
this.Shown += new System.EventHandler(this.SplashForm_Shown);

View File

@ -3,10 +3,10 @@ using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using HeliosDisplayManagement.Resources;
using HeliosPlus.Resources;
using WinFormAnimation;
namespace HeliosDisplayManagement.UIForms
namespace HeliosPlus.UIForms
{
public sealed partial class SplashForm : Form
{

View File

@ -1,6 +1,6 @@
using HeliosDisplayManagement.Resources;
using HeliosPlus.Resources;
namespace HeliosDisplayManagement.UIForms
namespace HeliosPlus.UIForms
{
partial class SteamGamesForm
{
@ -46,7 +46,7 @@ namespace HeliosDisplayManagement.UIForms
this.btn_cancel.Name = "btn_cancel";
this.btn_cancel.Size = new System.Drawing.Size(75, 23);
this.btn_cancel.TabIndex = 1;
this.btn_cancel.Text = global::HeliosDisplayManagement.Resources.Language.Cancel;
this.btn_cancel.Text = global::HeliosPlus.Resources.Language.Cancel;
this.btn_cancel.UseVisualStyleBackColor = true;
//
// btn_ok
@ -58,7 +58,7 @@ namespace HeliosDisplayManagement.UIForms
this.btn_ok.Name = "btn_ok";
this.btn_ok.Size = new System.Drawing.Size(75, 23);
this.btn_ok.TabIndex = 2;
this.btn_ok.Text = global::HeliosDisplayManagement.Resources.Language.Ok;
this.btn_ok.Text = global::HeliosPlus.Resources.Language.Ok;
this.btn_ok.UseVisualStyleBackColor = true;
//
// il_games
@ -103,7 +103,7 @@ namespace HeliosDisplayManagement.UIForms
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = global::HeliosDisplayManagement.Resources.Language.Steam_Games;
this.Text = global::HeliosPlus.Resources.Language.Steam_Games;
this.Load += new System.EventHandler(this.SteamGamesForm_Load);
this.ResumeLayout(false);

View File

@ -3,9 +3,9 @@ using System.Drawing;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using HeliosDisplayManagement.Steam;
using HeliosPlus.Steam;
namespace HeliosDisplayManagement.UIForms
namespace HeliosPlus.UIForms
{
public partial class SteamGamesForm : Form
{

View File

@ -1,4 +1,4 @@
namespace HeliosDisplayManagement.Uplay
namespace HeliosPlus.Uplay
{
public class UplayAppIdNamePair
{

View File

@ -7,12 +7,12 @@ using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using HeliosDisplayManagement.Resources;
using HeliosPlus.Resources;
using HtmlAgilityPack;
using Microsoft.Win32;
using Newtonsoft.Json;
namespace HeliosDisplayManagement.Uplay
namespace HeliosPlus.Uplay
{
public class UplayGame
{

View File

@ -7,10 +7,10 @@ using System.Threading.Tasks;
using McMaster.Extensions.CommandLineUtils;
using McMaster.Extensions.CommandLineUtils.Validation;
using System.ComponentModel.DataAnnotations;
using HeliosDisplayManagement.Shared;
using HeliosDisplayManagement.Steam;
using HeliosPlus.Shared;
using HeliosPlus.Steam;
namespace HeliosDisplayManagement
namespace HeliosPlus
{
class ProfileMustExistValidator : IOptionValidator
{

View File

@ -1,14 +1,14 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2003
# Visual Studio Version 16
VisualStudioVersion = 16.0.30002.166
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeliosDisplayManagement", "HeliosDisplayManagement\HeliosDisplayManagement.csproj", "{608D941A-B431-400C-A91D-C6F971C29577}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeliosPlus", "HeliosDisplayManagement\HeliosPlus.csproj", "{608D941A-B431-400C-A91D-C6F971C29577}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeliosDisplayManagement.ShellExtension", "HeliosDisplayManagement.ShellExtension\HeliosDisplayManagement.ShellExtension.csproj", "{55D4FF65-EDC7-48EF-933E-B6E7F3809B68}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeliosPlus.ShellExtension", "HeliosDisplayManagement.ShellExtension\HeliosPlus.ShellExtension.csproj", "{55D4FF65-EDC7-48EF-933E-B6E7F3809B68}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeliosDisplayManagement.Shared", "HeliosDisplayManagement.Shared\HeliosDisplayManagement.Shared.csproj", "{1CACDA43-01C7-4CD4-BF6E-9421A29510FC}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeliosPlus.Shared", "HeliosDisplayManagement.Shared\HeliosPlus.Shared.csproj", "{1CACDA43-01C7-4CD4-BF6E-9421A29510FC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeliosDisplayManagement.Reporting", "HeliosDisplayManagement.Reporting\HeliosDisplayManagement.Reporting.csproj", "{76DF2BCF-911B-4820-B63E-8F3468DB5E79}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeliosPlus.Reporting", "HeliosDisplayManagement.Reporting\HeliosPlus.Reporting.csproj", "{76DF2BCF-911B-4820-B63E-8F3468DB5E79}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution