mirror of
https://github.com/terrymacdonald/DisplayMagician.git
synced 2024-08-30 18:32:20 +00:00
First working display background per profile
Added functionality to implement display wallpaper changes with each display profile as per #36 and #10. Tested in Windows 10 ok.
This commit is contained in:
parent
ee1d2e4717
commit
9cef45416e
@ -31,11 +31,13 @@ namespace DisplayMagician.UIForms
|
|||||||
{
|
{
|
||||||
this.btn_back = new System.Windows.Forms.Button();
|
this.btn_back = new System.Windows.Forms.Button();
|
||||||
this.gb_general = new System.Windows.Forms.GroupBox();
|
this.gb_general = new System.Windows.Forms.GroupBox();
|
||||||
|
this.rb_leave_wallpaper = new System.Windows.Forms.RadioButton();
|
||||||
|
this.rb_clear_wallpaper = new System.Windows.Forms.RadioButton();
|
||||||
|
this.rb_apply_wallpaper = new System.Windows.Forms.RadioButton();
|
||||||
this.btn_current = new System.Windows.Forms.Button();
|
this.btn_current = new System.Windows.Forms.Button();
|
||||||
this.btn_clear = new System.Windows.Forms.Button();
|
this.btn_clear = new System.Windows.Forms.Button();
|
||||||
this.pb_wallpaper = new System.Windows.Forms.PictureBox();
|
this.pb_wallpaper = new System.Windows.Forms.PictureBox();
|
||||||
this.btn_select = new System.Windows.Forms.Button();
|
this.btn_select = new System.Windows.Forms.Button();
|
||||||
this.cb_set_wallpaper = new System.Windows.Forms.CheckBox();
|
|
||||||
this.lbl_style = new System.Windows.Forms.Label();
|
this.lbl_style = new System.Windows.Forms.Label();
|
||||||
this.cmb_wallpaper_display_mode = new System.Windows.Forms.ComboBox();
|
this.cmb_wallpaper_display_mode = new System.Windows.Forms.ComboBox();
|
||||||
this.gb_general.SuspendLayout();
|
this.gb_general.SuspendLayout();
|
||||||
@ -50,7 +52,7 @@ namespace DisplayMagician.UIForms
|
|||||||
this.btn_back.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown;
|
this.btn_back.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown;
|
||||||
this.btn_back.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
this.btn_back.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||||
this.btn_back.ForeColor = System.Drawing.Color.White;
|
this.btn_back.ForeColor = System.Drawing.Color.White;
|
||||||
this.btn_back.Location = new System.Drawing.Point(476, 380);
|
this.btn_back.Location = new System.Drawing.Point(476, 436);
|
||||||
this.btn_back.Name = "btn_back";
|
this.btn_back.Name = "btn_back";
|
||||||
this.btn_back.Size = new System.Drawing.Size(75, 23);
|
this.btn_back.Size = new System.Drawing.Size(75, 23);
|
||||||
this.btn_back.TabIndex = 9;
|
this.btn_back.TabIndex = 9;
|
||||||
@ -60,22 +62,59 @@ namespace DisplayMagician.UIForms
|
|||||||
//
|
//
|
||||||
// gb_general
|
// gb_general
|
||||||
//
|
//
|
||||||
|
this.gb_general.Controls.Add(this.rb_leave_wallpaper);
|
||||||
|
this.gb_general.Controls.Add(this.rb_clear_wallpaper);
|
||||||
|
this.gb_general.Controls.Add(this.rb_apply_wallpaper);
|
||||||
this.gb_general.Controls.Add(this.btn_current);
|
this.gb_general.Controls.Add(this.btn_current);
|
||||||
this.gb_general.Controls.Add(this.btn_clear);
|
this.gb_general.Controls.Add(this.btn_clear);
|
||||||
this.gb_general.Controls.Add(this.pb_wallpaper);
|
this.gb_general.Controls.Add(this.pb_wallpaper);
|
||||||
this.gb_general.Controls.Add(this.btn_select);
|
this.gb_general.Controls.Add(this.btn_select);
|
||||||
this.gb_general.Controls.Add(this.cb_set_wallpaper);
|
|
||||||
this.gb_general.Controls.Add(this.lbl_style);
|
this.gb_general.Controls.Add(this.lbl_style);
|
||||||
this.gb_general.Controls.Add(this.cmb_wallpaper_display_mode);
|
this.gb_general.Controls.Add(this.cmb_wallpaper_display_mode);
|
||||||
this.gb_general.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.gb_general.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.gb_general.ForeColor = System.Drawing.Color.White;
|
this.gb_general.ForeColor = System.Drawing.Color.White;
|
||||||
this.gb_general.Location = new System.Drawing.Point(27, 21);
|
this.gb_general.Location = new System.Drawing.Point(27, 27);
|
||||||
this.gb_general.Name = "gb_general";
|
this.gb_general.Name = "gb_general";
|
||||||
this.gb_general.Size = new System.Drawing.Size(525, 337);
|
this.gb_general.Size = new System.Drawing.Size(525, 381);
|
||||||
this.gb_general.TabIndex = 11;
|
this.gb_general.TabIndex = 11;
|
||||||
this.gb_general.TabStop = false;
|
this.gb_general.TabStop = false;
|
||||||
this.gb_general.Text = "Wallpaper Settings";
|
this.gb_general.Text = "Wallpaper Settings";
|
||||||
//
|
//
|
||||||
|
// rb_leave_wallpaper
|
||||||
|
//
|
||||||
|
this.rb_leave_wallpaper.AutoSize = true;
|
||||||
|
this.rb_leave_wallpaper.Checked = true;
|
||||||
|
this.rb_leave_wallpaper.Location = new System.Drawing.Point(28, 30);
|
||||||
|
this.rb_leave_wallpaper.Name = "rb_leave_wallpaper";
|
||||||
|
this.rb_leave_wallpaper.Size = new System.Drawing.Size(146, 20);
|
||||||
|
this.rb_leave_wallpaper.TabIndex = 22;
|
||||||
|
this.rb_leave_wallpaper.TabStop = true;
|
||||||
|
this.rb_leave_wallpaper.Text = "Do Nothing (Default)";
|
||||||
|
this.rb_leave_wallpaper.UseVisualStyleBackColor = true;
|
||||||
|
this.rb_leave_wallpaper.CheckedChanged += new System.EventHandler(this.rb_leave_wallpaper_CheckedChanged);
|
||||||
|
//
|
||||||
|
// rb_clear_wallpaper
|
||||||
|
//
|
||||||
|
this.rb_clear_wallpaper.AutoSize = true;
|
||||||
|
this.rb_clear_wallpaper.Location = new System.Drawing.Point(28, 56);
|
||||||
|
this.rb_clear_wallpaper.Name = "rb_clear_wallpaper";
|
||||||
|
this.rb_clear_wallpaper.Size = new System.Drawing.Size(381, 20);
|
||||||
|
this.rb_clear_wallpaper.TabIndex = 21;
|
||||||
|
this.rb_clear_wallpaper.Text = "Clear the Desktop Wallpaper when using this Display Profile";
|
||||||
|
this.rb_clear_wallpaper.UseVisualStyleBackColor = true;
|
||||||
|
this.rb_clear_wallpaper.CheckedChanged += new System.EventHandler(this.rb_clear_wallpaper_CheckedChanged);
|
||||||
|
//
|
||||||
|
// rb_apply_wallpaper
|
||||||
|
//
|
||||||
|
this.rb_apply_wallpaper.AutoSize = true;
|
||||||
|
this.rb_apply_wallpaper.Location = new System.Drawing.Point(28, 82);
|
||||||
|
this.rb_apply_wallpaper.Name = "rb_apply_wallpaper";
|
||||||
|
this.rb_apply_wallpaper.Size = new System.Drawing.Size(386, 20);
|
||||||
|
this.rb_apply_wallpaper.TabIndex = 20;
|
||||||
|
this.rb_apply_wallpaper.Text = "Apply this Desktop Wallpaper when using this Display Profile";
|
||||||
|
this.rb_apply_wallpaper.UseVisualStyleBackColor = true;
|
||||||
|
this.rb_apply_wallpaper.CheckedChanged += new System.EventHandler(this.rb_apply_wallpaper_CheckedChanged);
|
||||||
|
//
|
||||||
// btn_current
|
// btn_current
|
||||||
//
|
//
|
||||||
this.btn_current.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.btn_current.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
@ -86,7 +125,7 @@ namespace DisplayMagician.UIForms
|
|||||||
this.btn_current.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.btn_current.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.btn_current.ForeColor = System.Drawing.Color.White;
|
this.btn_current.ForeColor = System.Drawing.Color.White;
|
||||||
this.btn_current.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
this.btn_current.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||||
this.btn_current.Location = new System.Drawing.Point(417, 158);
|
this.btn_current.Location = new System.Drawing.Point(417, 201);
|
||||||
this.btn_current.Name = "btn_current";
|
this.btn_current.Name = "btn_current";
|
||||||
this.btn_current.Size = new System.Drawing.Size(75, 23);
|
this.btn_current.Size = new System.Drawing.Size(75, 23);
|
||||||
this.btn_current.TabIndex = 19;
|
this.btn_current.TabIndex = 19;
|
||||||
@ -104,7 +143,7 @@ namespace DisplayMagician.UIForms
|
|||||||
this.btn_clear.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.btn_clear.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.btn_clear.ForeColor = System.Drawing.Color.White;
|
this.btn_clear.ForeColor = System.Drawing.Color.White;
|
||||||
this.btn_clear.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
this.btn_clear.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||||
this.btn_clear.Location = new System.Drawing.Point(417, 187);
|
this.btn_clear.Location = new System.Drawing.Point(417, 230);
|
||||||
this.btn_clear.Name = "btn_clear";
|
this.btn_clear.Name = "btn_clear";
|
||||||
this.btn_clear.Size = new System.Drawing.Size(75, 23);
|
this.btn_clear.Size = new System.Drawing.Size(75, 23);
|
||||||
this.btn_clear.TabIndex = 18;
|
this.btn_clear.TabIndex = 18;
|
||||||
@ -118,7 +157,7 @@ namespace DisplayMagician.UIForms
|
|||||||
this.pb_wallpaper.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
|
this.pb_wallpaper.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
|
||||||
this.pb_wallpaper.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
this.pb_wallpaper.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
this.pb_wallpaper.Enabled = false;
|
this.pb_wallpaper.Enabled = false;
|
||||||
this.pb_wallpaper.Location = new System.Drawing.Point(28, 68);
|
this.pb_wallpaper.Location = new System.Drawing.Point(28, 111);
|
||||||
this.pb_wallpaper.Name = "pb_wallpaper";
|
this.pb_wallpaper.Name = "pb_wallpaper";
|
||||||
this.pb_wallpaper.Size = new System.Drawing.Size(381, 212);
|
this.pb_wallpaper.Size = new System.Drawing.Size(381, 212);
|
||||||
this.pb_wallpaper.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
this.pb_wallpaper.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
@ -135,7 +174,7 @@ namespace DisplayMagician.UIForms
|
|||||||
this.btn_select.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.btn_select.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.btn_select.ForeColor = System.Drawing.Color.White;
|
this.btn_select.ForeColor = System.Drawing.Color.White;
|
||||||
this.btn_select.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
this.btn_select.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||||
this.btn_select.Location = new System.Drawing.Point(417, 129);
|
this.btn_select.Location = new System.Drawing.Point(417, 172);
|
||||||
this.btn_select.Name = "btn_select";
|
this.btn_select.Name = "btn_select";
|
||||||
this.btn_select.Size = new System.Drawing.Size(75, 23);
|
this.btn_select.Size = new System.Drawing.Size(75, 23);
|
||||||
this.btn_select.TabIndex = 16;
|
this.btn_select.TabIndex = 16;
|
||||||
@ -143,28 +182,13 @@ namespace DisplayMagician.UIForms
|
|||||||
this.btn_select.UseVisualStyleBackColor = true;
|
this.btn_select.UseVisualStyleBackColor = true;
|
||||||
this.btn_select.Click += new System.EventHandler(this.btn_select_wallpaper_Click);
|
this.btn_select.Click += new System.EventHandler(this.btn_select_wallpaper_Click);
|
||||||
//
|
//
|
||||||
// cb_set_wallpaper
|
|
||||||
//
|
|
||||||
this.cb_set_wallpaper.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
|
||||||
this.cb_set_wallpaper.AutoSize = true;
|
|
||||||
this.cb_set_wallpaper.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F);
|
|
||||||
this.cb_set_wallpaper.ForeColor = System.Drawing.Color.White;
|
|
||||||
this.cb_set_wallpaper.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
|
||||||
this.cb_set_wallpaper.Location = new System.Drawing.Point(28, 36);
|
|
||||||
this.cb_set_wallpaper.Name = "cb_set_wallpaper";
|
|
||||||
this.cb_set_wallpaper.Size = new System.Drawing.Size(333, 20);
|
|
||||||
this.cb_set_wallpaper.TabIndex = 14;
|
|
||||||
this.cb_set_wallpaper.Text = "Apply this Wallpaper when using this Display Profile";
|
|
||||||
this.cb_set_wallpaper.UseVisualStyleBackColor = true;
|
|
||||||
this.cb_set_wallpaper.CheckedChanged += new System.EventHandler(this.cb_set_wallpaper_CheckedChanged);
|
|
||||||
//
|
|
||||||
// lbl_style
|
// lbl_style
|
||||||
//
|
//
|
||||||
this.lbl_style.AutoSize = true;
|
this.lbl_style.AutoSize = true;
|
||||||
this.lbl_style.Enabled = false;
|
this.lbl_style.Enabled = false;
|
||||||
this.lbl_style.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.lbl_style.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.lbl_style.ForeColor = System.Drawing.Color.Transparent;
|
this.lbl_style.ForeColor = System.Drawing.Color.Transparent;
|
||||||
this.lbl_style.Location = new System.Drawing.Point(176, 291);
|
this.lbl_style.Location = new System.Drawing.Point(176, 334);
|
||||||
this.lbl_style.Name = "lbl_style";
|
this.lbl_style.Name = "lbl_style";
|
||||||
this.lbl_style.Size = new System.Drawing.Size(44, 16);
|
this.lbl_style.Size = new System.Drawing.Size(44, 16);
|
||||||
this.lbl_style.TabIndex = 13;
|
this.lbl_style.TabIndex = 13;
|
||||||
@ -175,7 +199,7 @@ namespace DisplayMagician.UIForms
|
|||||||
this.cmb_wallpaper_display_mode.Enabled = false;
|
this.cmb_wallpaper_display_mode.Enabled = false;
|
||||||
this.cmb_wallpaper_display_mode.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.cmb_wallpaper_display_mode.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.cmb_wallpaper_display_mode.FormattingEnabled = true;
|
this.cmb_wallpaper_display_mode.FormattingEnabled = true;
|
||||||
this.cmb_wallpaper_display_mode.Location = new System.Drawing.Point(226, 286);
|
this.cmb_wallpaper_display_mode.Location = new System.Drawing.Point(226, 329);
|
||||||
this.cmb_wallpaper_display_mode.Name = "cmb_wallpaper_display_mode";
|
this.cmb_wallpaper_display_mode.Name = "cmb_wallpaper_display_mode";
|
||||||
this.cmb_wallpaper_display_mode.Size = new System.Drawing.Size(183, 24);
|
this.cmb_wallpaper_display_mode.Size = new System.Drawing.Size(183, 24);
|
||||||
this.cmb_wallpaper_display_mode.TabIndex = 12;
|
this.cmb_wallpaper_display_mode.TabIndex = 12;
|
||||||
@ -186,7 +210,7 @@ namespace DisplayMagician.UIForms
|
|||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.BackColor = System.Drawing.Color.Black;
|
this.BackColor = System.Drawing.Color.Black;
|
||||||
this.ClientSize = new System.Drawing.Size(580, 427);
|
this.ClientSize = new System.Drawing.Size(580, 483);
|
||||||
this.Controls.Add(this.gb_general);
|
this.Controls.Add(this.gb_general);
|
||||||
this.Controls.Add(this.btn_back);
|
this.Controls.Add(this.btn_back);
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||||
@ -210,12 +234,14 @@ namespace DisplayMagician.UIForms
|
|||||||
#endregion
|
#endregion
|
||||||
private System.Windows.Forms.Button btn_back;
|
private System.Windows.Forms.Button btn_back;
|
||||||
private System.Windows.Forms.GroupBox gb_general;
|
private System.Windows.Forms.GroupBox gb_general;
|
||||||
private System.Windows.Forms.CheckBox cb_set_wallpaper;
|
|
||||||
private System.Windows.Forms.Label lbl_style;
|
private System.Windows.Forms.Label lbl_style;
|
||||||
private System.Windows.Forms.ComboBox cmb_wallpaper_display_mode;
|
private System.Windows.Forms.ComboBox cmb_wallpaper_display_mode;
|
||||||
private System.Windows.Forms.Button btn_select;
|
private System.Windows.Forms.Button btn_select;
|
||||||
private System.Windows.Forms.Button btn_clear;
|
private System.Windows.Forms.Button btn_clear;
|
||||||
private System.Windows.Forms.PictureBox pb_wallpaper;
|
private System.Windows.Forms.PictureBox pb_wallpaper;
|
||||||
private System.Windows.Forms.Button btn_current;
|
private System.Windows.Forms.Button btn_current;
|
||||||
|
private System.Windows.Forms.RadioButton rb_leave_wallpaper;
|
||||||
|
private System.Windows.Forms.RadioButton rb_clear_wallpaper;
|
||||||
|
private System.Windows.Forms.RadioButton rb_apply_wallpaper;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -28,12 +28,12 @@ namespace DisplayMagician.UIForms
|
|||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
// Populate the Style dictionary
|
// Populate the Style dictionary
|
||||||
wallpaperStyleText.Add(Wallpaper.Style.Center, "Center the Wallpaper");
|
|
||||||
wallpaperStyleText.Add(Wallpaper.Style.Fill, "Fill the Wallpaper");
|
wallpaperStyleText.Add(Wallpaper.Style.Fill, "Fill the Wallpaper");
|
||||||
wallpaperStyleText.Add(Wallpaper.Style.Fit, "Fit the Wallpaper");
|
wallpaperStyleText.Add(Wallpaper.Style.Fit, "Fit the Wallpaper");
|
||||||
wallpaperStyleText.Add(Wallpaper.Style.Stretch, "Stretch the Wallpaper");
|
wallpaperStyleText.Add(Wallpaper.Style.Stretch, "Stretch the Wallpaper");
|
||||||
wallpaperStyleText.Add(Wallpaper.Style.Span, "Span the Wallpaper");
|
|
||||||
wallpaperStyleText.Add(Wallpaper.Style.Tile, "Tile the Wallpaper");
|
wallpaperStyleText.Add(Wallpaper.Style.Tile, "Tile the Wallpaper");
|
||||||
|
wallpaperStyleText.Add(Wallpaper.Style.Center, "Center the Wallpaper");
|
||||||
|
wallpaperStyleText.Add(Wallpaper.Style.Span, "Span the Wallpaper");
|
||||||
|
|
||||||
cmb_wallpaper_display_mode.DisplayMember = "Value";
|
cmb_wallpaper_display_mode.DisplayMember = "Value";
|
||||||
cmb_wallpaper_display_mode.ValueMember = "Text";
|
cmb_wallpaper_display_mode.ValueMember = "Text";
|
||||||
@ -61,10 +61,10 @@ namespace DisplayMagician.UIForms
|
|||||||
|
|
||||||
private void ProfileSettingsForm_Load(object sender, EventArgs e)
|
private void ProfileSettingsForm_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (Profile.SetWallpaper)
|
if (Profile.WallpaperMode.Equals(Wallpaper.Mode.Apply))
|
||||||
{
|
{
|
||||||
logger.Info($"ProfileSettingsForm/ProfileSettingsForm_Load: Profile {Profile.Name} has loaded with Set Wallpaper enabled and Wallpaper Style {Profile.WallpaperStyle.ToString("G")} and Wallpaper Filename of {Profile.WallpaperBitmapFilename}.");
|
logger.Info($"ProfileSettingsForm/ProfileSettingsForm_Load: Profile {Profile.Name} has loaded with Apply Wallpaper enabled and Wallpaper Style {Profile.WallpaperStyle.ToString("G")} and Wallpaper Filename of {Profile.WallpaperBitmapFilename}.");
|
||||||
cb_set_wallpaper.Checked = true;
|
rb_apply_wallpaper.Checked = true;
|
||||||
cmb_wallpaper_display_mode.SelectedIndex = cmb_wallpaper_display_mode.FindStringExact(wallpaperStyleText[Profile.WallpaperStyle]);
|
cmb_wallpaper_display_mode.SelectedIndex = cmb_wallpaper_display_mode.FindStringExact(wallpaperStyleText[Profile.WallpaperStyle]);
|
||||||
if (Profile.WallpaperBitmapFilename != "" && File.Exists(Profile.WallpaperBitmapFilename))
|
if (Profile.WallpaperBitmapFilename != "" && File.Exists(Profile.WallpaperBitmapFilename))
|
||||||
{
|
{
|
||||||
@ -77,36 +77,55 @@ namespace DisplayMagician.UIForms
|
|||||||
pb_wallpaper.Image = wallpaperImage;
|
pb_wallpaper.Image = wallpaperImage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (Profile.WallpaperMode.Equals(Wallpaper.Mode.Clear))
|
||||||
|
{
|
||||||
|
logger.Info($"ProfileSettingsForm/ProfileSettingsForm_Load: Profile {Profile.Name} has loaded with Clear Wallpaper enabled.");
|
||||||
|
rb_clear_wallpaper.Checked = true;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cb_set_wallpaper.Checked = false;
|
logger.Info($"ProfileSettingsForm/ProfileSettingsForm_Load: Profile {Profile.Name} is set to do nothing.");
|
||||||
|
rb_leave_wallpaper.Checked = true;
|
||||||
|
cmb_wallpaper_display_mode.SelectedIndex = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ProfileSettingsForm_FormClosing(object sender, FormClosingEventArgs e)
|
private void ProfileSettingsForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
{
|
{
|
||||||
Profile.SetWallpaper = cb_set_wallpaper.Checked;
|
if (rb_apply_wallpaper.Checked)
|
||||||
|
{
|
||||||
|
Profile.WallpaperMode = Wallpaper.Mode.Apply;
|
||||||
|
}
|
||||||
|
else if (rb_clear_wallpaper.Checked)
|
||||||
|
{
|
||||||
|
Profile.WallpaperMode = Wallpaper.Mode.Clear;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Profile.WallpaperMode = Wallpaper.Mode.DoNothing;
|
||||||
|
}
|
||||||
|
|
||||||
Profile.WallpaperStyle = ((KeyValuePair<Wallpaper.Style, string>)cmb_wallpaper_display_mode.SelectedItem).Key;
|
Profile.WallpaperStyle = ((KeyValuePair<Wallpaper.Style, string>)cmb_wallpaper_display_mode.SelectedItem).Key;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btn_back_Click(object sender, EventArgs e)
|
private void btn_back_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// Check that if there isn't an image, and yet apply this profile checkbox is selected, then we need to unselect it to stop an error state
|
// Check that if there isn't an image, and yet apply this profile checkbox is selected, then we need to unselect it to stop an error state
|
||||||
if (cb_set_wallpaper.Checked == true && (Profile.WallpaperBitmapFilename == "" || Profile.WallpaperBitmapFilename == null))
|
if (rb_apply_wallpaper.Checked == true && (Profile.WallpaperBitmapFilename == "" || Profile.WallpaperBitmapFilename == null))
|
||||||
{
|
{
|
||||||
// We need to force turn off the application of the desktop wallpaper as it won't work
|
// We need to force turn off the application of the desktop wallpaper as it won't work
|
||||||
Profile.SetWallpaper = false;
|
Profile.WallpaperMode = Wallpaper.Mode.DoNothing;
|
||||||
Profile.WallpaperBitmapFilename = "";
|
Profile.WallpaperBitmapFilename = "";
|
||||||
cb_set_wallpaper.Checked = false;
|
rb_apply_wallpaper.Checked = false;
|
||||||
}
|
}
|
||||||
this.Close();
|
this.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cb_set_wallpaper_CheckedChanged(object sender, EventArgs e)
|
private void rb_apply_wallpaper_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
_profileSettingChanged = true;
|
_profileSettingChanged = true;
|
||||||
if (cb_set_wallpaper.Checked)
|
if (rb_apply_wallpaper.Checked)
|
||||||
{
|
{
|
||||||
// Enable all the things
|
// Enable all the things
|
||||||
pb_wallpaper.Enabled = true;
|
pb_wallpaper.Enabled = true;
|
||||||
@ -116,16 +135,6 @@ namespace DisplayMagician.UIForms
|
|||||||
lbl_style.Enabled = true;
|
lbl_style.Enabled = true;
|
||||||
cmb_wallpaper_display_mode.Enabled = true;
|
cmb_wallpaper_display_mode.Enabled = true;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
// Disable all the things
|
|
||||||
pb_wallpaper.Enabled = false;
|
|
||||||
btn_select.Enabled = false;
|
|
||||||
btn_current.Enabled = false;
|
|
||||||
btn_clear.Enabled = false;
|
|
||||||
lbl_style.Enabled = false;
|
|
||||||
cmb_wallpaper_display_mode.Enabled = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cmb_wallpaper_display_mode_SelectedIndexChanged(object sender, EventArgs e)
|
private void cmb_wallpaper_display_mode_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
@ -274,5 +283,37 @@ namespace DisplayMagician.UIForms
|
|||||||
pb_wallpaper.Image = wallpaperImage;
|
pb_wallpaper.Image = wallpaperImage;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void rb_clear_wallpaper_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
_profileSettingChanged = true;
|
||||||
|
if (rb_clear_wallpaper.Checked)
|
||||||
|
{
|
||||||
|
// Disable all the things
|
||||||
|
pb_wallpaper.Enabled = false;
|
||||||
|
btn_select.Enabled = false;
|
||||||
|
btn_current.Enabled = false;
|
||||||
|
btn_clear.Enabled = false;
|
||||||
|
lbl_style.Enabled = false;
|
||||||
|
cmb_wallpaper_display_mode.Enabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void rb_leave_wallpaper_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
_profileSettingChanged = true;
|
||||||
|
if (rb_leave_wallpaper.Checked)
|
||||||
|
{
|
||||||
|
// Disable all the things
|
||||||
|
pb_wallpaper.Enabled = false;
|
||||||
|
btn_select.Enabled = false;
|
||||||
|
btn_current.Enabled = false;
|
||||||
|
btn_clear.Enabled = false;
|
||||||
|
lbl_style.Enabled = false;
|
||||||
|
cmb_wallpaper_display_mode.Enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -236,7 +236,7 @@ namespace DisplayMagicianShared
|
|||||||
|
|
||||||
public string SavedProfileIconCacheFilename { get; set; }
|
public string SavedProfileIconCacheFilename { get; set; }
|
||||||
|
|
||||||
public bool SetWallpaper { get; set; }
|
public Wallpaper.Mode WallpaperMode { get; set; }
|
||||||
|
|
||||||
public Wallpaper.Style WallpaperStyle { get; set; }
|
public Wallpaper.Style WallpaperStyle { get; set; }
|
||||||
|
|
||||||
@ -356,7 +356,7 @@ namespace DisplayMagicianShared
|
|||||||
profile.ProfileBitmap = ProfileBitmap;
|
profile.ProfileBitmap = ProfileBitmap;
|
||||||
profile.ProfileTightestBitmap = ProfileTightestBitmap;
|
profile.ProfileTightestBitmap = ProfileTightestBitmap;
|
||||||
profile.ProfileDisplayIdentifiers = ProfileDisplayIdentifiers;
|
profile.ProfileDisplayIdentifiers = ProfileDisplayIdentifiers;
|
||||||
profile.SetWallpaper = SetWallpaper;
|
profile.WallpaperMode = WallpaperMode;
|
||||||
profile.WallpaperBitmapFilename = WallpaperBitmapFilename;
|
profile.WallpaperBitmapFilename = WallpaperBitmapFilename;
|
||||||
profile.WallpaperStyle = WallpaperStyle;
|
profile.WallpaperStyle = WallpaperStyle;
|
||||||
return true;
|
return true;
|
||||||
|
@ -1051,10 +1051,10 @@ namespace DisplayMagicianShared
|
|||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
// If the applying path info worked, then we attempt to set the desktop background
|
// If the applying path info worked, then we attempt to set the desktop background if needed
|
||||||
if (profile.SetWallpaper)
|
if (profile.WallpaperMode.Equals(Wallpaper.Mode.Apply) && !String.IsNullOrWhiteSpace(profile.WallpaperBitmapFilename))
|
||||||
{
|
{
|
||||||
if (Wallpaper.Set(profile.SavedProfileIconCacheFilename, profile.WallpaperStyle))
|
if (Wallpaper.Set(profile.WallpaperBitmapFilename, profile.WallpaperStyle))
|
||||||
{
|
{
|
||||||
SharedLogger.logger.Trace($"Program/ApplyProfile: We attempted to set the desktop wallpaper to {profile.SavedProfileIconCacheFilename} using {profile.WallpaperStyle} style for profile {profile.Name}, and it worked!");
|
SharedLogger.logger.Trace($"Program/ApplyProfile: We attempted to set the desktop wallpaper to {profile.SavedProfileIconCacheFilename} using {profile.WallpaperStyle} style for profile {profile.Name}, and it worked!");
|
||||||
}
|
}
|
||||||
@ -1063,6 +1063,17 @@ namespace DisplayMagicianShared
|
|||||||
SharedLogger.logger.Warn($"Program/ApplyProfile: We attempted to set the desktop wallpaper to {profile.SavedProfileIconCacheFilename} using {profile.WallpaperStyle} style for profile {profile.Name}, and it failed :(");
|
SharedLogger.logger.Warn($"Program/ApplyProfile: We attempted to set the desktop wallpaper to {profile.SavedProfileIconCacheFilename} using {profile.WallpaperStyle} style for profile {profile.Name}, and it failed :(");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (profile.WallpaperMode.Equals(Wallpaper.Mode.Clear))
|
||||||
|
{
|
||||||
|
if (Wallpaper.Clear())
|
||||||
|
{
|
||||||
|
SharedLogger.logger.Trace($"Program/ApplyProfile: We attempted to clear the desktop wallpaper and it worked!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SharedLogger.logger.Warn($"Program/ApplyProfile: We attempted to clear the desktop wallpaper and it failed :(");
|
||||||
|
}
|
||||||
|
}
|
||||||
// We stop the stop watch
|
// We stop the stop watch
|
||||||
stopWatch.Stop();
|
stopWatch.Stop();
|
||||||
// Get the elapsed time as a TimeSpan value.
|
// Get the elapsed time as a TimeSpan value.
|
||||||
|
@ -23,12 +23,19 @@ namespace DisplayMagicianShared
|
|||||||
|
|
||||||
public enum Style : int
|
public enum Style : int
|
||||||
{
|
{
|
||||||
Tile,
|
Fill = 0,
|
||||||
Center,
|
Fit = 1,
|
||||||
Stretch,
|
Stretch = 2,
|
||||||
Fill,
|
Tile = 3,
|
||||||
Fit,
|
Center = 4,
|
||||||
Span
|
Span = 5
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum Mode : int
|
||||||
|
{
|
||||||
|
DoNothing = 0,
|
||||||
|
Clear = 1,
|
||||||
|
Apply = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool Set(String filename, Style style)
|
public static bool Set(String filename, Style style)
|
||||||
@ -83,5 +90,29 @@ namespace DisplayMagicianShared
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static bool Clear()
|
||||||
|
{
|
||||||
|
RegistryKey desktopKey = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", true);
|
||||||
|
desktopKey.SetValue(@"WallPaper", "");
|
||||||
|
|
||||||
|
RegistryKey explorerKey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers", true);
|
||||||
|
explorerKey.SetValue(@"BackgroundType", 1);
|
||||||
|
|
||||||
|
if (SystemParametersInfo(SPI_SETDESKWALLPAPER,
|
||||||
|
0,
|
||||||
|
"",
|
||||||
|
SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE) > 0)
|
||||||
|
{
|
||||||
|
// applying desktop wallpaper worked!
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// applying desktop wallpaper failed!
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user