mirror of
https://github.com/terrymacdonald/DisplayMagician.git
synced 2024-08-30 18:32:20 +00:00
Merge branch 'feature/start-on-boot' into develop
This commit is contained in:
commit
999217c9b8
@ -232,6 +232,9 @@
|
||||
<PackageReference Include="Autoupdater.NET.Official">
|
||||
<Version>1.6.4</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="BootMeUp">
|
||||
<Version>1.2.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="CircularProgressBar">
|
||||
<Version>2.8.0.16</Version>
|
||||
</PackageReference>
|
||||
@ -239,7 +242,7 @@
|
||||
<Version>1.2.0.1</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="HtmlAgilityPack">
|
||||
<Version>1.11.24</Version>
|
||||
<Version>1.11.29</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="IconExtractor.dll">
|
||||
<Version>1.0.2.1-beta</Version>
|
||||
@ -257,7 +260,7 @@
|
||||
<Version>3.0.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers">
|
||||
<Version>3.3.0-beta2.final</Version>
|
||||
<Version>3.3.2</Version>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
|
@ -20,11 +20,28 @@ namespace DisplayMagician
|
||||
#endregion
|
||||
|
||||
#region Instance Variables
|
||||
private bool _startOnBootUp = false;
|
||||
private bool _minimiseOnStart = false;
|
||||
private string _logLevel = NLog.LogLevel.Warn.ToString();
|
||||
#endregion
|
||||
|
||||
#region Class Properties
|
||||
public bool StartOnBootUp
|
||||
{
|
||||
get
|
||||
{
|
||||
return _startOnBootUp;
|
||||
}
|
||||
set
|
||||
{
|
||||
_startOnBootUp = value;
|
||||
|
||||
// Because a value has changed, we need to save the setting
|
||||
// to remember it for later.
|
||||
if (_programSettingsLoaded)
|
||||
SaveSettings();
|
||||
}
|
||||
}
|
||||
public bool MinimiseOnStart {
|
||||
get
|
||||
{
|
||||
|
@ -743,12 +743,18 @@ namespace DisplayMagician
|
||||
Console.WriteLine($"Starting Steam Game: {steamGameToRun.Name}");
|
||||
var steamProcess = Process.Start(address);
|
||||
|
||||
// Delay 500ms
|
||||
Thread.Sleep(500);
|
||||
|
||||
// Wait for Steam game to update if needed
|
||||
for (int secs = 0; secs >= (shortcutToUse.StartTimeout * 1000); secs += 500)
|
||||
{
|
||||
|
||||
if (!steamGameToRun.IsUpdating)
|
||||
{
|
||||
// Delay 500ms
|
||||
Thread.Sleep(500);
|
||||
|
||||
if (steamGameToRun.IsRunning)
|
||||
{
|
||||
logger.Info($"Found the '{steamGameToRun.Name}' process has started");
|
||||
|
25
DisplayMagician/UIForms/SettingsForm.Designer.cs
generated
25
DisplayMagician/UIForms/SettingsForm.Designer.cs
generated
@ -33,6 +33,7 @@ namespace DisplayMagician.UIForms
|
||||
this.cmb_loglevel = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.btn_back = new System.Windows.Forms.Button();
|
||||
this.cb_start_on_boot = new System.Windows.Forms.CheckBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// cb_minimise_notification_area
|
||||
@ -42,7 +43,7 @@ namespace DisplayMagician.UIForms
|
||||
this.cb_minimise_notification_area.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F);
|
||||
this.cb_minimise_notification_area.ForeColor = System.Drawing.Color.White;
|
||||
this.cb_minimise_notification_area.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||
this.cb_minimise_notification_area.Location = new System.Drawing.Point(73, 41);
|
||||
this.cb_minimise_notification_area.Location = new System.Drawing.Point(59, 61);
|
||||
this.cb_minimise_notification_area.Name = "cb_minimise_notification_area";
|
||||
this.cb_minimise_notification_area.Size = new System.Drawing.Size(332, 20);
|
||||
this.cb_minimise_notification_area.TabIndex = 6;
|
||||
@ -53,9 +54,9 @@ namespace DisplayMagician.UIForms
|
||||
//
|
||||
this.cmb_loglevel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.cmb_loglevel.FormattingEnabled = true;
|
||||
this.cmb_loglevel.Location = new System.Drawing.Point(213, 86);
|
||||
this.cmb_loglevel.Location = new System.Drawing.Point(199, 100);
|
||||
this.cmb_loglevel.Name = "cmb_loglevel";
|
||||
this.cmb_loglevel.Size = new System.Drawing.Size(275, 24);
|
||||
this.cmb_loglevel.Size = new System.Drawing.Size(294, 24);
|
||||
this.cmb_loglevel.TabIndex = 7;
|
||||
//
|
||||
// label1
|
||||
@ -63,7 +64,7 @@ namespace DisplayMagician.UIForms
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label1.ForeColor = System.Drawing.Color.Transparent;
|
||||
this.label1.Location = new System.Drawing.Point(70, 89);
|
||||
this.label1.Location = new System.Drawing.Point(56, 103);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(137, 16);
|
||||
this.label1.TabIndex = 8;
|
||||
@ -85,12 +86,27 @@ namespace DisplayMagician.UIForms
|
||||
this.btn_back.UseVisualStyleBackColor = true;
|
||||
this.btn_back.Click += new System.EventHandler(this.btn_back_Click);
|
||||
//
|
||||
// cb_start_on_boot
|
||||
//
|
||||
this.cb_start_on_boot.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.cb_start_on_boot.AutoSize = true;
|
||||
this.cb_start_on_boot.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F);
|
||||
this.cb_start_on_boot.ForeColor = System.Drawing.Color.White;
|
||||
this.cb_start_on_boot.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||
this.cb_start_on_boot.Location = new System.Drawing.Point(59, 25);
|
||||
this.cb_start_on_boot.Name = "cb_start_on_boot";
|
||||
this.cb_start_on_boot.Size = new System.Drawing.Size(389, 20);
|
||||
this.cb_start_on_boot.TabIndex = 10;
|
||||
this.cb_start_on_boot.Text = "Start DisplayMagician automatically when the computer starts";
|
||||
this.cb_start_on_boot.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// SettingsForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.Black;
|
||||
this.ClientSize = new System.Drawing.Size(544, 187);
|
||||
this.Controls.Add(this.cb_start_on_boot);
|
||||
this.Controls.Add(this.btn_back);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.cmb_loglevel);
|
||||
@ -117,5 +133,6 @@ namespace DisplayMagician.UIForms
|
||||
private System.Windows.Forms.ComboBox cmb_loglevel;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Button btn_back;
|
||||
private System.Windows.Forms.CheckBox cb_start_on_boot;
|
||||
}
|
||||
}
|
@ -7,6 +7,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using WK.Libraries.BootMeUpNS;
|
||||
|
||||
namespace DisplayMagician.UIForms
|
||||
{
|
||||
@ -36,12 +37,19 @@ namespace DisplayMagician.UIForms
|
||||
|
||||
private void SettingsForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
// start displaymagician when computer starts
|
||||
if (Program.AppProgramSettings.StartOnBootUp)
|
||||
cb_start_on_boot.Checked = true;
|
||||
else
|
||||
cb_start_on_boot.Checked = false;
|
||||
|
||||
// setup minimise on start
|
||||
if (Program.AppProgramSettings.MinimiseOnStart)
|
||||
cb_minimise_notification_area.Checked = true;
|
||||
else
|
||||
cb_minimise_notification_area.Checked = false;
|
||||
|
||||
|
||||
// setup loglevel on start
|
||||
switch (Program.AppProgramSettings.LogLevel)
|
||||
{
|
||||
@ -73,6 +81,30 @@ namespace DisplayMagician.UIForms
|
||||
private void SettingsForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
|
||||
var bootMeUp = new BootMeUp();
|
||||
|
||||
bootMeUp.UseAlternativeOnFail = true;
|
||||
bootMeUp.BootArea = BootMeUp.BootAreas.Registry;
|
||||
bootMeUp.TargetUser = BootMeUp.TargetUsers.CurrentUser;
|
||||
|
||||
// save start on Boot up
|
||||
if (cb_start_on_boot.Checked)
|
||||
{
|
||||
Program.AppProgramSettings.StartOnBootUp = true;
|
||||
bootMeUp.Enabled = true;
|
||||
if (!bootMeUp.Successful)
|
||||
MessageBox.Show("There was an issue setting DisplayMagician to run when the computer starts. Please try launching DisplayMagician again as Admin to see if that helps.");
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
Program.AppProgramSettings.StartOnBootUp = false;
|
||||
bootMeUp.Enabled = false;
|
||||
if (!bootMeUp.Successful)
|
||||
MessageBox.Show("There was an issue stopping DisplayMagician from running when the computer starts. Please try launching DisplayMagician again as Admin to see if that helps.");
|
||||
|
||||
}
|
||||
|
||||
// save minimise on close
|
||||
if (cb_minimise_notification_area.Checked)
|
||||
Program.AppProgramSettings.MinimiseOnStart = true;
|
||||
|
Loading…
Reference in New Issue
Block a user