mirror of
https://github.com/terrymacdonald/DisplayMagician.git
synced 2024-08-30 18:32:20 +00:00
[WIP] Modified shortcut generation and Uplay skeleton
The programme compiles with the commandline changes and the changes to the shortcut form, including aligning the shortcut generation with the new command line. The Uplay skeleton has been disabled for now as I'm concentrating on getting the commandline args working and fixing the annoying errors in the way the MainForm and the ShortcutForm work. Probably have a couple more days work to fix that.
This commit is contained in:
parent
e71b5bcb29
commit
413525f9a1
@ -8,7 +8,7 @@
|
|||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>HeliosDisplayManagement</RootNamespace>
|
<RootNamespace>HeliosDisplayManagement</RootNamespace>
|
||||||
<AssemblyName>HeliosDisplayManagement</AssemblyName>
|
<AssemblyName>HeliosPlus</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
@ -167,6 +167,7 @@
|
|||||||
<None Include="Icon.psd" />
|
<None Include="Icon.psd" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="Properties\DataSources\HeliosDisplayManagement.UIForms.ShortcutForm.datasource" />
|
||||||
<None Include="Resources\SteamIcon.png" />
|
<None Include="Resources\SteamIcon.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -22,10 +22,18 @@ using System.Net.NetworkInformation;
|
|||||||
namespace HeliosDisplayManagement
|
namespace HeliosDisplayManagement
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public enum SupportedGameLibrary
|
||||||
|
{
|
||||||
|
Unknown,
|
||||||
|
Steam,
|
||||||
|
Uplay
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
internal static class Program
|
internal static class Program
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
internal static Profile GetProfile(string profileName)
|
internal static Profile GetProfile(string profileName)
|
||||||
{
|
{
|
||||||
// Create an array of display profiles we have
|
// Create an array of display profiles we have
|
||||||
@ -90,12 +98,10 @@ namespace HeliosDisplayManagement
|
|||||||
IPCService.GetInstance().Status = InstanceStatus.User;
|
IPCService.GetInstance().Status = InstanceStatus.User;
|
||||||
new ShortcutForm(profile)
|
new ShortcutForm(profile)
|
||||||
{
|
{
|
||||||
FileName = executableToRun,
|
ExecutableNameAndPath = executableToRun,
|
||||||
SteamAppId = 0,
|
ExecutableArguments = executableArguments,
|
||||||
UplayAppId = 0,
|
ProcessNameToMonitor = processToMonitor,
|
||||||
Arguments = executableArguments,
|
ExecutableTimeout = timeout
|
||||||
ProcessName = processToMonitor,
|
|
||||||
Timeout = timeout
|
|
||||||
}.ShowDialog();
|
}.ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,12 +111,10 @@ namespace HeliosDisplayManagement
|
|||||||
IPCService.GetInstance().Status = InstanceStatus.User;
|
IPCService.GetInstance().Status = InstanceStatus.User;
|
||||||
new ShortcutForm(profile)
|
new ShortcutForm(profile)
|
||||||
{
|
{
|
||||||
FileName = null,
|
GameLibrary = SupportedGameLibrary.Steam,
|
||||||
SteamAppId = Convert.ToUInt32(steamGameIdToRun),
|
GameAppId = Convert.ToUInt32(steamGameIdToRun),
|
||||||
UplayAppId = 0,
|
GameTimeout = timeout,
|
||||||
Arguments = executableArguments,
|
GameArguments = executableArguments,
|
||||||
ProcessName = null,
|
|
||||||
Timeout = timeout
|
|
||||||
}.ShowDialog();
|
}.ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,12 +124,10 @@ namespace HeliosDisplayManagement
|
|||||||
IPCService.GetInstance().Status = InstanceStatus.User;
|
IPCService.GetInstance().Status = InstanceStatus.User;
|
||||||
new ShortcutForm(profile)
|
new ShortcutForm(profile)
|
||||||
{
|
{
|
||||||
FileName = null,
|
GameLibrary = SupportedGameLibrary.Uplay,
|
||||||
SteamAppId = 0,
|
GameAppId = Convert.ToUInt32(uplayGameIdToRun),
|
||||||
UplayAppId = Convert.ToUInt32(uplayGameIdToRun),
|
GameTimeout = timeout,
|
||||||
Arguments = executableArguments,
|
GameArguments = executableArguments,
|
||||||
ProcessName = null,
|
|
||||||
Timeout = timeout
|
|
||||||
}.ShowDialog();
|
}.ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -378,11 +380,18 @@ namespace HeliosDisplayManagement
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
app.OnExecute(() =>
|
||||||
|
{
|
||||||
|
|
||||||
|
Console.WriteLine("Starting Normally...");
|
||||||
|
StartUpNormally();
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// This begins the actual execution of the application
|
// This begins the actual execution of the application
|
||||||
Console.WriteLine("ConsoleArgs app executing...");
|
|
||||||
app.Execute(args);
|
app.Execute(args);
|
||||||
}
|
}
|
||||||
catch (CommandParsingException ex)
|
catch (CommandParsingException ex)
|
||||||
|
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
This file is automatically generated by Visual Studio .Net. It is
|
||||||
|
used to store generic object data source configuration information.
|
||||||
|
Renaming the file extension or editing the content of this file may
|
||||||
|
cause the file to be unrecognizable by the program.
|
||||||
|
-->
|
||||||
|
<GenericObjectDataSource DisplayName="ShortcutForm" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||||
|
<TypeInfo>HeliosDisplayManagement.UIForms.ShortcutForm, HeliosDisplayManagement, Version=0.9.6.23095, Culture=neutral, PublicKeyToken=null</TypeInfo>
|
||||||
|
</GenericObjectDataSource>
|
@ -19,7 +19,7 @@ namespace HeliosDisplayManagement.Properties {
|
|||||||
// class via a tool like ResGen or Visual Studio.
|
// class via a tool like ResGen or Visual Studio.
|
||||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
// with the /str option, or rebuild your VS project.
|
// with the /str option, or rebuild your VS project.
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
internal class Resources {
|
internal class Resources {
|
||||||
|
@ -19,7 +19,7 @@ namespace HeliosDisplayManagement.Resources {
|
|||||||
// class via a tool like ResGen or Visual Studio.
|
// class via a tool like ResGen or Visual Studio.
|
||||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
// with the /str option, or rebuild your VS project.
|
// with the /str option, or rebuild your VS project.
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
internal class Language {
|
internal class Language {
|
||||||
|
@ -106,7 +106,7 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.lbl_profile.Name = "lbl_profile";
|
this.lbl_profile.Name = "lbl_profile";
|
||||||
this.lbl_profile.Size = new System.Drawing.Size(382, 13);
|
this.lbl_profile.Size = new System.Drawing.Size(382, 13);
|
||||||
this.lbl_profile.TabIndex = 3;
|
this.lbl_profile.TabIndex = 3;
|
||||||
this.lbl_profile.Text = global::HeliosDisplayManagement.Resources.Language.None;
|
this.lbl_profile.Text = "[None]";
|
||||||
this.lbl_profile.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
this.lbl_profile.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
//
|
//
|
||||||
// btn_delete
|
// btn_delete
|
||||||
@ -206,6 +206,8 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
| System.Windows.Forms.AnchorStyles.Left)));
|
| System.Windows.Forms.AnchorStyles.Left)));
|
||||||
this.lv_profiles.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
|
this.lv_profiles.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(248)))), ((int)(((byte)(248)))));
|
||||||
this.lv_profiles.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
this.lv_profiles.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
|
this.lv_profiles.GridLines = true;
|
||||||
|
this.lv_profiles.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||||
this.lv_profiles.HideSelection = false;
|
this.lv_profiles.HideSelection = false;
|
||||||
this.lv_profiles.LabelEdit = true;
|
this.lv_profiles.LabelEdit = true;
|
||||||
this.lv_profiles.LargeImageList = this.il_profiles;
|
this.lv_profiles.LargeImageList = this.il_profiles;
|
||||||
@ -262,7 +264,7 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.MinimumSize = new System.Drawing.Size(800, 400);
|
this.MinimumSize = new System.Drawing.Size(800, 400);
|
||||||
this.Name = "MainForm";
|
this.Name = "MainForm";
|
||||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
this.Text = global::HeliosDisplayManagement.Resources.Language.Helios_Display_Management;
|
this.Text = "Helios Display Management";
|
||||||
this.Activated += new System.EventHandler(this.MainForm_Activated);
|
this.Activated += new System.EventHandler(this.MainForm_Activated);
|
||||||
this.Load += new System.EventHandler(this.MainForm_Load);
|
this.Load += new System.EventHandler(this.MainForm_Load);
|
||||||
this.menu_profiles.ResumeLayout(false);
|
this.menu_profiles.ResumeLayout(false);
|
||||||
|
@ -204,6 +204,8 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
btn_edit.PerformClick();
|
btn_edit.PerformClick();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Need to check why we did it this way rather than just using the
|
||||||
|
// list items themselves for clicking? That way we'd avoid selecting nothing...
|
||||||
private void lv_profiles_MouseUp(object sender, MouseEventArgs e)
|
private void lv_profiles_MouseUp(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.Button == MouseButtons.Right && lv_profiles.SelectedItems.Count > 0)
|
if (e.Button == MouseButtons.Right && lv_profiles.SelectedItems.Count > 0)
|
||||||
@ -224,37 +226,54 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
{
|
{
|
||||||
if (lv_profiles.SelectedItems.Count > 0)
|
if (lv_profiles.SelectedItems.Count > 0)
|
||||||
{
|
{
|
||||||
dv_profile.Profile =
|
dv_profile.Profile = lv_profiles.SelectedItems[0].Tag as Profile ?? Profile.GetCurrent(Language.Current);
|
||||||
lv_profiles.SelectedItems[0].Tag as Profile ?? Profile.GetCurrent(Language.Current);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dv_profile.Profile = null;
|
dv_profile.Profile = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set the Profile name
|
||||||
lbl_profile.Text = dv_profile.Profile?.Name ?? Language.None;
|
lbl_profile.Text = dv_profile.Profile?.Name ?? Language.None;
|
||||||
applyToolStripMenuItem.Enabled =
|
|
||||||
btn_apply.Enabled = dv_profile.Profile != null &&
|
// Turn on the buttons if the
|
||||||
lv_profiles.SelectedItems[0].Tag != null &&
|
if (dv_profile.Profile != null) {
|
||||||
!dv_profile.Profile.IsActive;
|
if (lv_profiles.SelectedItems[0].Tag != null)
|
||||||
editToolStripMenuItem.Enabled =
|
{
|
||||||
btn_edit.Enabled = dv_profile.Profile != null && lv_profiles.SelectedItems[0].Tag != null;
|
editToolStripMenuItem.Enabled = true;
|
||||||
deleteToolStripMenuItem.Enabled =
|
btn_edit.Enabled = true;
|
||||||
btn_delete.Enabled = dv_profile.Profile != null && lv_profiles.SelectedItems[0].Tag != null;
|
deleteToolStripMenuItem.Enabled = true;
|
||||||
cloneToolStripMenuItem.Enabled = btn_clone.Enabled = dv_profile.Profile != null;
|
btn_delete.Enabled = true;
|
||||||
createShortcutToolStripMenuItem.Enabled =
|
createShortcutToolStripMenuItem.Enabled = true;
|
||||||
btn_shortcut.Enabled = dv_profile.Profile != null && lv_profiles.SelectedItems[0].Tag != null;
|
btn_shortcut.Enabled = true;
|
||||||
|
|
||||||
|
if (!dv_profile.Profile.IsActive)
|
||||||
|
{
|
||||||
|
applyToolStripMenuItem.Enabled = true;
|
||||||
|
btn_apply.Enabled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cloneToolStripMenuItem.Enabled = true;
|
||||||
|
btn_clone.Enabled = true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Refresh the profiles again in case anything changed
|
||||||
RefreshProfilesStatus();
|
RefreshProfilesStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MainForm_Activated(object sender, EventArgs e)
|
private void MainForm_Activated(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ReloadProfiles();
|
//ReloadProfiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MainForm_Load(object sender, EventArgs e)
|
private void MainForm_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ReloadProfiles();
|
ReloadProfiles();
|
||||||
|
// Select the first item in the profiles list so pressing the buttons makes sense!
|
||||||
|
lv_profiles.Items[0].Selected = true;
|
||||||
|
lv_profiles.Items[0].Focused = true;
|
||||||
|
lv_profiles.Items[0].Checked = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RefreshProfilesStatus()
|
private void RefreshProfilesStatus()
|
||||||
|
354
HeliosDisplayManagement/UIForms/ShortcutForm.Designer.cs
generated
354
HeliosDisplayManagement/UIForms/ShortcutForm.Designer.cs
generated
@ -34,31 +34,34 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ShortcutForm));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ShortcutForm));
|
||||||
this.btn_save = new System.Windows.Forms.Button();
|
this.btn_save = new System.Windows.Forms.Button();
|
||||||
this.btn_cancel = new System.Windows.Forms.Button();
|
this.btn_cancel = new System.Windows.Forms.Button();
|
||||||
this.g_temp = new System.Windows.Forms.GroupBox();
|
this.g_temporary = new System.Windows.Forms.GroupBox();
|
||||||
this.p_steam = new System.Windows.Forms.Panel();
|
this.p_game = new System.Windows.Forms.Panel();
|
||||||
|
this.txt_game_name = new System.Windows.Forms.TextBox();
|
||||||
|
this.nud_game_appid = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.cmb_game_launcher = new System.Windows.Forms.ComboBox();
|
||||||
this.label6 = new System.Windows.Forms.Label();
|
this.label6 = new System.Windows.Forms.Label();
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
this.btn_choose_game = new System.Windows.Forms.Button();
|
this.btn_choose_game = new System.Windows.Forms.Button();
|
||||||
this.treeView1 = new System.Windows.Forms.TreeView();
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
this.tree_games = new System.Windows.Forms.TreeView();
|
||||||
this.cb_arg_launcher = new System.Windows.Forms.CheckBox();
|
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.nud_steamapps = new System.Windows.Forms.Button();
|
||||||
this.label5 = new System.Windows.Forms.Label();
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
this.nud_steamtimeout = new System.Windows.Forms.NumericUpDown();
|
this.nud_timeout_game = new System.Windows.Forms.NumericUpDown();
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
this.nud_appid = new System.Windows.Forms.NumericUpDown();
|
|
||||||
this.p_standalone = new System.Windows.Forms.Panel();
|
this.p_standalone = new System.Windows.Forms.Panel();
|
||||||
this.txt_args_executable = new System.Windows.Forms.TextBox();
|
this.txt_args_executable = new System.Windows.Forms.TextBox();
|
||||||
this.cb_args_executable = new System.Windows.Forms.CheckBox();
|
this.cb_args_executable = new System.Windows.Forms.CheckBox();
|
||||||
this.btn_app_process = new System.Windows.Forms.Button();
|
this.btn_app_process = new System.Windows.Forms.Button();
|
||||||
this.txt_process = new System.Windows.Forms.TextBox();
|
this.txt_process_name = new System.Windows.Forms.TextBox();
|
||||||
this.rb_wait_process = new System.Windows.Forms.RadioButton();
|
this.rb_wait_process = new System.Windows.Forms.RadioButton();
|
||||||
this.rb_wait_executable = new System.Windows.Forms.RadioButton();
|
this.rb_wait_executable = new System.Windows.Forms.RadioButton();
|
||||||
this.btn_app_executable = new System.Windows.Forms.Button();
|
this.btn_app_executable = new System.Windows.Forms.Button();
|
||||||
this.txt_executable = new System.Windows.Forms.TextBox();
|
this.txt_executable = new System.Windows.Forms.TextBox();
|
||||||
this.lbl_app_executable = new System.Windows.Forms.Label();
|
this.lbl_app_executable = new System.Windows.Forms.Label();
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
this.nud_timeout = new System.Windows.Forms.NumericUpDown();
|
this.nud_timeout_executable = new System.Windows.Forms.NumericUpDown();
|
||||||
this.rb_launcher = new System.Windows.Forms.RadioButton();
|
this.rb_launcher = new System.Windows.Forms.RadioButton();
|
||||||
this.rb_standalone = 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 HeliosDisplayManagement.Shared.UserControls.DisplayView();
|
||||||
@ -66,15 +69,13 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.dialog_save = new System.Windows.Forms.SaveFileDialog();
|
this.dialog_save = new System.Windows.Forms.SaveFileDialog();
|
||||||
this.rb_switch_perm = new System.Windows.Forms.RadioButton();
|
this.rb_switch_perm = new System.Windows.Forms.RadioButton();
|
||||||
this.rb_switch_temp = new System.Windows.Forms.RadioButton();
|
this.rb_switch_temp = new System.Windows.Forms.RadioButton();
|
||||||
this.cb_game_launcher = new System.Windows.Forms.ComboBox();
|
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
this.g_temporary.SuspendLayout();
|
||||||
this.textBox2 = new System.Windows.Forms.TextBox();
|
this.p_game.SuspendLayout();
|
||||||
this.g_temp.SuspendLayout();
|
((System.ComponentModel.ISupportInitialize)(this.nud_game_appid)).BeginInit();
|
||||||
this.p_steam.SuspendLayout();
|
((System.ComponentModel.ISupportInitialize)(this.nud_timeout_game)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.nud_steamtimeout)).BeginInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.nud_appid)).BeginInit();
|
|
||||||
this.p_standalone.SuspendLayout();
|
this.p_standalone.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.nud_timeout)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.nud_timeout_executable)).BeginInit();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// btn_save
|
// btn_save
|
||||||
@ -97,41 +98,80 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.btn_cancel.Text = "&Back";
|
this.btn_cancel.Text = "&Back";
|
||||||
this.btn_cancel.UseVisualStyleBackColor = true;
|
this.btn_cancel.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// g_temp
|
// g_temporary
|
||||||
//
|
//
|
||||||
this.g_temp.Controls.Add(this.p_steam);
|
this.g_temporary.Controls.Add(this.p_game);
|
||||||
this.g_temp.Controls.Add(this.p_standalone);
|
this.g_temporary.Controls.Add(this.p_standalone);
|
||||||
this.g_temp.Controls.Add(this.rb_launcher);
|
this.g_temporary.Controls.Add(this.rb_launcher);
|
||||||
this.g_temp.Controls.Add(this.rb_standalone);
|
this.g_temporary.Controls.Add(this.rb_standalone);
|
||||||
this.g_temp.Enabled = false;
|
this.g_temporary.Location = new System.Drawing.Point(12, 388);
|
||||||
this.g_temp.Location = new System.Drawing.Point(12, 388);
|
this.g_temporary.Name = "g_temporary";
|
||||||
this.g_temp.Name = "g_temp";
|
this.g_temporary.Size = new System.Drawing.Size(786, 355);
|
||||||
this.g_temp.Size = new System.Drawing.Size(786, 355);
|
this.g_temporary.TabIndex = 4;
|
||||||
this.g_temp.TabIndex = 4;
|
this.g_temporary.TabStop = false;
|
||||||
this.g_temp.TabStop = false;
|
this.g_temporary.Text = "Application or Game Information";
|
||||||
this.g_temp.Text = "Application or Game Information";
|
|
||||||
//
|
//
|
||||||
// p_steam
|
// p_game
|
||||||
//
|
//
|
||||||
this.p_steam.Controls.Add(this.textBox2);
|
this.p_game.Controls.Add(this.txt_game_name);
|
||||||
this.p_steam.Controls.Add(this.nud_appid);
|
this.p_game.Controls.Add(this.nud_game_appid);
|
||||||
this.p_steam.Controls.Add(this.cb_game_launcher);
|
this.p_game.Controls.Add(this.cmb_game_launcher);
|
||||||
this.p_steam.Controls.Add(this.label6);
|
this.p_game.Controls.Add(this.label6);
|
||||||
this.p_steam.Controls.Add(this.label4);
|
this.p_game.Controls.Add(this.label4);
|
||||||
this.p_steam.Controls.Add(this.btn_choose_game);
|
this.p_game.Controls.Add(this.btn_choose_game);
|
||||||
this.p_steam.Controls.Add(this.label1);
|
this.p_game.Controls.Add(this.label1);
|
||||||
this.p_steam.Controls.Add(this.treeView1);
|
this.p_game.Controls.Add(this.tree_games);
|
||||||
this.p_steam.Controls.Add(this.textBox1);
|
this.p_game.Controls.Add(this.txt_args_game);
|
||||||
this.p_steam.Controls.Add(this.cb_arg_launcher);
|
this.p_game.Controls.Add(this.cb_args_game);
|
||||||
this.p_steam.Controls.Add(this.nud_steamapps);
|
this.p_game.Controls.Add(this.nud_steamapps);
|
||||||
this.p_steam.Controls.Add(this.label5);
|
this.p_game.Controls.Add(this.label5);
|
||||||
this.p_steam.Controls.Add(this.nud_steamtimeout);
|
this.p_game.Controls.Add(this.nud_timeout_game);
|
||||||
this.p_steam.Controls.Add(this.label3);
|
this.p_game.Controls.Add(this.label3);
|
||||||
this.p_steam.Enabled = false;
|
this.p_game.Enabled = false;
|
||||||
this.p_steam.Location = new System.Drawing.Point(26, 198);
|
this.p_game.Location = new System.Drawing.Point(26, 198);
|
||||||
this.p_steam.Name = "p_steam";
|
this.p_game.Name = "p_game";
|
||||||
this.p_steam.Size = new System.Drawing.Size(730, 145);
|
this.p_game.Size = new System.Drawing.Size(730, 145);
|
||||||
this.p_steam.TabIndex = 3;
|
this.p_game.TabIndex = 3;
|
||||||
|
//
|
||||||
|
// txt_game_name
|
||||||
|
//
|
||||||
|
this.txt_game_name.Location = new System.Drawing.Point(408, 73);
|
||||||
|
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);
|
||||||
|
this.txt_game_name.TabIndex = 21;
|
||||||
|
//
|
||||||
|
// nud_game_appid
|
||||||
|
//
|
||||||
|
this.nud_game_appid.Enabled = false;
|
||||||
|
this.nud_game_appid.Location = new System.Drawing.Point(408, 45);
|
||||||
|
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.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.Name = "cmb_game_launcher";
|
||||||
|
this.cmb_game_launcher.Size = new System.Drawing.Size(163, 21);
|
||||||
|
this.cmb_game_launcher.TabIndex = 20;
|
||||||
//
|
//
|
||||||
// label6
|
// label6
|
||||||
//
|
//
|
||||||
@ -161,31 +201,42 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.btn_choose_game.Text = ">>";
|
this.btn_choose_game.Text = ">>";
|
||||||
this.btn_choose_game.UseVisualStyleBackColor = true;
|
this.btn_choose_game.UseVisualStyleBackColor = true;
|
||||||
//
|
//
|
||||||
// treeView1
|
// label1
|
||||||
//
|
//
|
||||||
this.treeView1.Location = new System.Drawing.Point(6, 19);
|
this.label1.AutoSize = true;
|
||||||
this.treeView1.Name = "treeView1";
|
this.label1.BackColor = System.Drawing.Color.Transparent;
|
||||||
this.treeView1.Size = new System.Drawing.Size(212, 120);
|
this.label1.Location = new System.Drawing.Point(72, 11);
|
||||||
this.treeView1.TabIndex = 14;
|
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;
|
||||||
//
|
//
|
||||||
// textBox1
|
// tree_games
|
||||||
//
|
//
|
||||||
this.textBox1.Enabled = false;
|
this.tree_games.Location = new System.Drawing.Point(6, 19);
|
||||||
this.textBox1.Location = new System.Drawing.Point(408, 100);
|
this.tree_games.Name = "tree_games";
|
||||||
this.textBox1.Name = "textBox1";
|
this.tree_games.Size = new System.Drawing.Size(212, 120);
|
||||||
this.textBox1.Size = new System.Drawing.Size(302, 20);
|
this.tree_games.TabIndex = 14;
|
||||||
this.textBox1.TabIndex = 13;
|
|
||||||
//
|
//
|
||||||
// cb_arg_launcher
|
// txt_args_game
|
||||||
//
|
//
|
||||||
this.cb_arg_launcher.AutoSize = true;
|
this.txt_args_game.Enabled = false;
|
||||||
this.cb_arg_launcher.Location = new System.Drawing.Point(265, 102);
|
this.txt_args_game.Location = new System.Drawing.Point(408, 100);
|
||||||
this.cb_arg_launcher.Name = "cb_arg_launcher";
|
this.txt_args_game.Name = "txt_args_game";
|
||||||
this.cb_arg_launcher.Size = new System.Drawing.Size(147, 17);
|
this.txt_args_game.Size = new System.Drawing.Size(302, 20);
|
||||||
this.cb_arg_launcher.TabIndex = 12;
|
this.txt_args_game.TabIndex = 13;
|
||||||
this.cb_arg_launcher.Text = "Pass arguments to Game:";
|
//
|
||||||
this.cb_arg_launcher.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
// cb_args_game
|
||||||
this.cb_arg_launcher.UseVisualStyleBackColor = true;
|
//
|
||||||
|
this.cb_args_game.AutoSize = true;
|
||||||
|
this.cb_args_game.Location = new System.Drawing.Point(265, 102);
|
||||||
|
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;
|
||||||
//
|
//
|
||||||
// nud_steamapps
|
// nud_steamapps
|
||||||
//
|
//
|
||||||
@ -195,7 +246,6 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.nud_steamapps.TabIndex = 2;
|
this.nud_steamapps.TabIndex = 2;
|
||||||
this.nud_steamapps.Text = "...";
|
this.nud_steamapps.Text = "...";
|
||||||
this.nud_steamapps.UseVisualStyleBackColor = true;
|
this.nud_steamapps.UseVisualStyleBackColor = true;
|
||||||
this.nud_steamapps.Click += new System.EventHandler(this.nud_steamapps_Click);
|
|
||||||
//
|
//
|
||||||
// label5
|
// label5
|
||||||
//
|
//
|
||||||
@ -206,27 +256,28 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.label5.TabIndex = 4;
|
this.label5.TabIndex = 4;
|
||||||
this.label5.Text = "Timeout:";
|
this.label5.Text = "Timeout:";
|
||||||
//
|
//
|
||||||
// nud_steamtimeout
|
// nud_timeout_game
|
||||||
//
|
//
|
||||||
this.nud_steamtimeout.Location = new System.Drawing.Point(640, 17);
|
this.nud_timeout_game.Location = new System.Drawing.Point(640, 17);
|
||||||
this.nud_steamtimeout.Maximum = new decimal(new int[] {
|
this.nud_timeout_game.Maximum = new decimal(new int[] {
|
||||||
240,
|
240,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0});
|
0});
|
||||||
this.nud_steamtimeout.Minimum = new decimal(new int[] {
|
this.nud_timeout_game.Minimum = new decimal(new int[] {
|
||||||
5,
|
5,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0});
|
0});
|
||||||
this.nud_steamtimeout.Name = "nud_steamtimeout";
|
this.nud_timeout_game.Name = "nud_timeout_game";
|
||||||
this.nud_steamtimeout.Size = new System.Drawing.Size(70, 20);
|
this.nud_timeout_game.Size = new System.Drawing.Size(70, 20);
|
||||||
this.nud_steamtimeout.TabIndex = 5;
|
this.nud_timeout_game.TabIndex = 5;
|
||||||
this.nud_steamtimeout.Value = new decimal(new int[] {
|
this.nud_timeout_game.Value = new decimal(new int[] {
|
||||||
120,
|
120,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0});
|
0});
|
||||||
|
this.nud_timeout_game.ValueChanged += new System.EventHandler(this.nud_timeout_game_ValueChanged);
|
||||||
//
|
//
|
||||||
// label3
|
// label3
|
||||||
//
|
//
|
||||||
@ -238,42 +289,19 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.label3.Text = "Game ID:";
|
this.label3.Text = "Game ID:";
|
||||||
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||||
//
|
//
|
||||||
// nud_appid
|
|
||||||
//
|
|
||||||
this.nud_appid.Location = new System.Drawing.Point(408, 45);
|
|
||||||
this.nud_appid.Maximum = new decimal(new int[] {
|
|
||||||
1410065407,
|
|
||||||
2,
|
|
||||||
0,
|
|
||||||
0});
|
|
||||||
this.nud_appid.Minimum = new decimal(new int[] {
|
|
||||||
1,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0});
|
|
||||||
this.nud_appid.Name = "nud_appid";
|
|
||||||
this.nud_appid.Size = new System.Drawing.Size(89, 20);
|
|
||||||
this.nud_appid.TabIndex = 1;
|
|
||||||
this.nud_appid.Value = new decimal(new int[] {
|
|
||||||
730,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0});
|
|
||||||
this.nud_appid.ValueChanged += new System.EventHandler(this.nud_steamappid_ValueChanged);
|
|
||||||
//
|
|
||||||
// p_standalone
|
// p_standalone
|
||||||
//
|
//
|
||||||
this.p_standalone.Controls.Add(this.txt_args_executable);
|
this.p_standalone.Controls.Add(this.txt_args_executable);
|
||||||
this.p_standalone.Controls.Add(this.cb_args_executable);
|
this.p_standalone.Controls.Add(this.cb_args_executable);
|
||||||
this.p_standalone.Controls.Add(this.btn_app_process);
|
this.p_standalone.Controls.Add(this.btn_app_process);
|
||||||
this.p_standalone.Controls.Add(this.txt_process);
|
this.p_standalone.Controls.Add(this.txt_process_name);
|
||||||
this.p_standalone.Controls.Add(this.rb_wait_process);
|
this.p_standalone.Controls.Add(this.rb_wait_process);
|
||||||
this.p_standalone.Controls.Add(this.rb_wait_executable);
|
this.p_standalone.Controls.Add(this.rb_wait_executable);
|
||||||
this.p_standalone.Controls.Add(this.btn_app_executable);
|
this.p_standalone.Controls.Add(this.btn_app_executable);
|
||||||
this.p_standalone.Controls.Add(this.txt_executable);
|
this.p_standalone.Controls.Add(this.txt_executable);
|
||||||
this.p_standalone.Controls.Add(this.lbl_app_executable);
|
this.p_standalone.Controls.Add(this.lbl_app_executable);
|
||||||
this.p_standalone.Controls.Add(this.label2);
|
this.p_standalone.Controls.Add(this.label2);
|
||||||
this.p_standalone.Controls.Add(this.nud_timeout);
|
this.p_standalone.Controls.Add(this.nud_timeout_executable);
|
||||||
this.p_standalone.Location = new System.Drawing.Point(26, 42);
|
this.p_standalone.Location = new System.Drawing.Point(26, 42);
|
||||||
this.p_standalone.Name = "p_standalone";
|
this.p_standalone.Name = "p_standalone";
|
||||||
this.p_standalone.Size = new System.Drawing.Size(730, 118);
|
this.p_standalone.Size = new System.Drawing.Size(730, 118);
|
||||||
@ -286,6 +314,7 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.txt_args_executable.Name = "txt_args_executable";
|
this.txt_args_executable.Name = "txt_args_executable";
|
||||||
this.txt_args_executable.Size = new System.Drawing.Size(520, 20);
|
this.txt_args_executable.Size = new System.Drawing.Size(520, 20);
|
||||||
this.txt_args_executable.TabIndex = 11;
|
this.txt_args_executable.TabIndex = 11;
|
||||||
|
this.txt_args_executable.TextChanged += new System.EventHandler(this.txt_args_executable_TextChanged);
|
||||||
//
|
//
|
||||||
// cb_args_executable
|
// cb_args_executable
|
||||||
//
|
//
|
||||||
@ -307,36 +336,39 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.btn_app_process.TabIndex = 9;
|
this.btn_app_process.TabIndex = 9;
|
||||||
this.btn_app_process.Text = "Choose";
|
this.btn_app_process.Text = "Choose";
|
||||||
this.btn_app_process.UseVisualStyleBackColor = true;
|
this.btn_app_process.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_app_process.Click += new System.EventHandler(this.btn_app_process_Click);
|
||||||
//
|
//
|
||||||
// txt_process
|
// txt_process_name
|
||||||
//
|
//
|
||||||
this.txt_process.Enabled = false;
|
this.txt_process_name.Enabled = false;
|
||||||
this.txt_process.Location = new System.Drawing.Point(323, 56);
|
this.txt_process_name.Location = new System.Drawing.Point(296, 56);
|
||||||
this.txt_process.Name = "txt_process";
|
this.txt_process_name.Name = "txt_process_name";
|
||||||
this.txt_process.Size = new System.Drawing.Size(198, 20);
|
this.txt_process_name.Size = new System.Drawing.Size(225, 20);
|
||||||
this.txt_process.TabIndex = 4;
|
this.txt_process_name.TabIndex = 4;
|
||||||
//
|
//
|
||||||
// rb_wait_process
|
// rb_wait_process
|
||||||
//
|
//
|
||||||
this.rb_wait_process.AutoSize = true;
|
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, 59);
|
||||||
this.rb_wait_process.Name = "rb_wait_process";
|
this.rb_wait_process.Name = "rb_wait_process";
|
||||||
this.rb_wait_process.Size = new System.Drawing.Size(311, 17);
|
this.rb_wait_process.Size = new System.Drawing.Size(296, 17);
|
||||||
this.rb_wait_process.TabIndex = 8;
|
this.rb_wait_process.TabIndex = 8;
|
||||||
this.rb_wait_process.TabStop = true;
|
this.rb_wait_process.Text = "Change Display Profile back when this process is closed: ";
|
||||||
this.rb_wait_process.Text = "Revert to default Display Profile when this process is closed: ";
|
|
||||||
this.rb_wait_process.UseVisualStyleBackColor = true;
|
this.rb_wait_process.UseVisualStyleBackColor = true;
|
||||||
|
this.rb_wait_process.CheckedChanged += new System.EventHandler(this.rb_wait_process_CheckedChanged);
|
||||||
//
|
//
|
||||||
// rb_wait_executable
|
// rb_wait_executable
|
||||||
//
|
//
|
||||||
this.rb_wait_executable.AutoSize = true;
|
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, 37);
|
||||||
this.rb_wait_executable.Name = "rb_wait_executable";
|
this.rb_wait_executable.Name = "rb_wait_executable";
|
||||||
this.rb_wait_executable.Size = new System.Drawing.Size(319, 17);
|
this.rb_wait_executable.Size = new System.Drawing.Size(304, 17);
|
||||||
this.rb_wait_executable.TabIndex = 7;
|
this.rb_wait_executable.TabIndex = 7;
|
||||||
this.rb_wait_executable.TabStop = true;
|
this.rb_wait_executable.TabStop = true;
|
||||||
this.rb_wait_executable.Text = "Revert to default Display Profile when the executable is closed";
|
this.rb_wait_executable.Text = "Change Display Profile back when the executable is closed";
|
||||||
this.rb_wait_executable.UseVisualStyleBackColor = true;
|
this.rb_wait_executable.UseVisualStyleBackColor = true;
|
||||||
|
this.rb_wait_executable.CheckedChanged += new System.EventHandler(this.rb_wait_executable_CheckedChanged);
|
||||||
//
|
//
|
||||||
// btn_app_executable
|
// btn_app_executable
|
||||||
//
|
//
|
||||||
@ -375,28 +407,29 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.label2.TabIndex = 5;
|
this.label2.TabIndex = 5;
|
||||||
this.label2.Text = "Timeout";
|
this.label2.Text = "Timeout";
|
||||||
//
|
//
|
||||||
// nud_timeout
|
// nud_timeout_executable
|
||||||
//
|
//
|
||||||
this.nud_timeout.Enabled = false;
|
this.nud_timeout_executable.Enabled = false;
|
||||||
this.nud_timeout.Location = new System.Drawing.Point(640, 6);
|
this.nud_timeout_executable.Location = new System.Drawing.Point(640, 6);
|
||||||
this.nud_timeout.Maximum = new decimal(new int[] {
|
this.nud_timeout_executable.Maximum = new decimal(new int[] {
|
||||||
240,
|
240,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0});
|
0});
|
||||||
this.nud_timeout.Minimum = new decimal(new int[] {
|
this.nud_timeout_executable.Minimum = new decimal(new int[] {
|
||||||
5,
|
5,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0});
|
0});
|
||||||
this.nud_timeout.Name = "nud_timeout";
|
this.nud_timeout_executable.Name = "nud_timeout_executable";
|
||||||
this.nud_timeout.Size = new System.Drawing.Size(70, 20);
|
this.nud_timeout_executable.Size = new System.Drawing.Size(70, 20);
|
||||||
this.nud_timeout.TabIndex = 6;
|
this.nud_timeout_executable.TabIndex = 6;
|
||||||
this.nud_timeout.Value = new decimal(new int[] {
|
this.nud_timeout_executable.Value = new decimal(new int[] {
|
||||||
30,
|
30,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0});
|
0});
|
||||||
|
this.nud_timeout_executable.ValueChanged += new System.EventHandler(this.nud_timeout_executable_ValueChanged);
|
||||||
//
|
//
|
||||||
// rb_launcher
|
// rb_launcher
|
||||||
//
|
//
|
||||||
@ -407,7 +440,7 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.rb_launcher.TabIndex = 2;
|
this.rb_launcher.TabIndex = 2;
|
||||||
this.rb_launcher.Text = "Launch Game already installed by Steam or Uplay";
|
this.rb_launcher.Text = "Launch Game already installed by Steam or Uplay";
|
||||||
this.rb_launcher.UseVisualStyleBackColor = true;
|
this.rb_launcher.UseVisualStyleBackColor = true;
|
||||||
this.rb_launcher.CheckedChanged += new System.EventHandler(this.Controls_CheckedChanged);
|
this.rb_launcher.CheckedChanged += new System.EventHandler(this.rb_launcher_CheckedChanged);
|
||||||
//
|
//
|
||||||
// rb_standalone
|
// rb_standalone
|
||||||
//
|
//
|
||||||
@ -420,7 +453,7 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.rb_standalone.TabStop = true;
|
this.rb_standalone.TabStop = true;
|
||||||
this.rb_standalone.Text = "Standalone Application or Game";
|
this.rb_standalone.Text = "Standalone Application or Game";
|
||||||
this.rb_standalone.UseVisualStyleBackColor = true;
|
this.rb_standalone.UseVisualStyleBackColor = true;
|
||||||
this.rb_standalone.CheckedChanged += new System.EventHandler(this.Controls_CheckedChanged);
|
this.rb_standalone.CheckedChanged += new System.EventHandler(this.rb_standalone_CheckedChanged);
|
||||||
//
|
//
|
||||||
// dv_profile
|
// dv_profile
|
||||||
//
|
//
|
||||||
@ -463,7 +496,7 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.rb_switch_perm.TabIndex = 7;
|
this.rb_switch_perm.TabIndex = 7;
|
||||||
this.rb_switch_perm.Text = "Switch to the Display Profile permanently";
|
this.rb_switch_perm.Text = "Switch to the Display Profile permanently";
|
||||||
this.rb_switch_perm.UseVisualStyleBackColor = true;
|
this.rb_switch_perm.UseVisualStyleBackColor = true;
|
||||||
this.rb_switch_perm.CheckedChanged += new System.EventHandler(this.rb_switch_temp_CheckedChanged);
|
this.rb_switch_perm.CheckedChanged += new System.EventHandler(this.rb_switch_perm_CheckedChanged);
|
||||||
//
|
//
|
||||||
// rb_switch_temp
|
// rb_switch_temp
|
||||||
//
|
//
|
||||||
@ -478,33 +511,10 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.rb_switch_temp.UseVisualStyleBackColor = true;
|
this.rb_switch_temp.UseVisualStyleBackColor = true;
|
||||||
this.rb_switch_temp.CheckedChanged += new System.EventHandler(this.rb_switch_temp_CheckedChanged);
|
this.rb_switch_temp.CheckedChanged += new System.EventHandler(this.rb_switch_temp_CheckedChanged);
|
||||||
//
|
//
|
||||||
// cb_game_launcher
|
// openFileDialog1
|
||||||
//
|
//
|
||||||
this.cb_game_launcher.FormattingEnabled = true;
|
this.openFileDialog1.FileName = "openFileDialog1";
|
||||||
this.cb_game_launcher.Location = new System.Drawing.Point(408, 18);
|
this.openFileDialog1.Title = "Title";
|
||||||
this.cb_game_launcher.Name = "cb_game_launcher";
|
|
||||||
this.cb_game_launcher.Size = new System.Drawing.Size(163, 21);
|
|
||||||
this.cb_game_launcher.TabIndex = 20;
|
|
||||||
//
|
|
||||||
// label1
|
|
||||||
//
|
|
||||||
this.label1.AutoSize = true;
|
|
||||||
this.label1.BackColor = System.Drawing.Color.Transparent;
|
|
||||||
this.label1.Location = new System.Drawing.Point(72, 11);
|
|
||||||
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;
|
|
||||||
this.label1.Click += new System.EventHandler(this.label1_Click);
|
|
||||||
//
|
|
||||||
// textBox2
|
|
||||||
//
|
|
||||||
this.textBox2.Location = new System.Drawing.Point(408, 73);
|
|
||||||
this.textBox2.Name = "textBox2";
|
|
||||||
this.textBox2.ReadOnly = true;
|
|
||||||
this.textBox2.Size = new System.Drawing.Size(302, 20);
|
|
||||||
this.textBox2.TabIndex = 21;
|
|
||||||
//
|
//
|
||||||
// ShortcutForm
|
// ShortcutForm
|
||||||
//
|
//
|
||||||
@ -516,7 +526,7 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.ClientSize = new System.Drawing.Size(810, 782);
|
this.ClientSize = new System.Drawing.Size(810, 782);
|
||||||
this.Controls.Add(this.rb_switch_temp);
|
this.Controls.Add(this.rb_switch_temp);
|
||||||
this.Controls.Add(this.rb_switch_perm);
|
this.Controls.Add(this.rb_switch_perm);
|
||||||
this.Controls.Add(this.g_temp);
|
this.Controls.Add(this.g_temporary);
|
||||||
this.Controls.Add(this.btn_cancel);
|
this.Controls.Add(this.btn_cancel);
|
||||||
this.Controls.Add(this.btn_save);
|
this.Controls.Add(this.btn_save);
|
||||||
this.Controls.Add(this.dv_profile);
|
this.Controls.Add(this.dv_profile);
|
||||||
@ -528,15 +538,16 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
this.ShowIcon = false;
|
this.ShowIcon = false;
|
||||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||||
this.Text = "Create Shortcut";
|
this.Text = "Create Shortcut";
|
||||||
this.g_temp.ResumeLayout(false);
|
this.Load += new System.EventHandler(this.ShortcutForm_Load);
|
||||||
this.g_temp.PerformLayout();
|
this.g_temporary.ResumeLayout(false);
|
||||||
this.p_steam.ResumeLayout(false);
|
this.g_temporary.PerformLayout();
|
||||||
this.p_steam.PerformLayout();
|
this.p_game.ResumeLayout(false);
|
||||||
((System.ComponentModel.ISupportInitialize)(this.nud_steamtimeout)).EndInit();
|
this.p_game.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.nud_appid)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.nud_game_appid)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.nud_timeout_game)).EndInit();
|
||||||
this.p_standalone.ResumeLayout(false);
|
this.p_standalone.ResumeLayout(false);
|
||||||
this.p_standalone.PerformLayout();
|
this.p_standalone.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.nud_timeout)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.nud_timeout_executable)).EndInit();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
||||||
@ -547,21 +558,21 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
private DisplayView dv_profile;
|
private DisplayView dv_profile;
|
||||||
private System.Windows.Forms.Button btn_save;
|
private System.Windows.Forms.Button btn_save;
|
||||||
private System.Windows.Forms.Button btn_cancel;
|
private System.Windows.Forms.Button btn_cancel;
|
||||||
private System.Windows.Forms.GroupBox g_temp;
|
private System.Windows.Forms.GroupBox g_temporary;
|
||||||
private System.Windows.Forms.RadioButton rb_standalone;
|
private System.Windows.Forms.RadioButton rb_standalone;
|
||||||
private System.Windows.Forms.Label label2;
|
private System.Windows.Forms.Label label2;
|
||||||
private System.Windows.Forms.NumericUpDown nud_timeout;
|
private System.Windows.Forms.NumericUpDown nud_timeout_executable;
|
||||||
private System.Windows.Forms.Panel p_standalone;
|
private System.Windows.Forms.Panel p_standalone;
|
||||||
private System.Windows.Forms.Button btn_app_executable;
|
private System.Windows.Forms.Button btn_app_executable;
|
||||||
private System.Windows.Forms.TextBox txt_executable;
|
private System.Windows.Forms.TextBox txt_executable;
|
||||||
private System.Windows.Forms.Label lbl_app_executable;
|
private System.Windows.Forms.Label lbl_app_executable;
|
||||||
private System.Windows.Forms.TextBox txt_process;
|
private System.Windows.Forms.TextBox txt_process_name;
|
||||||
private System.Windows.Forms.RadioButton rb_launcher;
|
private System.Windows.Forms.RadioButton rb_launcher;
|
||||||
private System.Windows.Forms.Panel p_steam;
|
private System.Windows.Forms.Panel p_game;
|
||||||
private System.Windows.Forms.Label label3;
|
private System.Windows.Forms.Label label3;
|
||||||
private System.Windows.Forms.NumericUpDown nud_appid;
|
private System.Windows.Forms.NumericUpDown nud_game_appid;
|
||||||
private System.Windows.Forms.Label label5;
|
private System.Windows.Forms.Label label5;
|
||||||
private System.Windows.Forms.NumericUpDown nud_steamtimeout;
|
private System.Windows.Forms.NumericUpDown nud_timeout_game;
|
||||||
private System.Windows.Forms.Button nud_steamapps;
|
private System.Windows.Forms.Button nud_steamapps;
|
||||||
private System.Windows.Forms.OpenFileDialog dialog_open;
|
private System.Windows.Forms.OpenFileDialog dialog_open;
|
||||||
private System.Windows.Forms.SaveFileDialog dialog_save;
|
private System.Windows.Forms.SaveFileDialog dialog_save;
|
||||||
@ -570,16 +581,17 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
private System.Windows.Forms.RadioButton rb_wait_process;
|
private System.Windows.Forms.RadioButton rb_wait_process;
|
||||||
private System.Windows.Forms.RadioButton rb_wait_executable;
|
private System.Windows.Forms.RadioButton rb_wait_executable;
|
||||||
private System.Windows.Forms.Button btn_app_process;
|
private System.Windows.Forms.Button btn_app_process;
|
||||||
private System.Windows.Forms.TextBox textBox1;
|
private System.Windows.Forms.TextBox txt_args_game;
|
||||||
private System.Windows.Forms.CheckBox cb_arg_launcher;
|
private System.Windows.Forms.CheckBox cb_args_game;
|
||||||
private System.Windows.Forms.TextBox txt_args_executable;
|
private System.Windows.Forms.TextBox txt_args_executable;
|
||||||
private System.Windows.Forms.CheckBox cb_args_executable;
|
private System.Windows.Forms.CheckBox cb_args_executable;
|
||||||
private System.Windows.Forms.TreeView treeView1;
|
private System.Windows.Forms.TreeView tree_games;
|
||||||
private System.Windows.Forms.Label label6;
|
private System.Windows.Forms.Label label6;
|
||||||
private System.Windows.Forms.Label label4;
|
private System.Windows.Forms.Label label4;
|
||||||
private System.Windows.Forms.Button btn_choose_game;
|
private System.Windows.Forms.Button btn_choose_game;
|
||||||
private System.Windows.Forms.ComboBox cb_game_launcher;
|
private System.Windows.Forms.ComboBox cmb_game_launcher;
|
||||||
private System.Windows.Forms.Label label1;
|
private System.Windows.Forms.Label label1;
|
||||||
private System.Windows.Forms.TextBox textBox2;
|
private System.Windows.Forms.TextBox txt_game_name;
|
||||||
|
private System.Windows.Forms.OpenFileDialog openFileDialog1;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -8,6 +8,7 @@ using System.Windows.Forms;
|
|||||||
using HeliosDisplayManagement.Resources;
|
using HeliosDisplayManagement.Resources;
|
||||||
using HeliosDisplayManagement.Shared;
|
using HeliosDisplayManagement.Shared;
|
||||||
using HeliosDisplayManagement.Steam;
|
using HeliosDisplayManagement.Steam;
|
||||||
|
using NvAPIWrapper.Native.GPU;
|
||||||
|
|
||||||
namespace HeliosDisplayManagement.UIForms
|
namespace HeliosDisplayManagement.UIForms
|
||||||
{
|
{
|
||||||
@ -23,29 +24,6 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
Profile = profile;
|
Profile = profile;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Arguments
|
|
||||||
{
|
|
||||||
get => rb_args.Checked ? txt_args_executable.Text : string.Empty;
|
|
||||||
set
|
|
||||||
{
|
|
||||||
txt_args_executable.Text = value;
|
|
||||||
rb_args.Checked = !string.IsNullOrWhiteSpace(txt_args_executable.Text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public string FileName
|
|
||||||
{
|
|
||||||
get => cb_temp.Checked && rb_standalone.Checked ? txt_executable.Text : string.Empty;
|
|
||||||
set
|
|
||||||
{
|
|
||||||
if (!string.IsNullOrWhiteSpace(value))
|
|
||||||
{
|
|
||||||
cb_temp.Checked = true;
|
|
||||||
rb_standalone.Checked = true;
|
|
||||||
txt_executable.Text = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string IconCache
|
public static string IconCache
|
||||||
{
|
{
|
||||||
@ -53,13 +31,25 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
Assembly.GetExecutingAssembly().GetName().Name, @"IconCache");
|
Assembly.GetExecutingAssembly().GetName().Name, @"IconCache");
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ProcessName
|
public string ProcessNameToMonitor
|
||||||
{
|
{
|
||||||
get => cb_temp.Checked && rb_standalone.Checked && cb_process.Checked ? txt_process.Text : string.Empty;
|
get
|
||||||
|
{
|
||||||
|
if (rb_switch_temp.Checked && rb_standalone.Checked) {
|
||||||
|
if (rb_wait_executable.Checked)
|
||||||
|
{
|
||||||
|
return txt_process_name.Text;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
txt_process.Text = value;
|
if (File.Exists(txt_executable.Text))
|
||||||
cb_process.Checked = !string.IsNullOrWhiteSpace(txt_process.Text);
|
{
|
||||||
|
txt_process_name.Text = value;
|
||||||
|
rb_wait_executable.Checked = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,51 +59,121 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
set => dv_profile.Profile = value;
|
set => dv_profile.Profile = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public uint SteamAppId
|
|
||||||
|
public string ExecutableNameAndPath
|
||||||
{
|
{
|
||||||
get => cb_temp.Checked && rb_launcher.Checked ? (uint) nud_appid.Value : 0;
|
get => rb_switch_temp.Checked && rb_launcher.Checked ? txt_executable.Text : string.Empty;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (value > 0)
|
if (File.Exists(txt_executable.Text))
|
||||||
{
|
{
|
||||||
cb_temp.Checked = true;
|
rb_switch_temp.Checked = true;
|
||||||
rb_launcher.Checked = true;
|
rb_launcher.Checked = true;
|
||||||
nud_appid.Value = value;
|
txt_executable.Text = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public uint Timeout
|
public uint ExecutableTimeout
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (!cb_temp.Checked)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!rb_standalone.Checked)
|
if (rb_wait_executable.Checked)
|
||||||
{
|
{
|
||||||
return (uint) nud_steamtimeout.Value;
|
return (uint)nud_timeout_executable.Value;
|
||||||
}
|
|
||||||
|
|
||||||
if (cb_process.Checked)
|
|
||||||
{
|
|
||||||
return (uint) nud_timeout.Value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (value > 0)
|
nud_timeout_executable.Value = value;
|
||||||
{
|
|
||||||
nud_timeout.Value = value;
|
|
||||||
nud_steamtimeout.Value = value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string ExecutableArguments
|
||||||
|
{
|
||||||
|
get => cb_args_executable.Checked ? txt_args_executable.Text : string.Empty;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
txt_args_executable.Text = value;
|
||||||
|
cb_args_executable.Checked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public uint GameAppId
|
||||||
|
{
|
||||||
|
get => rb_switch_temp.Checked && rb_launcher.Checked ? (uint) nud_game_appid.Value : 0;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
rb_switch_temp.Checked = true;
|
||||||
|
rb_launcher.Checked = true;
|
||||||
|
nud_game_appid.Value = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GameName
|
||||||
|
{
|
||||||
|
get => rb_switch_temp.Checked && rb_launcher.Checked ? txt_game_name.Text : string.Empty;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
rb_switch_temp.Checked = true;
|
||||||
|
rb_launcher.Checked = true;
|
||||||
|
txt_game_name.Text = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public SupportedGameLibrary GameLibrary
|
||||||
|
{
|
||||||
|
get => rb_switch_temp.Checked && rb_launcher.Checked ? (SupportedGameLibrary) nud_game_appid.Value : SupportedGameLibrary.Unknown;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
rb_switch_temp.Checked = true;
|
||||||
|
rb_launcher.Checked = true;
|
||||||
|
switch (value)
|
||||||
|
{
|
||||||
|
case SupportedGameLibrary.Steam:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SupportedGameLibrary.Uplay:
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
// TODO - If SupportedGameLibrary.Unknown; then we need to show an error message.
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public uint GameTimeout
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (rb_switch_temp.Checked && rb_launcher.Checked)
|
||||||
|
{
|
||||||
|
return (uint)nud_timeout_game.Value;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
nud_timeout_game.Value = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GameArguments
|
||||||
|
{
|
||||||
|
get => cb_args_game.Checked ? txt_args_game.Text : string.Empty;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
txt_args_game.Text = value;
|
||||||
|
cb_args_game.Checked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void btn_app_executable_Click(object sender, EventArgs e)
|
private void btn_app_executable_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (dialog_open.ShowDialog(this) == DialogResult.OK)
|
if (dialog_open.ShowDialog(this) == DialogResult.OK)
|
||||||
@ -169,24 +229,6 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Controls_CheckedChanged(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
g_temp.Enabled = cb_temp.Checked;
|
|
||||||
|
|
||||||
p_standalone.Enabled = rb_standalone.Checked;
|
|
||||||
txt_process.Enabled = cb_process.Checked;
|
|
||||||
nud_timeout.Enabled = cb_process.Checked;
|
|
||||||
|
|
||||||
p_steam.Enabled = rb_launcher.Checked;
|
|
||||||
|
|
||||||
txt_args_executable.Enabled = cb_args.Checked;
|
|
||||||
|
|
||||||
if (rb_launcher.Checked)
|
|
||||||
{
|
|
||||||
nud_steamappid_ValueChanged(rb_launcher, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReSharper disable once FunctionComplexityOverflow
|
// ReSharper disable once FunctionComplexityOverflow
|
||||||
// ReSharper disable once CyclomaticComplexity
|
// ReSharper disable once CyclomaticComplexity
|
||||||
private bool CreateShortcut(string fileName)
|
private bool CreateShortcut(string fileName)
|
||||||
@ -194,10 +236,13 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
var programName = Path.GetFileNameWithoutExtension(txt_executable.Text);
|
var programName = Path.GetFileNameWithoutExtension(txt_executable.Text);
|
||||||
var description = string.Empty;
|
var description = string.Empty;
|
||||||
var icon = string.Empty;
|
var icon = string.Empty;
|
||||||
|
|
||||||
var args = new List<string>
|
var args = new List<string>
|
||||||
{
|
{
|
||||||
$"-a {HeliosStartupAction.SwitchProfile}",
|
// Add the SwitchProfile command as the first argument to start to switch to another profile
|
||||||
$"-p \"{dv_profile.Profile.Id}\""
|
$"{HeliosStartupAction.SwitchProfile}",
|
||||||
|
// Add the Profile Name as the second argument (use that rather than ID - though ID still will work!)
|
||||||
|
$"--profile \"{dv_profile.Profile.Name}\""
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!Directory.Exists(IconCache))
|
if (!Directory.Exists(IconCache))
|
||||||
@ -212,30 +257,50 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cb_temp.Checked)
|
// Only add the rest of the options if the temporary switch radio button is set
|
||||||
|
if (rb_switch_temp.Checked)
|
||||||
{
|
{
|
||||||
|
// Only add this set of options if the standalone programme radio button is set
|
||||||
if (rb_standalone.Checked)
|
if (rb_standalone.Checked)
|
||||||
{
|
{
|
||||||
|
// Doublecheck the Executable text field is filled in
|
||||||
if (string.IsNullOrWhiteSpace(txt_executable.Text))
|
if (string.IsNullOrWhiteSpace(txt_executable.Text))
|
||||||
{
|
{
|
||||||
throw new Exception(Language.Executable_address_can_not_be_empty);
|
throw new Exception(Language.Executable_address_can_not_be_empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Doublecheck the Executable text field is a path to a real file
|
||||||
if (!File.Exists(txt_executable.Text))
|
if (!File.Exists(txt_executable.Text))
|
||||||
{
|
{
|
||||||
throw new Exception(Language.Executable_file_not_found);
|
throw new Exception(Language.Executable_file_not_found);
|
||||||
}
|
}
|
||||||
|
|
||||||
args.Add($"-e \"{txt_executable.Text.Trim()}\"");
|
// Add the executable command and the executable name to the shortcut arguments
|
||||||
|
args.Add($"execute \"{txt_executable.Text.Trim()}\"");
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(txt_process.Text))
|
// Check that the wait for executable radiobutton is on
|
||||||
|
if (rb_wait_executable.Checked)
|
||||||
{
|
{
|
||||||
args.Add($"-w \"{txt_process.Text.Trim()}\"");
|
// Doublecheck the process name has text in it
|
||||||
args.Add($"-t {(int) nud_timeout.Value}");
|
if (!string.IsNullOrWhiteSpace(txt_process_name.Text))
|
||||||
|
{
|
||||||
|
// Add the waitfor argument and the process name to the shortcut arguments
|
||||||
|
args.Add($"--waitfor \"{txt_process_name.Text.Trim()}\"");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add the timeout argument and the timeout duration in seconds to the shortcut arguments
|
||||||
|
args.Add($"--timeout {(int)nud_timeout_executable.Value}");
|
||||||
|
|
||||||
|
if (cb_args_executable.Checked && !string.IsNullOrWhiteSpace(txt_args_executable.Text))
|
||||||
|
{
|
||||||
|
args.Add($"--arguments \"{txt_args_executable.Text.Trim()}\"");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Prepare text for the shortcut description field
|
||||||
description = string.Format(Language.Executing_application_with_profile, programName, Profile.Name);
|
description = string.Format(Language.Executing_application_with_profile, programName, Profile.Name);
|
||||||
|
|
||||||
|
// Grab an icon for the selected executable
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
icon = Path.Combine(IconCache, Guid.NewGuid() + ".ico");
|
icon = Path.Combine(IconCache, Guid.NewGuid() + ".ico");
|
||||||
@ -247,20 +312,36 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
icon = $"{txt_executable.Text.Trim()},0";
|
icon = $"{txt_executable.Text.Trim()},0";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Only add the rest of the options if the temporary switch radio button is set
|
||||||
|
// and if the game launching radio button is set
|
||||||
else if (rb_launcher.Checked)
|
else if (rb_launcher.Checked)
|
||||||
{
|
{
|
||||||
|
// TODO need to make this work so at least one game library is installed
|
||||||
|
// i.e. if (!SteamGame.SteamInstalled && !UplayGame.UplayInstalled )
|
||||||
if (!SteamGame.SteamInstalled)
|
if (!SteamGame.SteamInstalled)
|
||||||
{
|
{
|
||||||
throw new Exception(Language.Steam_is_not_installed);
|
throw new Exception(Language.Steam_is_not_installed);
|
||||||
}
|
}
|
||||||
|
|
||||||
var steamGame = new SteamGame((uint) nud_appid.Value);
|
// TODO - Add in Uplay game as well depending on which one was requested
|
||||||
args.Add($"-s {(int) nud_appid.Value}");
|
// Add the Steam Game ID to the shortcut arguments
|
||||||
args.Add($"-t {(int) nud_steamtimeout.Value}");
|
var steamGame = new SteamGame((uint) nud_game_appid.Value);
|
||||||
|
args.Add($"--steam {(int) nud_game_appid.Value}");
|
||||||
|
|
||||||
|
// Add the game timeout argument and the timeout duration in seconds to the shortcut arguments
|
||||||
|
args.Add($"--timeout {(int) nud_timeout_game.Value}");
|
||||||
|
|
||||||
|
if (cb_args_game.Checked && !string.IsNullOrWhiteSpace(txt_args_game.Text))
|
||||||
|
{
|
||||||
|
args.Add($"--arguments \"{txt_args_game.Text.Trim()}\"");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Prepare text for the shortcut description field
|
||||||
description = string.Format(Language.Executing_application_with_profile, steamGame.Name,
|
description = string.Format(Language.Executing_application_with_profile, steamGame.Name,
|
||||||
Profile.Name);
|
Profile.Name);
|
||||||
var steamIcon = steamGame.GetIcon().Result;
|
var steamIcon = steamGame.GetIcon().Result;
|
||||||
|
|
||||||
|
// Grab an icon for the selected game
|
||||||
if (!string.IsNullOrWhiteSpace(steamIcon))
|
if (!string.IsNullOrWhiteSpace(steamIcon))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -280,15 +361,14 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cb_args.Checked && !string.IsNullOrWhiteSpace(txt_args_executable.Text))
|
|
||||||
{
|
|
||||||
args.Add($"--arguments \"{txt_args_executable.Text.Trim()}\"");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
// Only add the rest of the options if the permanent switch radio button is set
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// Prepare text for the shortcut description field
|
||||||
description = string.Format(Language.Switching_display_profile_to_profile, Profile.Name);
|
description = string.Format(Language.Switching_display_profile_to_profile, Profile.Name);
|
||||||
|
|
||||||
|
// Grab an icon for the selected profile
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
icon = Path.Combine(IconCache, Guid.NewGuid() + ".ico");
|
icon = Path.Combine(IconCache, Guid.NewGuid() + ".ico");
|
||||||
@ -300,8 +380,14 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO - Make this semi-automatic if its a game to be launched. Maybe still show
|
||||||
|
// a save prompt, but suggest the name of the game extracted from the game launcher
|
||||||
|
// or the executable itself.
|
||||||
|
|
||||||
|
// Now we are ready to create a shortcut based on the filename the user gave us
|
||||||
fileName = Path.ChangeExtension(fileName, @"lnk");
|
fileName = Path.ChangeExtension(fileName, @"lnk");
|
||||||
|
|
||||||
|
// If the user supplied a file
|
||||||
if (fileName != null)
|
if (fileName != null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -312,6 +398,7 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
File.Delete(fileName);
|
File.Delete(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Actually create the shortcut!
|
||||||
var wshShellType = Type.GetTypeFromCLSID(new Guid("72C24DD5-D70A-438B-8A42-98424B88AFB8"));
|
var wshShellType = Type.GetTypeFromCLSID(new Guid("72C24DD5-D70A-438B-8A42-98424B88AFB8"));
|
||||||
dynamic wshShell = Activator.CreateInstance(wshShellType);
|
dynamic wshShell = Activator.CreateInstance(wshShellType);
|
||||||
|
|
||||||
@ -354,29 +441,42 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return a status on how it went
|
||||||
|
// true if it was a success or false if it was not
|
||||||
return fileName != null && File.Exists(fileName);
|
return fileName != null && File.Exists(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void nud_steamappid_ValueChanged(object sender, EventArgs e)
|
private void nud_game_appid_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
lbl_steamname.Text = new SteamGame((uint) nud_appid.Value).ToString();
|
//lbl_steamname.Text = new SteamGame((uint) nud_game_appid.Value).ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void nud_steamapps_Click(object sender, EventArgs e)
|
/*private void nud_steamapps_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var steamGamesForm = new SteamGamesForm();
|
var steamGamesForm = new SteamGamesForm();
|
||||||
|
|
||||||
if (steamGamesForm.ShowDialog(this) == DialogResult.OK && steamGamesForm.SteamGame != null)
|
if (steamGamesForm.ShowDialog(this) == DialogResult.OK && steamGamesForm.SteamGame != null)
|
||||||
{
|
{
|
||||||
nud_appid.Value = steamGamesForm.SteamGame.AppId;
|
nud_game_appid.Value = steamGamesForm.SteamGame.AppId;
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
/* private void rb_wait_process_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (rb_wait_process.Checked)
|
||||||
|
{
|
||||||
|
// Enable the Process Name Text field
|
||||||
|
txt_process_name.Enabled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
private void txt_executable_TextChanged(object sender, EventArgs e)
|
private void txt_executable_TextChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
txt_process.Text = Path.GetFileNameWithoutExtension(txt_executable.Text)?.ToLower() ?? txt_process.Text;
|
txt_process_name.Text = Path.GetFileNameWithoutExtension(txt_executable.Text)?.ToLower() ?? txt_process_name.Text;
|
||||||
|
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
@ -384,22 +484,37 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void rb_switch_perm_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (rb_switch_perm.Checked)
|
||||||
|
{
|
||||||
|
// Disable the Temporary Group
|
||||||
|
g_temporary.Enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
private void rb_switch_temp_CheckedChanged(object sender, EventArgs e)
|
private void rb_switch_temp_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
g_temp.Enabled = rb_switch_temp.Checked;
|
if (rb_switch_temp.Checked)
|
||||||
|
{
|
||||||
|
// Enable the Temporary Group
|
||||||
|
g_temporary.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*g_temporary.Enabled = rb_switch_temp.Checked;
|
||||||
|
|
||||||
p_standalone.Enabled = rb_standalone.Checked;
|
p_standalone.Enabled = rb_standalone.Checked;
|
||||||
txt_process.Enabled = cb_process.Checked;
|
txt_process_name.Enabled = cb_process.Checked;
|
||||||
nud_timeout.Enabled = cb_process.Checked;
|
nud_timeout.Enabled = cb_process.Checked;
|
||||||
|
|
||||||
p_steam.Enabled = rb_launcher.Checked;
|
p_game.Enabled = rb_launcher.Checked;
|
||||||
|
|
||||||
txt_args_executable.Enabled = cb_args.Checked;
|
txt_args_executable.Enabled = cb_args.Checked;
|
||||||
|
|
||||||
if (rb_launcher.Checked)
|
if (rb_launcher.Checked)
|
||||||
{
|
{
|
||||||
nud_steamappid_ValueChanged(rb_launcher, e);
|
nud_steamappid_ValueChanged(rb_launcher, e);
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
private void label1_Click(object sender, EventArgs e)
|
private void label1_Click(object sender, EventArgs e)
|
||||||
@ -412,9 +527,150 @@ namespace HeliosDisplayManagement.UIForms
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void rb_standalone_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (rb_standalone.Checked)
|
||||||
|
{
|
||||||
|
// Enable the Standalone Panel
|
||||||
|
p_standalone.Enabled = true;
|
||||||
|
// Disable the Game Panel
|
||||||
|
p_game.Enabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void rb_launcher_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (rb_launcher.Checked)
|
||||||
|
{
|
||||||
|
// Enable the Game Panel
|
||||||
|
p_game.Enabled = true;
|
||||||
|
// Disable the Standalone Panel
|
||||||
|
p_standalone.Enabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void cb_args_executable_CheckedChanged(object sender, EventArgs e)
|
private void cb_args_executable_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
// Disable the Process Name Text field
|
||||||
|
if (cb_args_executable.Checked)
|
||||||
|
{
|
||||||
|
// Enable the Executable Arguments Text field
|
||||||
|
txt_args_executable.Enabled = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Disable the Executable Arguments Text field
|
||||||
|
txt_args_executable.Enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Start finding the games and loading the tree_games
|
||||||
|
/*foreach (var game in SteamGame.GetAllOwnedGames().OrderByDescending(game => game.IsInstalled).ThenBy(game => game.Name))
|
||||||
|
{
|
||||||
|
var iconAddress = await game.GetIcon();
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(iconAddress))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (var fileReader = File.OpenRead(iconAddress))
|
||||||
|
{
|
||||||
|
var icon = new Icon(fileReader, il_games.ImageSize);
|
||||||
|
il_games.Images.Add(icon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
il_games.Images.Add(Properties.Resources.SteamIcon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
il_games.Images.Add(Properties.Resources.SteamIcon);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Visible)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
lv_games.Items.Add(new ListViewItem
|
||||||
|
{
|
||||||
|
Text = game.Name,
|
||||||
|
Tag = game,
|
||||||
|
ImageIndex = il_games.Images.Count - 1
|
||||||
|
});
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
|
||||||
|
private void rb_wait_process_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (rb_wait_process.Checked)
|
||||||
|
{
|
||||||
|
// Enable the Process Name Text field
|
||||||
|
txt_process_name.Enabled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void rb_wait_executable_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (rb_wait_executable.Checked)
|
||||||
|
{
|
||||||
|
// Disable the Process Name Text field
|
||||||
|
txt_process_name.Enabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
if (dialog_open.ShowDialog(this) == DialogResult.OK)
|
||||||
|
{
|
||||||
|
if (File.Exists(dialog_open.FileName) && Path.GetExtension(dialog_open.FileName) == @".exe")
|
||||||
|
{
|
||||||
|
txt_process_name.Text = dialog_open.FileName;
|
||||||
|
dialog_open.FileName = string.Empty;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageBox.Show(
|
||||||
|
Language.Selected_file_is_not_a_valid_executable_file,
|
||||||
|
Language.Executable,
|
||||||
|
MessageBoxButtons.OK,
|
||||||
|
MessageBoxIcon.Exclamation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -123,6 +123,12 @@
|
|||||||
<metadata name="dialog_save.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
<metadata name="dialog_save.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
<value>258, 24</value>
|
<value>258, 24</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||||
|
<value>373, 24</value>
|
||||||
|
</metadata>
|
||||||
|
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>72</value>
|
||||||
|
</metadata>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
|
Loading…
Reference in New Issue
Block a user