mirror of
https://github.com/Maassoft/ColorControl.git
synced 2026-10-23 09:02:19 -05:00
move game launcher to separate panel
This commit is contained in:
1 parent
04c6be729f
commit
dd64ba491b
6 files changed
+1059
-852
No files matched your search
Generated
-432
@@ -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
@@ -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);
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
Reference in new issue
Block a user