move game launcher to separate panel

This commit is contained in:
Vincent Maas committed 2023-03-04 13:15:21 +01:00
1 parent 04c6be729f
commit dd64ba491b
6 files changed
+1059 -852

No files matched your search

-432
View File
@@ -94,37 +94,6 @@
this.clbLgPower = new System.Windows.Forms.CheckedListBox();
this.lblLgError = new System.Windows.Forms.Label();
this.tabGameLauncher = new System.Windows.Forms.TabPage();
this.cbxGameStepType = new System.Windows.Forms.ComboBox();
this.btnGameOptions = new System.Windows.Forms.Button();
this.mnuGameOptions = new System.Windows.Forms.ContextMenuStrip(this.components);
this.miGameProcessorAffinity = new System.Windows.Forms.ToolStripMenuItem();
this.miGameProcessPriority = new System.Windows.Forms.ToolStripMenuItem();
this.chkGameQuickAccess = new System.Windows.Forms.CheckBox();
this.btnGameSettings = new System.Windows.Forms.Button();
this.mnuGameActions = new System.Windows.Forms.ContextMenuStrip(this.components);
this.mnuGameNvInspector = new System.Windows.Forms.ToolStripMenuItem();
this.miGameSetQuickAccessShortcut = new System.Windows.Forms.ToolStripMenuItem();
this.chkGameRunAsAdmin = new System.Windows.Forms.CheckBox();
this.lblGameParameters = new System.Windows.Forms.Label();
this.edtGameParameters = new System.Windows.Forms.TextBox();
this.btnGameBrowse = new System.Windows.Forms.Button();
this.lblGameFilePath = new System.Windows.Forms.Label();
this.edtGamePath = new System.Windows.Forms.TextBox();
this.edtGamePrelaunchSteps = new System.Windows.Forms.TextBox();
this.btnGameAddStep = new System.Windows.Forms.Button();
this.mnuGameAddStep = new System.Windows.Forms.ContextMenuStrip(this.components);
this.mnuGameNvidiaPresets = new System.Windows.Forms.ToolStripMenuItem();
this.mnuGameAmdPresets = new System.Windows.Forms.ToolStripMenuItem();
this.mnuGameLgPresets = new System.Windows.Forms.ToolStripMenuItem();
this.mnuGameStartProgram = new System.Windows.Forms.ToolStripMenuItem();
this.label4 = new System.Windows.Forms.Label();
this.edtGameName = new System.Windows.Forms.TextBox();
this.btnGameDelete = new System.Windows.Forms.Button();
this.btnGameClone = new System.Windows.Forms.Button();
this.btnGameSave = new System.Windows.Forms.Button();
this.btnGameAdd = new System.Windows.Forms.Button();
this.btnGameLaunch = new System.Windows.Forms.Button();
this.lvGamePresets = new System.Windows.Forms.ListView();
this.tabOptions = new System.Windows.Forms.TabPage();
this.grpNvidiaOptions = new System.Windows.Forms.GroupBox();
this.lblDitheringDisplay = new System.Windows.Forms.Label();
@@ -190,10 +159,6 @@
this.scLgController.SuspendLayout();
this.mnuLgExpert.SuspendLayout();
this.mnuLgButtons.SuspendLayout();
this.tabGameLauncher.SuspendLayout();
this.mnuGameOptions.SuspendLayout();
this.mnuGameActions.SuspendLayout();
this.mnuGameAddStep.SuspendLayout();
this.tabOptions.SuspendLayout();
this.grpNvidiaOptions.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pbGradient)).BeginInit();
@@ -984,26 +949,6 @@
//
// tabGameLauncher
//
this.tabGameLauncher.Controls.Add(this.cbxGameStepType);
this.tabGameLauncher.Controls.Add(this.btnGameOptions);
this.tabGameLauncher.Controls.Add(this.chkGameQuickAccess);
this.tabGameLauncher.Controls.Add(this.btnGameSettings);
this.tabGameLauncher.Controls.Add(this.chkGameRunAsAdmin);
this.tabGameLauncher.Controls.Add(this.lblGameParameters);
this.tabGameLauncher.Controls.Add(this.edtGameParameters);
this.tabGameLauncher.Controls.Add(this.btnGameBrowse);
this.tabGameLauncher.Controls.Add(this.lblGameFilePath);
this.tabGameLauncher.Controls.Add(this.edtGamePath);
this.tabGameLauncher.Controls.Add(this.edtGamePrelaunchSteps);
this.tabGameLauncher.Controls.Add(this.btnGameAddStep);
this.tabGameLauncher.Controls.Add(this.label4);
this.tabGameLauncher.Controls.Add(this.edtGameName);
this.tabGameLauncher.Controls.Add(this.btnGameDelete);
this.tabGameLauncher.Controls.Add(this.btnGameClone);
this.tabGameLauncher.Controls.Add(this.btnGameSave);
this.tabGameLauncher.Controls.Add(this.btnGameAdd);
this.tabGameLauncher.Controls.Add(this.btnGameLaunch);
this.tabGameLauncher.Controls.Add(this.lvGamePresets);
this.tabGameLauncher.Location = new System.Drawing.Point(4, 24);
this.tabGameLauncher.Name = "tabGameLauncher";
this.tabGameLauncher.Padding = new System.Windows.Forms.Padding(3);
@@ -1012,347 +957,6 @@
this.tabGameLauncher.Text = "Game Launcher";
this.tabGameLauncher.UseVisualStyleBackColor = true;
//
// cbxGameStepType
//
this.cbxGameStepType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.cbxGameStepType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbxGameStepType.Enabled = false;
this.cbxGameStepType.FormattingEnabled = true;
this.cbxGameStepType.Location = new System.Drawing.Point(10, 474);
this.cbxGameStepType.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.cbxGameStepType.Name = "cbxGameStepType";
this.cbxGameStepType.Size = new System.Drawing.Size(136, 23);
this.cbxGameStepType.TabIndex = 46;
this.cbxGameStepType.SelectedIndexChanged += new System.EventHandler(this.cbxGameStepType_SelectedIndexChanged);
//
// btnGameOptions
//
this.btnGameOptions.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameOptions.ContextMenuStrip = this.mnuGameOptions;
this.btnGameOptions.Enabled = false;
this.btnGameOptions.Location = new System.Drawing.Point(785, 439);
this.btnGameOptions.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameOptions.Name = "btnGameOptions";
this.btnGameOptions.Size = new System.Drawing.Size(88, 27);
this.btnGameOptions.TabIndex = 45;
this.btnGameOptions.Text = "Options...";
this.btnGameOptions.UseVisualStyleBackColor = true;
this.btnGameOptions.Click += new System.EventHandler(this.btnGameOptions_Click);
//
// mnuGameOptions
//
this.mnuGameOptions.ImageScalingSize = new System.Drawing.Size(20, 20);
this.mnuGameOptions.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.miGameProcessorAffinity,
this.miGameProcessPriority});
this.mnuGameOptions.Name = "mnuLgButtons";
this.mnuGameOptions.Size = new System.Drawing.Size(166, 48);
//
// miGameProcessorAffinity
//
this.miGameProcessorAffinity.Name = "miGameProcessorAffinity";
this.miGameProcessorAffinity.Size = new System.Drawing.Size(165, 22);
this.miGameProcessorAffinity.Text = "Processor affinity";
this.miGameProcessorAffinity.Click += new System.EventHandler(this.btnGameProcessAffinity_Click);
//
// miGameProcessPriority
//
this.miGameProcessPriority.Name = "miGameProcessPriority";
this.miGameProcessPriority.Size = new System.Drawing.Size(165, 22);
this.miGameProcessPriority.Text = "Process priority";
this.miGameProcessPriority.Click += new System.EventHandler(this.miGameProcessPriority_Click);
//
// chkGameQuickAccess
//
this.chkGameQuickAccess.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.chkGameQuickAccess.AutoSize = true;
this.chkGameQuickAccess.Enabled = false;
this.chkGameQuickAccess.Location = new System.Drawing.Point(353, 387);
this.chkGameQuickAccess.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.chkGameQuickAccess.Name = "chkGameQuickAccess";
this.chkGameQuickAccess.Size = new System.Drawing.Size(141, 19);
this.chkGameQuickAccess.TabIndex = 44;
this.chkGameQuickAccess.Text = "Show in Quick Access";
this.chkGameQuickAccess.UseVisualStyleBackColor = true;
//
// btnGameSettings
//
this.btnGameSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnGameSettings.ContextMenuStrip = this.mnuGameActions;
this.btnGameSettings.Location = new System.Drawing.Point(1018, 351);
this.btnGameSettings.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameSettings.Name = "btnGameSettings";
this.btnGameSettings.Size = new System.Drawing.Size(88, 27);
this.btnGameSettings.TabIndex = 43;
this.btnGameSettings.Text = "Settings...";
this.btnGameSettings.UseVisualStyleBackColor = true;
this.btnGameSettings.Click += new System.EventHandler(this.btnGameActions_Click);
//
// mnuGameActions
//
this.mnuGameActions.ImageScalingSize = new System.Drawing.Size(20, 20);
this.mnuGameActions.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.mnuGameNvInspector,
this.miGameSetQuickAccessShortcut});
this.mnuGameActions.Name = "mnuLgButtons";
this.mnuGameActions.Size = new System.Drawing.Size(212, 48);
this.mnuGameActions.Opening += new System.ComponentModel.CancelEventHandler(this.mnuGameActions_Opening);
//
// mnuGameNvInspector
//
this.mnuGameNvInspector.Name = "mnuGameNvInspector";
this.mnuGameNvInspector.Size = new System.Drawing.Size(211, 22);
this.mnuGameNvInspector.Text = "NVIDIA Profile Inspector";
this.mnuGameNvInspector.Click += new System.EventHandler(this.mnuGameNvInspector_Click);
//
// miGameSetQuickAccessShortcut
//
this.miGameSetQuickAccessShortcut.Name = "miGameSetQuickAccessShortcut";
this.miGameSetQuickAccessShortcut.Size = new System.Drawing.Size(211, 22);
this.miGameSetQuickAccessShortcut.Text = "Set Quick Access Shortcut";
this.miGameSetQuickAccessShortcut.Click += new System.EventHandler(this.miGameSetQuickAccessShortcut_Click);
//
// chkGameRunAsAdmin
//
this.chkGameRunAsAdmin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.chkGameRunAsAdmin.AutoSize = true;
this.chkGameRunAsAdmin.Enabled = false;
this.chkGameRunAsAdmin.Location = new System.Drawing.Point(881, 415);
this.chkGameRunAsAdmin.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.chkGameRunAsAdmin.Name = "chkGameRunAsAdmin";
this.chkGameRunAsAdmin.Size = new System.Drawing.Size(135, 19);
this.chkGameRunAsAdmin.TabIndex = 42;
this.chkGameRunAsAdmin.Text = "Run as administrator";
this.chkGameRunAsAdmin.UseVisualStyleBackColor = true;
//
// lblGameParameters
//
this.lblGameParameters.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lblGameParameters.AutoSize = true;
this.lblGameParameters.Location = new System.Drawing.Point(8, 445);
this.lblGameParameters.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblGameParameters.Name = "lblGameParameters";
this.lblGameParameters.Size = new System.Drawing.Size(69, 15);
this.lblGameParameters.TabIndex = 41;
this.lblGameParameters.Text = "Parameters:";
//
// edtGameParameters
//
this.edtGameParameters.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.edtGameParameters.Enabled = false;
this.edtGameParameters.Location = new System.Drawing.Point(154, 442);
this.edtGameParameters.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.edtGameParameters.Name = "edtGameParameters";
this.edtGameParameters.Size = new System.Drawing.Size(623, 23);
this.edtGameParameters.TabIndex = 40;
//
// btnGameBrowse
//
this.btnGameBrowse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameBrowse.ContextMenuStrip = this.mnuLgButtons;
this.btnGameBrowse.Enabled = false;
this.btnGameBrowse.Location = new System.Drawing.Point(785, 410);
this.btnGameBrowse.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameBrowse.Name = "btnGameBrowse";
this.btnGameBrowse.Size = new System.Drawing.Size(88, 27);
this.btnGameBrowse.TabIndex = 39;
this.btnGameBrowse.Text = "Browse...";
this.btnGameBrowse.UseVisualStyleBackColor = true;
this.btnGameBrowse.Click += new System.EventHandler(this.btnGameBrowse_Click);
//
// lblGameFilePath
//
this.lblGameFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lblGameFilePath.AutoSize = true;
this.lblGameFilePath.Location = new System.Drawing.Point(8, 417);
this.lblGameFilePath.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblGameFilePath.Name = "lblGameFilePath";
this.lblGameFilePath.Size = new System.Drawing.Size(51, 15);
this.lblGameFilePath.TabIndex = 38;
this.lblGameFilePath.Text = "File/URI:";
//
// edtGamePath
//
this.edtGamePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.edtGamePath.Enabled = false;
this.edtGamePath.Location = new System.Drawing.Point(154, 413);
this.edtGamePath.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.edtGamePath.Name = "edtGamePath";
this.edtGamePath.Size = new System.Drawing.Size(623, 23);
this.edtGamePath.TabIndex = 37;
//
// edtGamePrelaunchSteps
//
this.edtGamePrelaunchSteps.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.edtGamePrelaunchSteps.Enabled = false;
this.edtGamePrelaunchSteps.Location = new System.Drawing.Point(154, 471);
this.edtGamePrelaunchSteps.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.edtGamePrelaunchSteps.Multiline = true;
this.edtGamePrelaunchSteps.Name = "edtGamePrelaunchSteps";
this.edtGamePrelaunchSteps.Size = new System.Drawing.Size(623, 48);
this.edtGamePrelaunchSteps.TabIndex = 35;
this.edtGamePrelaunchSteps.Leave += new System.EventHandler(this.edtGamePrelaunchSteps_Leave);
//
// btnGameAddStep
//
this.btnGameAddStep.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameAddStep.ContextMenuStrip = this.mnuGameAddStep;
this.btnGameAddStep.Enabled = false;
this.btnGameAddStep.Location = new System.Drawing.Point(785, 470);
this.btnGameAddStep.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameAddStep.Name = "btnGameAddStep";
this.btnGameAddStep.Size = new System.Drawing.Size(88, 27);
this.btnGameAddStep.TabIndex = 36;
this.btnGameAddStep.Text = "Add step";
this.btnGameAddStep.UseVisualStyleBackColor = true;
this.btnGameAddStep.Click += new System.EventHandler(this.btnGameAddStep_Click);
//
// mnuGameAddStep
//
this.mnuGameAddStep.ImageScalingSize = new System.Drawing.Size(20, 20);
this.mnuGameAddStep.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.mnuGameNvidiaPresets,
this.mnuGameAmdPresets,
this.mnuGameLgPresets,
this.mnuGameStartProgram});
this.mnuGameAddStep.Name = "mnuLgButtons";
this.mnuGameAddStep.Size = new System.Drawing.Size(153, 92);
this.mnuGameAddStep.Opening += new System.ComponentModel.CancelEventHandler(this.mnuGameAddStep_Opening);
//
// mnuGameNvidiaPresets
//
this.mnuGameNvidiaPresets.Name = "mnuGameNvidiaPresets";
this.mnuGameNvidiaPresets.Size = new System.Drawing.Size(152, 22);
this.mnuGameNvidiaPresets.Text = "NVIDIA presets";
//
// mnuGameAmdPresets
//
this.mnuGameAmdPresets.Name = "mnuGameAmdPresets";
this.mnuGameAmdPresets.Size = new System.Drawing.Size(152, 22);
this.mnuGameAmdPresets.Text = "AMD presets";
//
// mnuGameLgPresets
//
this.mnuGameLgPresets.Name = "mnuGameLgPresets";
this.mnuGameLgPresets.Size = new System.Drawing.Size(152, 22);
this.mnuGameLgPresets.Text = "LG presets";
//
// mnuGameStartProgram
//
this.mnuGameStartProgram.Name = "mnuGameStartProgram";
this.mnuGameStartProgram.Size = new System.Drawing.Size(152, 22);
this.mnuGameStartProgram.Text = "Start Program";
this.mnuGameStartProgram.Click += new System.EventHandler(this.mnuGameStartProgram_Click);
//
// label4
//
this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(8, 388);
this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(42, 15);
this.label4.TabIndex = 33;
this.label4.Text = "Name:";
//
// edtGameName
//
this.edtGameName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.edtGameName.Enabled = false;
this.edtGameName.Location = new System.Drawing.Point(154, 384);
this.edtGameName.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.edtGameName.Name = "edtGameName";
this.edtGameName.Size = new System.Drawing.Size(191, 23);
this.edtGameName.TabIndex = 32;
//
// btnGameDelete
//
this.btnGameDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameDelete.Enabled = false;
this.btnGameDelete.Location = new System.Drawing.Point(291, 351);
this.btnGameDelete.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameDelete.Name = "btnGameDelete";
this.btnGameDelete.Size = new System.Drawing.Size(88, 27);
this.btnGameDelete.TabIndex = 30;
this.btnGameDelete.Text = "Delete";
this.btnGameDelete.UseVisualStyleBackColor = true;
this.btnGameDelete.Click += new System.EventHandler(this.btnGameDelete_Click);
//
// btnGameClone
//
this.btnGameClone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameClone.Enabled = false;
this.btnGameClone.Location = new System.Drawing.Point(103, 351);
this.btnGameClone.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameClone.Name = "btnGameClone";
this.btnGameClone.Size = new System.Drawing.Size(88, 27);
this.btnGameClone.TabIndex = 29;
this.btnGameClone.Text = "Clone";
this.btnGameClone.UseVisualStyleBackColor = true;
this.btnGameClone.Click += new System.EventHandler(this.btnGameClone_Click);
//
// btnGameSave
//
this.btnGameSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameSave.Enabled = false;
this.btnGameSave.Location = new System.Drawing.Point(387, 351);
this.btnGameSave.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameSave.Name = "btnGameSave";
this.btnGameSave.Size = new System.Drawing.Size(88, 27);
this.btnGameSave.TabIndex = 28;
this.btnGameSave.Text = "Save";
this.btnGameSave.UseVisualStyleBackColor = true;
this.btnGameSave.Click += new System.EventHandler(this.btnGameSave_Click);
//
// btnGameAdd
//
this.btnGameAdd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameAdd.Location = new System.Drawing.Point(199, 351);
this.btnGameAdd.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameAdd.Name = "btnGameAdd";
this.btnGameAdd.Size = new System.Drawing.Size(88, 27);
this.btnGameAdd.TabIndex = 25;
this.btnGameAdd.Text = "Add";
this.btnGameAdd.UseVisualStyleBackColor = true;
this.btnGameAdd.Click += new System.EventHandler(this.btnGameAdd_Click);
//
// btnGameLaunch
//
this.btnGameLaunch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameLaunch.Enabled = false;
this.btnGameLaunch.Location = new System.Drawing.Point(8, 351);
this.btnGameLaunch.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameLaunch.Name = "btnGameLaunch";
this.btnGameLaunch.Size = new System.Drawing.Size(88, 27);
this.btnGameLaunch.TabIndex = 24;
this.btnGameLaunch.Text = "Launch";
this.btnGameLaunch.UseVisualStyleBackColor = true;
this.btnGameLaunch.Click += new System.EventHandler(this.btnGameLaunch_Click);
//
// lvGamePresets
//
this.lvGamePresets.AllowDrop = true;
this.lvGamePresets.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lvGamePresets.CheckBoxes = true;
this.lvGamePresets.FullRowSelect = true;
this.lvGamePresets.Location = new System.Drawing.Point(8, 8);
this.lvGamePresets.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.lvGamePresets.MultiSelect = false;
this.lvGamePresets.Name = "lvGamePresets";
this.lvGamePresets.ShowItemToolTips = true;
this.lvGamePresets.Size = new System.Drawing.Size(1098, 335);
this.lvGamePresets.TabIndex = 23;
this.lvGamePresets.UseCompatibleStateImageBehavior = false;
this.lvGamePresets.View = System.Windows.Forms.View.Details;
this.lvGamePresets.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.lvLgPresets_ColumnClick);
this.lvGamePresets.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.lvGamePresets_ItemChecked);
this.lvGamePresets.SelectedIndexChanged += new System.EventHandler(this.lvGamePresets_SelectedIndexChanged);
this.lvGamePresets.DragDrop += new System.Windows.Forms.DragEventHandler(this.lvGamePresets_DragDrop);
this.lvGamePresets.DragEnter += new System.Windows.Forms.DragEventHandler(this.lvGamePresets_DragEnter);
this.lvGamePresets.DoubleClick += new System.EventHandler(this.lvGamePresets_DoubleClick);
//
// tabOptions
//
this.tabOptions.Controls.Add(this.grpNvidiaOptions);
@@ -2110,11 +1714,6 @@
this.scLgController.ResumeLayout(false);
this.mnuLgExpert.ResumeLayout(false);
this.mnuLgButtons.ResumeLayout(false);
this.tabGameLauncher.ResumeLayout(false);
this.tabGameLauncher.PerformLayout();
this.mnuGameOptions.ResumeLayout(false);
this.mnuGameActions.ResumeLayout(false);
this.mnuGameAddStep.ResumeLayout(false);
this.tabOptions.ResumeLayout(false);
this.grpNvidiaOptions.ResumeLayout(false);
this.grpNvidiaOptions.PerformLayout();
@@ -2244,38 +1843,8 @@
private System.Windows.Forms.Label lblLgPcHdmiPort;
private System.Windows.Forms.ToolStripMenuItem mnuLgProgram;
private System.Windows.Forms.TabPage tabGameLauncher;
private System.Windows.Forms.Label lblGameParameters;
private System.Windows.Forms.TextBox edtGameParameters;
private System.Windows.Forms.Button btnGameBrowse;
private System.Windows.Forms.Label lblGameFilePath;
private System.Windows.Forms.TextBox edtGamePath;
private System.Windows.Forms.TextBox edtGamePrelaunchSteps;
private System.Windows.Forms.Button btnGameAddStep;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox edtGameName;
private System.Windows.Forms.Button btnGameDelete;
private System.Windows.Forms.Button btnGameClone;
private System.Windows.Forms.Button btnGameSave;
private System.Windows.Forms.Button btnGameAdd;
private System.Windows.Forms.Button btnGameLaunch;
private System.Windows.Forms.ListView lvGamePresets;
private System.Windows.Forms.ContextMenuStrip mnuGameAddStep;
private System.Windows.Forms.ToolStripMenuItem mnuGameNvidiaPresets;
private System.Windows.Forms.ToolStripMenuItem mnuGameAmdPresets;
private System.Windows.Forms.ToolStripMenuItem mnuGameLgPresets;
private System.Windows.Forms.CheckBox chkGameRunAsAdmin;
private System.Windows.Forms.ToolStripMenuItem mnuGameStartProgram;
private System.Windows.Forms.Button btnGameSettings;
private System.Windows.Forms.ContextMenuStrip mnuGameActions;
private System.Windows.Forms.ToolStripMenuItem mnuGameNvInspector;
private System.Windows.Forms.CheckBox chkGameQuickAccess;
private System.Windows.Forms.ToolStripMenuItem miGameSetQuickAccessShortcut;
private System.Windows.Forms.CheckBox chkLgQuickAccess;
private System.Windows.Forms.Button btnLgSettings;
private System.Windows.Forms.Button btnGameOptions;
private System.Windows.Forms.ContextMenuStrip mnuGameOptions;
private System.Windows.Forms.ToolStripMenuItem miGameProcessorAffinity;
private System.Windows.Forms.ToolStripMenuItem miGameProcessPriority;
private System.Windows.Forms.RadioButton rbElevationService;
private System.Windows.Forms.RadioButton rbElevationProcess;
private System.Windows.Forms.RadioButton rbElevationAdmin;
@@ -2285,7 +1854,6 @@
private System.Windows.Forms.Button btnStartStopService;
private System.Windows.Forms.Label lblShowLog;
private System.Windows.Forms.ComboBox cbxLogType;
private System.Windows.Forms.ComboBox cbxGameStepType;
private System.Windows.Forms.CheckBox chkAutoInstallUpdates;
private System.Windows.Forms.CheckBox chkLgSetSelectedDeviceByPowerOn;
private System.Windows.Forms.Button btnUpdate;
+7 -417
View File
@@ -44,7 +44,6 @@ namespace ColorControl
private NvService _nvService;
private NvPanel _nvPanel;
private string _lastDisplayRefreshRates = string.Empty;
private NotifyIcon _trayIcon;
private bool _initialized = false;
@@ -74,6 +73,7 @@ namespace ColorControl
private LgGameBar _gameBarForm;
private GameService _gameService;
private GamePanel _gamePanel;
//private KeyboardHookManager _keyboardHookManager;
private IntPtr _screenStateNotify;
@@ -235,9 +235,11 @@ namespace ColorControl
{
var appContextProvider = Program.ServiceProvider.GetRequiredService<AppContextProvider>();
_gameService = new GameService(appContextProvider, HandleExternalServiceForLgDevice);
FillGamePresets();
FormUtils.InitSortState(lvGamePresets, _config.GamePresetsSortState);
_gamePanel = new GamePanel(_gameService, _nvService, _amdService, _lgService, _trayIcon, Handle);
_gamePanel.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
tabGameLauncher.Controls.Add(_gamePanel);
InitShortcut(SHORTCUTID_GAMEQA, _config.GameQuickAccessShortcut, _gameService.ToggleQuickAccessForm);
}
@@ -450,22 +452,6 @@ namespace ColorControl
}
}
private void FillGamePresets()
{
FormUtils.InitListView(lvGamePresets, GamePreset.GetColumnNames());
foreach (var preset in _gameService.GetPresets())
{
AddOrUpdateItemGame(preset);
Utils.RegisterShortcut(Handle, preset.id, preset.shortcut);
}
}
private void AddOrUpdateItemGame(GamePreset preset = null)
{
FormUtils.AddOrUpdateListItem(lvGamePresets, _gameService.GetPresets(), _config, preset);
}
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (!(SystemShutdown || EndSession || UserExit) && _config.MinimizeOnClose)
@@ -497,9 +483,9 @@ namespace ColorControl
_nvPanel?.Save();
_amdPanel?.Save();
_gamePanel?.Save();
FormUtils.SaveSortState(lvLgPresets.ListViewItemSorter, _config.LgPresetsSortState);
FormUtils.SaveSortState(lvGamePresets.ListViewItemSorter, _config.GamePresetsSortState);
SaveConfig();
}
@@ -794,19 +780,6 @@ NOTE: installing the service may cause a User Account Control popup.");
Utils.HandleKeyboardShortcutUp(e);
}
private GamePreset GetSelectedGamePreset()
{
if (lvGamePresets.SelectedItems.Count > 0)
{
var item = lvGamePresets.SelectedItems[0];
return (GamePreset)item.Tag;
}
else
{
return null;
}
}
private void FillLgPresets()
{
FormUtils.InitListView(lvLgPresets, LgPreset.GetColumnNames());
@@ -1028,16 +1001,7 @@ NOTE: installing the service may cause a User Account Control popup.");
}
else if (tcMain.SelectedTab == tabGameLauncher)
{
UpdateGameLauncherTab();
}
}
private void UpdateGameLauncherTab()
{
if (cbxGameStepType.Items.Count == 0)
{
cbxGameStepType.Items.AddRange(Utils.GetDescriptions<GameStepType>().ToArray());
cbxGameStepType.SelectedIndex = 0;
_gamePanel?.UpdateInfo();
}
}
@@ -1342,12 +1306,6 @@ NOTE: installing the service may cause a User Account Control popup.");
ApplyLgPreset(preset);
}
private void ApplySelectedGamePreset()
{
var preset = GetSelectedGamePreset();
ApplyGamePreset(preset);
}
private void btnDeleteLg_Click(object sender, EventArgs e)
{
var preset = GetSelectedLgPreset();
@@ -2493,255 +2451,6 @@ The InStart and Software Update items are now visible under the Expert-button."
}
}
private void lvGamePresets_SelectedIndexChanged(object sender, EventArgs _)
{
var preset = GetSelectedGamePreset();
var enabled = preset != null;
FormUtils.EnableControls(tabGameLauncher, enabled, new List<Control> { lvGamePresets, btnGameAdd });
if (preset != null)
{
edtGameName.Text = preset.name;
edtGamePath.Text = preset.Path;
edtGameParameters.Text = preset.Parameters;
chkGameRunAsAdmin.Checked = preset.RunAsAdministrator;
chkGameQuickAccess.Checked = preset.ShowInQuickAccess;
ShowGameSteps();
}
else
{
edtGameName.Text = string.Empty;
edtGamePath.Text = string.Empty;
edtGameParameters.Text = string.Empty;
chkGameRunAsAdmin.Checked = false;
chkGameQuickAccess.Checked = false;
edtGamePrelaunchSteps.Text = string.Empty;
}
}
private void lvGamePresets_DoubleClick(object sender, EventArgs e)
{
ApplySelectedGamePreset();
}
private void btnGameLaunch_Click(object sender, EventArgs e)
{
ApplySelectedGamePreset();
}
private void btnGameClone_Click(object sender, EventArgs e)
{
var preset = GetSelectedGamePreset();
var newPreset = preset.Clone();
AddOrUpdateItemGame(newPreset);
}
private void btnGameAdd_Click(object sender, EventArgs e)
{
var file = Utils.SelectFile();
AddGamePreset(file);
}
private void AddGamePreset(FileInfo file)
{
var preset = _gameService.CreateNewPreset();
if (file != null)
{
var versionInfo = FileVersionInfo.GetVersionInfo(file.FullName);
preset.Path = file.FullName;
var fileName = Path.GetFileNameWithoutExtension(preset.Path);
preset.name = !string.IsNullOrEmpty(versionInfo.FileDescription) ? versionInfo.FileDescription :
!string.IsNullOrEmpty(versionInfo.ProductName) ? versionInfo.ProductName : fileName;
}
AddOrUpdateItemGame(preset);
}
private void btnGameSave_Click(object sender, EventArgs e)
{
SaveGamePreset();
}
private void SaveGamePreset()
{
var shortcut = string.Empty;
if (!Utils.ValidateShortcut(shortcut))
{
return;
}
var preset = GetSelectedGamePreset();
var name = edtGameName.Text.Trim();
if (name.Length == 0 || _gameService.GetPresets().Any(x => x.id != preset.id && x.name.Equals(name, StringComparison.OrdinalIgnoreCase)))
{
MessageForms.WarningOk("The name can not be empty and must be unique.");
return;
}
preset.name = name;
preset.Path = edtGamePath.Text;
preset.Parameters = edtGameParameters.Text;
preset.RunAsAdministrator = chkGameRunAsAdmin.Checked;
preset.ShowInQuickAccess = chkGameQuickAccess.Checked;
var clear = !string.IsNullOrEmpty(preset.shortcut);
var shortcutChanged = !shortcut.Equals(preset.shortcut);
if (shortcutChanged)
{
preset.shortcut = shortcut;
}
var text = edtGamePrelaunchSteps.Text;
var stepsList = (GameStepType)cbxGameStepType.SelectedIndex switch
{
GameStepType.PreLaunch => preset.PreLaunchSteps,
GameStepType.PostLaunch => preset.PostLaunchSteps,
GameStepType.Finalize => preset.FinalizeSteps,
_ => throw new InvalidOperationException("Invalid game step type")
};
Utils.ParseWords(stepsList, text);
AddOrUpdateItemGame();
if (shortcutChanged)
{
Utils.RegisterShortcut(Handle, preset.id, preset.shortcut, clear);
}
}
private void btnGameBrowse_Click(object sender, EventArgs e)
{
var file = Utils.SelectFile();
if (file == null)
{
return;
}
var preset = GetSelectedGamePreset();
preset.Path = file.FullName;
edtGamePath.Text = preset.Path;
if (string.IsNullOrEmpty(preset.name) || preset.name.StartsWith("New preset", StringComparison.OrdinalIgnoreCase))
{
var fileName = Path.GetFileNameWithoutExtension(preset.Path);
edtGameName.Text = fileName;
preset.name = fileName;
}
AddOrUpdateItemGame();
}
private void btnGameDelete_Click(object sender, EventArgs e)
{
var preset = GetSelectedGamePreset();
if (preset == null)
{
return;
}
if (!string.IsNullOrEmpty(preset.shortcut))
{
WinApi.UnregisterHotKey(Handle, preset.id);
}
_gameService.GetPresets().Remove(preset);
var item = lvGamePresets.SelectedItems[0];
lvGamePresets.Items.Remove(item);
}
private void mnuGameAddStep_Opening(object sender, CancelEventArgs e)
{
FormUtils.BuildServicePresetsMenu(mnuGameNvidiaPresets, _nvService, "NVIDIA", miGameAddPreset_Click);
FormUtils.BuildServicePresetsMenu(mnuGameAmdPresets, _amdService, "AMD", miGameAddPreset_Click);
FormUtils.BuildServicePresetsMenu(mnuGameLgPresets, _lgService, "LG", miGameAddPreset_Click);
}
private void miGameAddPreset_Click(object sender, EventArgs e)
{
var item = sender as ToolStripItem;
var preset = item.Tag as PresetBase;
var text = $"{preset.GetType().Name}({preset.name})";
FormUtils.AddStepToTextBox(edtGamePrelaunchSteps, text);
}
private void btnGameAddStep_Click(object sender, EventArgs e)
{
mnuGameAddStep.Show(btnGameAddStep, btnGameAddStep.PointToClient(Cursor.Position));
}
private void mnuGameStartProgram_Click(object sender, EventArgs e)
{
var file = Utils.SelectFile();
if (file != null)
{
FormUtils.AddStepToTextBox(edtGamePrelaunchSteps, $"StartProgram({file.FullName})");
}
}
private void lvGamePresets_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
var files = (string[])e.Data.GetData(DataFormats.FileDrop);
var file = new FileInfo(files.First());
AddGamePreset(file);
}
}
private void lvGamePresets_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.All;
}
private void btnGameActions_Click(object sender, EventArgs e)
{
mnuGameActions.Show(btnGameSettings, btnGameSettings.PointToClient(Cursor.Position));
}
private void mnuGameNvInspector_Click(object sender, EventArgs e)
{
_nvPanel?.StartNvProfileInspector();
}
private void miGameSetQuickAccessShortcut_Click(object sender, EventArgs e)
{
var shortcut = FormUtils.EditShortcut(_config.GameQuickAccessShortcut);
if (shortcut == null)
{
return;
}
var clear = !string.IsNullOrEmpty(_config.GameQuickAccessShortcut);
_config.GameQuickAccessShortcut = shortcut;
Utils.RegisterShortcut(Handle, SHORTCUTID_GAMEQA, _config.GameQuickAccessShortcut, clear);
}
private void btnLgSettings_Click(object sender, EventArgs e)
{
var shortcut = FormUtils.EditShortcut(_config.LgQuickAccessShortcut, "Quick Access shortcut", "LG controller settings");
@@ -2758,16 +2467,6 @@ The InStart and Software Update items are now visible under the Expert-button."
Utils.RegisterShortcut(Handle, SHORTCUTID_LGQA, _config.LgQuickAccessShortcut, clear);
}
private void mnuGameActions_Opening(object sender, CancelEventArgs e)
{
mnuGameNvInspector.Visible = _nvService != null;
}
private void lvGamePresets_ItemChecked(object sender, ItemCheckedEventArgs e)
{
FormUtils.ListViewItemChecked<GamePreset>(lvGamePresets, e);
}
private void lvLgPresets_ItemChecked(object sender, ItemCheckedEventArgs e)
{
FormUtils.ListViewItemChecked<LgPreset>(lvLgPresets, e);
@@ -2821,82 +2520,6 @@ The InStart and Software Update items are now visible under the Expert-button."
Utils.RegisterShortcut(Handle, SHORTCUTID_AMDQA, _config.AmdQuickAccessShortcut, clear);
}
private void btnGameProcessAffinity_Click(object sender, EventArgs e)
{
var preset = GetSelectedGamePreset();
if (preset == null)
{
return;
}
var numberOfProcessors = Environment.ProcessorCount;
var options = Enumerable.Range(0, numberOfProcessors).Select(i => $"CPU #{i}");
var values = MessageForms.ShowDialog("Set processor affinity", new[] {
new MessageForms.FieldDefinition
{
Label = "Set desired processors which are allowed to run program",
FieldType = MessageForms.FieldType.Flags,
Values = options,
Value = preset.ProcessAffinityMask
}
});
if (!values.Any())
{
return;
}
var value = values.First().Value;
preset.ProcessAffinityMask = (uint)(int)value;
}
private void btnGameOptions_Click(object sender, EventArgs e)
{
mnuGameOptions.Show(btnGameOptions, btnGameOptions.PointToClient(Cursor.Position));
}
private void miGameProcessPriority_Click(object sender, EventArgs e)
{
var preset = GetSelectedGamePreset();
if (preset == null)
{
return;
}
var dropDownValues = Utils.GetDescriptions<GamePriorityClass>();
var values = MessageForms.ShowDialog("Set process priority", new[] {
new MessageForms.FieldDefinition
{
Label = "Set desired process priority",
FieldType = MessageForms.FieldType.DropDown,
Values = dropDownValues,
Value = preset.ProcessPriorityClass > 0 ? ((GamePriorityClass)preset.ProcessPriorityClass).GetDescription() : GamePriorityClass.Normal.GetDescription()
}
});
if (!values.Any())
{
return;
}
var value = values.First().Value.ToString();
var enumName = Utils.GetEnumNameByDescription(typeof(GamePriorityClass), value);
if (enumName != null)
{
value = enumName;
}
var enumValue = Enum.Parse(typeof(GamePriorityClass), value);
preset.ProcessPriorityClass = (uint)(int)enumValue;
}
private void rbElevationNone_CheckedChanged(object sender, EventArgs e)
{
if (!_initialized)
@@ -3041,39 +2664,6 @@ Currently ColorControl is {(Utils.IsAdministrator() ? "" : "not ")}running as ad
LoadLog();
}
private void cbxGameStepType_SelectedIndexChanged(object sender, EventArgs e)
{
ShowGameSteps();
}
private void ShowGameSteps()
{
var preset = GetSelectedGamePreset();
if (preset == null)
{
return;
}
switch ((GameStepType)cbxGameStepType.SelectedIndex)
{
case GameStepType.PreLaunch:
edtGamePrelaunchSteps.Text = string.Join(", ", preset.PreLaunchSteps);
break;
case GameStepType.PostLaunch:
edtGamePrelaunchSteps.Text = string.Join(", ", preset.PostLaunchSteps);
break;
case GameStepType.Finalize:
edtGamePrelaunchSteps.Text = string.Join(", ", preset.FinalizeSteps);
break;
}
}
private void edtGamePrelaunchSteps_Leave(object sender, EventArgs e)
{
SaveGamePreset();
}
private void MainForm_Click(object sender, EventArgs e)
{
//PipeUtils.SendMessage(SvcMessageType.RestartAfterUpdate);
-3
View File
@@ -72,9 +72,6 @@
<metadata name="mnuGameAddStep.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>416, 50</value>
</metadata>
<metadata name="mnuAmdPresets.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>278, 17</value>
</metadata>
<metadata name="lvNvPresetsToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>590, 47</value>
</metadata>
+485
View File
@@ -0,0 +1,485 @@
namespace ColorControl.Services.GameLauncher
{
partial class GamePanel
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.cbxGameStepType = new System.Windows.Forms.ComboBox();
this.btnGameOptions = new System.Windows.Forms.Button();
this.mnuGameOptions = new System.Windows.Forms.ContextMenuStrip(this.components);
this.miGameProcessorAffinity = new System.Windows.Forms.ToolStripMenuItem();
this.miGameProcessPriority = new System.Windows.Forms.ToolStripMenuItem();
this.chkGameQuickAccess = new System.Windows.Forms.CheckBox();
this.btnGameSettings = new System.Windows.Forms.Button();
this.mnuGameActions = new System.Windows.Forms.ContextMenuStrip(this.components);
this.mnuGameNvInspector = new System.Windows.Forms.ToolStripMenuItem();
this.miGameSetQuickAccessShortcut = new System.Windows.Forms.ToolStripMenuItem();
this.chkGameRunAsAdmin = new System.Windows.Forms.CheckBox();
this.lblGameParameters = new System.Windows.Forms.Label();
this.edtGameParameters = new System.Windows.Forms.TextBox();
this.btnGameBrowse = new System.Windows.Forms.Button();
this.lblGameFilePath = new System.Windows.Forms.Label();
this.edtGamePath = new System.Windows.Forms.TextBox();
this.edtGamePrelaunchSteps = new System.Windows.Forms.TextBox();
this.btnGameAddStep = new System.Windows.Forms.Button();
this.mnuGameAddStep = new System.Windows.Forms.ContextMenuStrip(this.components);
this.mnuGameNvidiaPresets = new System.Windows.Forms.ToolStripMenuItem();
this.mnuGameAmdPresets = new System.Windows.Forms.ToolStripMenuItem();
this.mnuGameLgPresets = new System.Windows.Forms.ToolStripMenuItem();
this.mnuGameStartProgram = new System.Windows.Forms.ToolStripMenuItem();
this.label4 = new System.Windows.Forms.Label();
this.edtGameName = new System.Windows.Forms.TextBox();
this.btnGameDelete = new System.Windows.Forms.Button();
this.btnGameClone = new System.Windows.Forms.Button();
this.btnGameSave = new System.Windows.Forms.Button();
this.btnGameAdd = new System.Windows.Forms.Button();
this.btnGameLaunch = new System.Windows.Forms.Button();
this.lvGamePresets = new System.Windows.Forms.ListView();
this.mnuGameOptions.SuspendLayout();
this.mnuGameActions.SuspendLayout();
this.mnuGameAddStep.SuspendLayout();
this.SuspendLayout();
//
// GamePanel
//
this.Controls.Add(this.cbxGameStepType);
this.Controls.Add(this.btnGameOptions);
this.Controls.Add(this.chkGameQuickAccess);
this.Controls.Add(this.btnGameSettings);
this.Controls.Add(this.chkGameRunAsAdmin);
this.Controls.Add(this.lblGameParameters);
this.Controls.Add(this.edtGameParameters);
this.Controls.Add(this.btnGameBrowse);
this.Controls.Add(this.lblGameFilePath);
this.Controls.Add(this.edtGamePath);
this.Controls.Add(this.edtGamePrelaunchSteps);
this.Controls.Add(this.btnGameAddStep);
this.Controls.Add(this.label4);
this.Controls.Add(this.edtGameName);
this.Controls.Add(this.btnGameDelete);
this.Controls.Add(this.btnGameClone);
this.Controls.Add(this.btnGameSave);
this.Controls.Add(this.btnGameAdd);
this.Controls.Add(this.btnGameLaunch);
this.Controls.Add(this.lvGamePresets);
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.Name = "GamePanel";
this.Size = new System.Drawing.Size(1114, 539);
//
// cbxGameStepType
//
this.cbxGameStepType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.cbxGameStepType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbxGameStepType.Enabled = false;
this.cbxGameStepType.FormattingEnabled = true;
this.cbxGameStepType.Location = new System.Drawing.Point(10, 474);
this.cbxGameStepType.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.cbxGameStepType.Name = "cbxGameStepType";
this.cbxGameStepType.Size = new System.Drawing.Size(136, 23);
this.cbxGameStepType.TabIndex = 46;
this.cbxGameStepType.SelectedIndexChanged += new System.EventHandler(this.cbxGameStepType_SelectedIndexChanged);
//
// btnGameOptions
//
this.btnGameOptions.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameOptions.ContextMenuStrip = this.mnuGameOptions;
this.btnGameOptions.Enabled = false;
this.btnGameOptions.Location = new System.Drawing.Point(785, 439);
this.btnGameOptions.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameOptions.Name = "btnGameOptions";
this.btnGameOptions.Size = new System.Drawing.Size(88, 27);
this.btnGameOptions.TabIndex = 45;
this.btnGameOptions.Text = "Options...";
this.btnGameOptions.UseVisualStyleBackColor = true;
this.btnGameOptions.Click += new System.EventHandler(this.btnGameOptions_Click);
//
// mnuGameOptions
//
this.mnuGameOptions.ImageScalingSize = new System.Drawing.Size(20, 20);
this.mnuGameOptions.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.miGameProcessorAffinity,
this.miGameProcessPriority});
this.mnuGameOptions.Name = "mnuLgButtons";
this.mnuGameOptions.Size = new System.Drawing.Size(166, 48);
//
// miGameProcessorAffinity
//
this.miGameProcessorAffinity.Name = "miGameProcessorAffinity";
this.miGameProcessorAffinity.Size = new System.Drawing.Size(165, 22);
this.miGameProcessorAffinity.Text = "Processor affinity";
this.miGameProcessorAffinity.Click += new System.EventHandler(this.btnGameProcessAffinity_Click);
//
// miGameProcessPriority
//
this.miGameProcessPriority.Name = "miGameProcessPriority";
this.miGameProcessPriority.Size = new System.Drawing.Size(165, 22);
this.miGameProcessPriority.Text = "Process priority";
this.miGameProcessPriority.Click += new System.EventHandler(this.miGameProcessPriority_Click);
//
// chkGameQuickAccess
//
this.chkGameQuickAccess.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.chkGameQuickAccess.AutoSize = true;
this.chkGameQuickAccess.Enabled = false;
this.chkGameQuickAccess.Location = new System.Drawing.Point(353, 387);
this.chkGameQuickAccess.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.chkGameQuickAccess.Name = "chkGameQuickAccess";
this.chkGameQuickAccess.Size = new System.Drawing.Size(141, 19);
this.chkGameQuickAccess.TabIndex = 44;
this.chkGameQuickAccess.Text = "Show in Quick Access";
this.chkGameQuickAccess.UseVisualStyleBackColor = true;
//
// btnGameSettings
//
this.btnGameSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnGameSettings.ContextMenuStrip = this.mnuGameActions;
this.btnGameSettings.Location = new System.Drawing.Point(1018, 351);
this.btnGameSettings.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameSettings.Name = "btnGameSettings";
this.btnGameSettings.Size = new System.Drawing.Size(88, 27);
this.btnGameSettings.TabIndex = 43;
this.btnGameSettings.Text = "Settings...";
this.btnGameSettings.UseVisualStyleBackColor = true;
this.btnGameSettings.Click += new System.EventHandler(this.btnGameActions_Click);
//
// mnuGameActions
//
this.mnuGameActions.ImageScalingSize = new System.Drawing.Size(20, 20);
this.mnuGameActions.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.mnuGameNvInspector,
this.miGameSetQuickAccessShortcut});
this.mnuGameActions.Name = "mnuLgButtons";
this.mnuGameActions.Size = new System.Drawing.Size(212, 48);
this.mnuGameActions.Opening += new System.ComponentModel.CancelEventHandler(this.mnuGameActions_Opening);
//
// mnuGameNvInspector
//
this.mnuGameNvInspector.Name = "mnuGameNvInspector";
this.mnuGameNvInspector.Size = new System.Drawing.Size(211, 22);
this.mnuGameNvInspector.Text = "NVIDIA Profile Inspector";
this.mnuGameNvInspector.Click += new System.EventHandler(this.mnuGameNvInspector_Click);
//
// miGameSetQuickAccessShortcut
//
this.miGameSetQuickAccessShortcut.Name = "miGameSetQuickAccessShortcut";
this.miGameSetQuickAccessShortcut.Size = new System.Drawing.Size(211, 22);
this.miGameSetQuickAccessShortcut.Text = "Set Quick Access Shortcut";
this.miGameSetQuickAccessShortcut.Click += new System.EventHandler(this.miGameSetQuickAccessShortcut_Click);
//
// chkGameRunAsAdmin
//
this.chkGameRunAsAdmin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.chkGameRunAsAdmin.AutoSize = true;
this.chkGameRunAsAdmin.Enabled = false;
this.chkGameRunAsAdmin.Location = new System.Drawing.Point(881, 415);
this.chkGameRunAsAdmin.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.chkGameRunAsAdmin.Name = "chkGameRunAsAdmin";
this.chkGameRunAsAdmin.Size = new System.Drawing.Size(135, 19);
this.chkGameRunAsAdmin.TabIndex = 42;
this.chkGameRunAsAdmin.Text = "Run as administrator";
this.chkGameRunAsAdmin.UseVisualStyleBackColor = true;
//
// lblGameParameters
//
this.lblGameParameters.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lblGameParameters.AutoSize = true;
this.lblGameParameters.Location = new System.Drawing.Point(8, 445);
this.lblGameParameters.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblGameParameters.Name = "lblGameParameters";
this.lblGameParameters.Size = new System.Drawing.Size(69, 15);
this.lblGameParameters.TabIndex = 41;
this.lblGameParameters.Text = "Parameters:";
//
// edtGameParameters
//
this.edtGameParameters.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.edtGameParameters.Enabled = false;
this.edtGameParameters.Location = new System.Drawing.Point(154, 442);
this.edtGameParameters.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.edtGameParameters.Name = "edtGameParameters";
this.edtGameParameters.Size = new System.Drawing.Size(623, 23);
this.edtGameParameters.TabIndex = 40;
//
// btnGameBrowse
//
this.btnGameBrowse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameBrowse.Enabled = false;
this.btnGameBrowse.Location = new System.Drawing.Point(785, 410);
this.btnGameBrowse.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameBrowse.Name = "btnGameBrowse";
this.btnGameBrowse.Size = new System.Drawing.Size(88, 27);
this.btnGameBrowse.TabIndex = 39;
this.btnGameBrowse.Text = "Browse...";
this.btnGameBrowse.UseVisualStyleBackColor = true;
this.btnGameBrowse.Click += new System.EventHandler(this.btnGameBrowse_Click);
//
// lblGameFilePath
//
this.lblGameFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lblGameFilePath.AutoSize = true;
this.lblGameFilePath.Location = new System.Drawing.Point(8, 417);
this.lblGameFilePath.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblGameFilePath.Name = "lblGameFilePath";
this.lblGameFilePath.Size = new System.Drawing.Size(51, 15);
this.lblGameFilePath.TabIndex = 38;
this.lblGameFilePath.Text = "File/URI:";
//
// edtGamePath
//
this.edtGamePath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.edtGamePath.Enabled = false;
this.edtGamePath.Location = new System.Drawing.Point(154, 413);
this.edtGamePath.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.edtGamePath.Name = "edtGamePath";
this.edtGamePath.Size = new System.Drawing.Size(623, 23);
this.edtGamePath.TabIndex = 37;
//
// edtGamePrelaunchSteps
//
this.edtGamePrelaunchSteps.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.edtGamePrelaunchSteps.Enabled = false;
this.edtGamePrelaunchSteps.Location = new System.Drawing.Point(154, 471);
this.edtGamePrelaunchSteps.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.edtGamePrelaunchSteps.Multiline = true;
this.edtGamePrelaunchSteps.Name = "edtGamePrelaunchSteps";
this.edtGamePrelaunchSteps.Size = new System.Drawing.Size(623, 48);
this.edtGamePrelaunchSteps.TabIndex = 35;
this.edtGamePrelaunchSteps.Leave += new System.EventHandler(this.edtGamePrelaunchSteps_Leave);
//
// btnGameAddStep
//
this.btnGameAddStep.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameAddStep.ContextMenuStrip = this.mnuGameAddStep;
this.btnGameAddStep.Enabled = false;
this.btnGameAddStep.Location = new System.Drawing.Point(785, 470);
this.btnGameAddStep.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameAddStep.Name = "btnGameAddStep";
this.btnGameAddStep.Size = new System.Drawing.Size(88, 27);
this.btnGameAddStep.TabIndex = 36;
this.btnGameAddStep.Text = "Add step";
this.btnGameAddStep.UseVisualStyleBackColor = true;
this.btnGameAddStep.Click += new System.EventHandler(this.btnGameAddStep_Click);
//
// mnuGameAddStep
//
this.mnuGameAddStep.ImageScalingSize = new System.Drawing.Size(20, 20);
this.mnuGameAddStep.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.mnuGameNvidiaPresets,
this.mnuGameAmdPresets,
this.mnuGameLgPresets,
this.mnuGameStartProgram});
this.mnuGameAddStep.Name = "mnuLgButtons";
this.mnuGameAddStep.Size = new System.Drawing.Size(153, 92);
this.mnuGameAddStep.Opening += new System.ComponentModel.CancelEventHandler(this.mnuGameAddStep_Opening);
//
// mnuGameNvidiaPresets
//
this.mnuGameNvidiaPresets.Name = "mnuGameNvidiaPresets";
this.mnuGameNvidiaPresets.Size = new System.Drawing.Size(152, 22);
this.mnuGameNvidiaPresets.Text = "NVIDIA presets";
//
// mnuGameAmdPresets
//
this.mnuGameAmdPresets.Name = "mnuGameAmdPresets";
this.mnuGameAmdPresets.Size = new System.Drawing.Size(152, 22);
this.mnuGameAmdPresets.Text = "AMD presets";
//
// mnuGameLgPresets
//
this.mnuGameLgPresets.Name = "mnuGameLgPresets";
this.mnuGameLgPresets.Size = new System.Drawing.Size(152, 22);
this.mnuGameLgPresets.Text = "LG presets";
//
// mnuGameStartProgram
//
this.mnuGameStartProgram.Name = "mnuGameStartProgram";
this.mnuGameStartProgram.Size = new System.Drawing.Size(152, 22);
this.mnuGameStartProgram.Text = "Start Program";
this.mnuGameStartProgram.Click += new System.EventHandler(this.mnuGameStartProgram_Click);
//
// label4
//
this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(8, 388);
this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(42, 15);
this.label4.TabIndex = 33;
this.label4.Text = "Name:";
//
// edtGameName
//
this.edtGameName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.edtGameName.Enabled = false;
this.edtGameName.Location = new System.Drawing.Point(154, 384);
this.edtGameName.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.edtGameName.Name = "edtGameName";
this.edtGameName.Size = new System.Drawing.Size(191, 23);
this.edtGameName.TabIndex = 32;
//
// btnGameDelete
//
this.btnGameDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameDelete.Enabled = false;
this.btnGameDelete.Location = new System.Drawing.Point(291, 351);
this.btnGameDelete.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameDelete.Name = "btnGameDelete";
this.btnGameDelete.Size = new System.Drawing.Size(88, 27);
this.btnGameDelete.TabIndex = 30;
this.btnGameDelete.Text = "Delete";
this.btnGameDelete.UseVisualStyleBackColor = true;
this.btnGameDelete.Click += new System.EventHandler(this.btnGameDelete_Click);
//
// btnGameClone
//
this.btnGameClone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameClone.Enabled = false;
this.btnGameClone.Location = new System.Drawing.Point(103, 351);
this.btnGameClone.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameClone.Name = "btnGameClone";
this.btnGameClone.Size = new System.Drawing.Size(88, 27);
this.btnGameClone.TabIndex = 29;
this.btnGameClone.Text = "Clone";
this.btnGameClone.UseVisualStyleBackColor = true;
this.btnGameClone.Click += new System.EventHandler(this.btnGameClone_Click);
//
// btnGameSave
//
this.btnGameSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameSave.Enabled = false;
this.btnGameSave.Location = new System.Drawing.Point(387, 351);
this.btnGameSave.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameSave.Name = "btnGameSave";
this.btnGameSave.Size = new System.Drawing.Size(88, 27);
this.btnGameSave.TabIndex = 28;
this.btnGameSave.Text = "Save";
this.btnGameSave.UseVisualStyleBackColor = true;
this.btnGameSave.Click += new System.EventHandler(this.btnGameSave_Click);
//
// btnGameAdd
//
this.btnGameAdd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameAdd.Location = new System.Drawing.Point(199, 351);
this.btnGameAdd.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameAdd.Name = "btnGameAdd";
this.btnGameAdd.Size = new System.Drawing.Size(88, 27);
this.btnGameAdd.TabIndex = 25;
this.btnGameAdd.Text = "Add";
this.btnGameAdd.UseVisualStyleBackColor = true;
this.btnGameAdd.Click += new System.EventHandler(this.btnGameAdd_Click);
//
// btnGameLaunch
//
this.btnGameLaunch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnGameLaunch.Enabled = false;
this.btnGameLaunch.Location = new System.Drawing.Point(8, 351);
this.btnGameLaunch.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.btnGameLaunch.Name = "btnGameLaunch";
this.btnGameLaunch.Size = new System.Drawing.Size(88, 27);
this.btnGameLaunch.TabIndex = 24;
this.btnGameLaunch.Text = "Launch";
this.btnGameLaunch.UseVisualStyleBackColor = true;
this.btnGameLaunch.Click += new System.EventHandler(this.btnGameLaunch_Click);
//
// lvGamePresets
//
this.lvGamePresets.AllowDrop = true;
this.lvGamePresets.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lvGamePresets.CheckBoxes = true;
this.lvGamePresets.FullRowSelect = true;
this.lvGamePresets.Location = new System.Drawing.Point(8, 8);
this.lvGamePresets.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.lvGamePresets.MultiSelect = false;
this.lvGamePresets.Name = "lvGamePresets";
this.lvGamePresets.ShowItemToolTips = true;
this.lvGamePresets.Size = new System.Drawing.Size(1098, 335);
this.lvGamePresets.TabIndex = 23;
this.lvGamePresets.UseCompatibleStateImageBehavior = false;
this.lvGamePresets.View = System.Windows.Forms.View.Details;
this.lvGamePresets.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.lvLgPresets_ColumnClick);
this.lvGamePresets.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.lvGamePresets_ItemChecked);
this.lvGamePresets.SelectedIndexChanged += new System.EventHandler(this.lvGamePresets_SelectedIndexChanged);
this.lvGamePresets.DragDrop += new System.Windows.Forms.DragEventHandler(this.lvGamePresets_DragDrop);
this.lvGamePresets.DragEnter += new System.Windows.Forms.DragEventHandler(this.lvGamePresets_DragEnter);
this.lvGamePresets.DoubleClick += new System.EventHandler(this.lvGamePresets_DoubleClick);
this.mnuGameOptions.ResumeLayout(false);
this.mnuGameActions.ResumeLayout(false);
this.mnuGameAddStep.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label lblGameParameters;
private System.Windows.Forms.TextBox edtGameParameters;
private System.Windows.Forms.Button btnGameBrowse;
private System.Windows.Forms.Label lblGameFilePath;
private System.Windows.Forms.TextBox edtGamePath;
private System.Windows.Forms.TextBox edtGamePrelaunchSteps;
private System.Windows.Forms.Button btnGameAddStep;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox edtGameName;
private System.Windows.Forms.Button btnGameDelete;
private System.Windows.Forms.Button btnGameClone;
private System.Windows.Forms.Button btnGameSave;
private System.Windows.Forms.Button btnGameAdd;
private System.Windows.Forms.Button btnGameLaunch;
private System.Windows.Forms.ListView lvGamePresets;
private System.Windows.Forms.ContextMenuStrip mnuGameAddStep;
private System.Windows.Forms.ToolStripMenuItem mnuGameNvidiaPresets;
private System.Windows.Forms.ToolStripMenuItem mnuGameAmdPresets;
private System.Windows.Forms.ToolStripMenuItem mnuGameLgPresets;
private System.Windows.Forms.CheckBox chkGameRunAsAdmin;
private System.Windows.Forms.ToolStripMenuItem mnuGameStartProgram;
private System.Windows.Forms.Button btnGameSettings;
private System.Windows.Forms.ContextMenuStrip mnuGameActions;
private System.Windows.Forms.ToolStripMenuItem mnuGameNvInspector;
private System.Windows.Forms.CheckBox chkGameQuickAccess;
private System.Windows.Forms.ToolStripMenuItem miGameSetQuickAccessShortcut;
private System.Windows.Forms.Button btnGameOptions;
private System.Windows.Forms.ContextMenuStrip mnuGameOptions;
private System.Windows.Forms.ToolStripMenuItem miGameProcessorAffinity;
private System.Windows.Forms.ToolStripMenuItem miGameProcessPriority;
private System.Windows.Forms.ComboBox cbxGameStepType;
}
}
@@ -0,0 +1,507 @@
using ColorControl.Common;
using ColorControl.Forms;
using ColorControl.Native;
using ColorControl.Services.AMD;
using ColorControl.Services.Common;
using ColorControl.Services.LG;
using ColorControl.Services.NVIDIA;
using NLog;
using nspector;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Windows.Forms;
namespace ColorControl.Services.GameLauncher
{
public partial class GamePanel : UserControl
{
private static int SHORTCUTID_GAMEQA = -203;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private Config _config;
private GameService _gameService;
private IntPtr _mainHandle;
private NotifyIcon _trayIcon;
private NvService _nvService;
private AmdService _amdService;
private LgService _lgService;
internal GamePanel(GameService gameService, NvService nvService, AmdService amdService, LgService lgService, NotifyIcon trayIcon, IntPtr handle)
{
_gameService = gameService;
_trayIcon = trayIcon;
_mainHandle = handle;
_nvService = nvService;
_amdService = amdService;
_lgService = lgService;
_config = AppContext.CurrentContext.Config;
InitializeComponent();
FillGamePresets();
FormUtils.InitSortState(lvGamePresets, _config.GamePresetsSortState);
}
private void FillGamePresets()
{
FormUtils.InitListView(lvGamePresets, GamePreset.GetColumnNames());
foreach (var preset in _gameService.GetPresets())
{
AddOrUpdateItemGame(preset);
Utils.RegisterShortcut(_mainHandle, preset.id, preset.shortcut);
}
}
private void AddOrUpdateItemGame(GamePreset preset = null)
{
FormUtils.AddOrUpdateListItem(lvGamePresets, _gameService.GetPresets(), _config, preset);
}
internal void Save()
{
FormUtils.SaveSortState(lvGamePresets.ListViewItemSorter, _config.GamePresetsSortState);
}
private void edtShortcut_KeyDown(object sender, KeyEventArgs e)
{
((TextBox)sender).Text = Utils.FormatKeyboardShortcut(e);
}
private void edtShortcut_KeyUp(object sender, KeyEventArgs e)
{
Utils.HandleKeyboardShortcutUp(e);
}
private GamePreset GetSelectedGamePreset()
{
if (lvGamePresets.SelectedItems.Count > 0)
{
var item = lvGamePresets.SelectedItems[0];
return (GamePreset)item.Tag;
}
else
{
return null;
}
}
public void UpdateInfo()
{
if (cbxGameStepType.Items.Count == 0)
{
cbxGameStepType.Items.AddRange(Utils.GetDescriptions<GameStepType>().ToArray());
cbxGameStepType.SelectedIndex = 0;
}
}
private void ApplySelectedGamePreset()
{
var preset = GetSelectedGamePreset();
ApplyGamePreset(preset);
}
private bool ApplyGamePreset(GamePreset preset)
{
if (preset == null || _gameService == null)
{
return false;
}
try
{
var result = _gameService.ApplyPreset(preset, Program.AppContext);
if (!result)
{
throw new Exception("Error while applying Game-preset. At least one setting could not be applied. Check the log for details.");
}
return true;
}
catch (Exception e)
{
MessageForms.ErrorOk($"Error applying Game-preset ({e.TargetSite.Name}): {e.Message}");
return false;
}
}
private void lvGamePresets_SelectedIndexChanged(object sender, EventArgs _)
{
var preset = GetSelectedGamePreset();
var enabled = preset != null;
FormUtils.EnableControls(this, enabled, new List<Control> { lvGamePresets, btnGameAdd });
if (preset != null)
{
edtGameName.Text = preset.name;
edtGamePath.Text = preset.Path;
edtGameParameters.Text = preset.Parameters;
chkGameRunAsAdmin.Checked = preset.RunAsAdministrator;
chkGameQuickAccess.Checked = preset.ShowInQuickAccess;
ShowGameSteps();
}
else
{
edtGameName.Text = string.Empty;
edtGamePath.Text = string.Empty;
edtGameParameters.Text = string.Empty;
chkGameRunAsAdmin.Checked = false;
chkGameQuickAccess.Checked = false;
edtGamePrelaunchSteps.Text = string.Empty;
}
}
private void lvGamePresets_DoubleClick(object sender, EventArgs e)
{
ApplySelectedGamePreset();
}
private void btnGameLaunch_Click(object sender, EventArgs e)
{
ApplySelectedGamePreset();
}
private void btnGameClone_Click(object sender, EventArgs e)
{
var preset = GetSelectedGamePreset();
var newPreset = preset.Clone();
AddOrUpdateItemGame(newPreset);
}
private void btnGameAdd_Click(object sender, EventArgs e)
{
var file = Utils.SelectFile();
AddGamePreset(file);
}
private void AddGamePreset(FileInfo file)
{
var preset = _gameService.CreateNewPreset();
if (file != null)
{
var versionInfo = FileVersionInfo.GetVersionInfo(file.FullName);
preset.Path = file.FullName;
var fileName = Path.GetFileNameWithoutExtension(preset.Path);
preset.name = !string.IsNullOrEmpty(versionInfo.FileDescription) ? versionInfo.FileDescription :
!string.IsNullOrEmpty(versionInfo.ProductName) ? versionInfo.ProductName : fileName;
}
AddOrUpdateItemGame(preset);
}
private void btnGameSave_Click(object sender, EventArgs e)
{
SaveGamePreset();
}
private void SaveGamePreset()
{
var shortcut = string.Empty;
if (!Utils.ValidateShortcut(shortcut))
{
return;
}
var preset = GetSelectedGamePreset();
var name = edtGameName.Text.Trim();
if (name.Length == 0 || _gameService.GetPresets().Any(x => x.id != preset.id && x.name.Equals(name, StringComparison.OrdinalIgnoreCase)))
{
MessageForms.WarningOk("The name can not be empty and must be unique.");
return;
}
preset.name = name;
preset.Path = edtGamePath.Text;
preset.Parameters = edtGameParameters.Text;
preset.RunAsAdministrator = chkGameRunAsAdmin.Checked;
preset.ShowInQuickAccess = chkGameQuickAccess.Checked;
var clear = !string.IsNullOrEmpty(preset.shortcut);
var shortcutChanged = !shortcut.Equals(preset.shortcut);
if (shortcutChanged)
{
preset.shortcut = shortcut;
}
var text = edtGamePrelaunchSteps.Text;
var stepsList = (GameStepType)cbxGameStepType.SelectedIndex switch
{
GameStepType.PreLaunch => preset.PreLaunchSteps,
GameStepType.PostLaunch => preset.PostLaunchSteps,
GameStepType.Finalize => preset.FinalizeSteps,
_ => throw new InvalidOperationException("Invalid game step type")
};
Utils.ParseWords(stepsList, text);
AddOrUpdateItemGame();
if (shortcutChanged)
{
Utils.RegisterShortcut(_mainHandle, preset.id, preset.shortcut, clear);
}
}
private void btnGameBrowse_Click(object sender, EventArgs e)
{
var file = Utils.SelectFile();
if (file == null)
{
return;
}
var preset = GetSelectedGamePreset();
preset.Path = file.FullName;
edtGamePath.Text = preset.Path;
if (string.IsNullOrEmpty(preset.name) || preset.name.StartsWith("New preset", StringComparison.OrdinalIgnoreCase))
{
var fileName = Path.GetFileNameWithoutExtension(preset.Path);
edtGameName.Text = fileName;
preset.name = fileName;
}
AddOrUpdateItemGame();
}
private void btnGameDelete_Click(object sender, EventArgs e)
{
var preset = GetSelectedGamePreset();
if (preset == null)
{
return;
}
if (!string.IsNullOrEmpty(preset.shortcut))
{
WinApi.UnregisterHotKey(_mainHandle, preset.id);
}
_gameService.GetPresets().Remove(preset);
var item = lvGamePresets.SelectedItems[0];
lvGamePresets.Items.Remove(item);
}
private void mnuGameAddStep_Opening(object sender, CancelEventArgs e)
{
FormUtils.BuildServicePresetsMenu(mnuGameNvidiaPresets, _nvService, "NVIDIA", miGameAddPreset_Click);
FormUtils.BuildServicePresetsMenu(mnuGameAmdPresets, _amdService, "AMD", miGameAddPreset_Click);
FormUtils.BuildServicePresetsMenu(mnuGameLgPresets, _lgService, "LG", miGameAddPreset_Click);
}
private void miGameAddPreset_Click(object sender, EventArgs e)
{
var item = sender as ToolStripItem;
var preset = item.Tag as PresetBase;
var text = $"{preset.GetType().Name}({preset.name})";
FormUtils.AddStepToTextBox(edtGamePrelaunchSteps, text);
}
private void btnGameAddStep_Click(object sender, EventArgs e)
{
mnuGameAddStep.Show(btnGameAddStep, btnGameAddStep.PointToClient(Cursor.Position));
}
private void mnuGameStartProgram_Click(object sender, EventArgs e)
{
var file = Utils.SelectFile();
if (file != null)
{
FormUtils.AddStepToTextBox(edtGamePrelaunchSteps, $"StartProgram({file.FullName})");
}
}
private void lvGamePresets_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
var files = (string[])e.Data.GetData(DataFormats.FileDrop);
var file = new FileInfo(files.First());
AddGamePreset(file);
}
}
private void lvGamePresets_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.All;
}
private void btnGameActions_Click(object sender, EventArgs e)
{
mnuGameActions.Show(btnGameSettings, btnGameSettings.PointToClient(Cursor.Position));
}
private void mnuGameNvInspector_Click(object sender, EventArgs e)
{
var form = new frmDrvSettings();
form.Show();
}
private void miGameSetQuickAccessShortcut_Click(object sender, EventArgs e)
{
var shortcut = FormUtils.EditShortcut(_config.GameQuickAccessShortcut);
if (shortcut == null)
{
return;
}
var clear = !string.IsNullOrEmpty(_config.GameQuickAccessShortcut);
_config.GameQuickAccessShortcut = shortcut;
Utils.RegisterShortcut(_mainHandle, SHORTCUTID_GAMEQA, _config.GameQuickAccessShortcut, clear);
}
private void mnuGameActions_Opening(object sender, CancelEventArgs e)
{
mnuGameNvInspector.Visible = _nvService != null;
}
private void lvGamePresets_ItemChecked(object sender, ItemCheckedEventArgs e)
{
FormUtils.ListViewItemChecked<GamePreset>(lvGamePresets, e);
}
private void btnGameProcessAffinity_Click(object sender, EventArgs e)
{
var preset = GetSelectedGamePreset();
if (preset == null)
{
return;
}
var numberOfProcessors = Environment.ProcessorCount;
var options = Enumerable.Range(0, numberOfProcessors).Select(i => $"CPU #{i}");
var values = MessageForms.ShowDialog("Set processor affinity", new[] {
new MessageForms.FieldDefinition
{
Label = "Set desired processors which are allowed to run program",
FieldType = MessageForms.FieldType.Flags,
Values = options,
Value = preset.ProcessAffinityMask
}
});
if (!values.Any())
{
return;
}
var value = values.First().Value;
preset.ProcessAffinityMask = (uint)(int)value;
}
private void btnGameOptions_Click(object sender, EventArgs e)
{
mnuGameOptions.Show(btnGameOptions, btnGameOptions.PointToClient(Cursor.Position));
}
private void miGameProcessPriority_Click(object sender, EventArgs e)
{
var preset = GetSelectedGamePreset();
if (preset == null)
{
return;
}
var dropDownValues = Utils.GetDescriptions<GamePriorityClass>();
var values = MessageForms.ShowDialog("Set process priority", new[] {
new MessageForms.FieldDefinition
{
Label = "Set desired process priority",
FieldType = MessageForms.FieldType.DropDown,
Values = dropDownValues,
Value = preset.ProcessPriorityClass > 0 ? ((GamePriorityClass)preset.ProcessPriorityClass).GetDescription() : GamePriorityClass.Normal.GetDescription()
}
});
if (!values.Any())
{
return;
}
var value = values.First().Value.ToString();
var enumName = Utils.GetEnumNameByDescription(typeof(GamePriorityClass), value);
if (enumName != null)
{
value = enumName;
}
var enumValue = Enum.Parse(typeof(GamePriorityClass), value);
preset.ProcessPriorityClass = (uint)(int)enumValue;
}
private void cbxGameStepType_SelectedIndexChanged(object sender, EventArgs e)
{
ShowGameSteps();
}
private void ShowGameSteps()
{
var preset = GetSelectedGamePreset();
if (preset == null)
{
return;
}
switch ((GameStepType)cbxGameStepType.SelectedIndex)
{
case GameStepType.PreLaunch:
edtGamePrelaunchSteps.Text = string.Join(", ", preset.PreLaunchSteps);
break;
case GameStepType.PostLaunch:
edtGamePrelaunchSteps.Text = string.Join(", ", preset.PostLaunchSteps);
break;
case GameStepType.Finalize:
edtGamePrelaunchSteps.Text = string.Join(", ", preset.FinalizeSteps);
break;
}
}
private void edtGamePrelaunchSteps_Leave(object sender, EventArgs e)
{
SaveGamePreset();
}
private void lvLgPresets_ColumnClick(object sender, ColumnClickEventArgs e)
{
FormUtils.ListViewSort(sender, e);
}
}
}
@@ -0,0 +1,60 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>