diff --git a/GUI/GuiUtils.cs b/GUI/GuiUtils.cs
index d021692d2..79abba895 100644
--- a/GUI/GuiUtils.cs
+++ b/GUI/GuiUtils.cs
@@ -17,6 +17,7 @@
*/
using System;
using System.Diagnostics;
+using System.Drawing;
using System.Windows.Forms;
namespace MCGalaxy.Gui
@@ -49,6 +50,13 @@ namespace MCGalaxy.Gui
public static class GuiUtils
{
+ /// MCGalaxy window icon (shared)
+ public static Icon WinIcon;
+
+ public static void SetIcon(Form form) {
+ try { form.Icon = WinIcon; } catch { }
+ }
+
/// Opens the given url in the system's default web browser
/// Catches and logs any unhandled errors
public static void OpenBrowser(string url) {
diff --git a/GUI/Popups/ColorSelector.Designer.cs b/GUI/Popups/ColorSelector.Designer.cs
index ebb07a258..6b35604f3 100644
--- a/GUI/Popups/ColorSelector.Designer.cs
+++ b/GUI/Popups/ColorSelector.Designer.cs
@@ -29,6 +29,7 @@
this.Controls.Add(this.btnCancel);
this.Font = new System.Drawing.Font("Calibri", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Load += new System.EventHandler(this.ColorSelector_Load);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
diff --git a/GUI/Popups/ColorSelector.cs b/GUI/Popups/ColorSelector.cs
index 24714fbdb..668597333 100644
--- a/GUI/Popups/ColorSelector.cs
+++ b/GUI/Popups/ColorSelector.cs
@@ -4,8 +4,10 @@ using System.Drawing;
using System;
using MCGalaxy;
-namespace MCGalaxy.Gui.Popups {
- internal sealed partial class ColorSelector : Form {
+namespace MCGalaxy.Gui.Popups
+{
+ internal sealed partial class ColorSelector : Form
+ {
public char ColorCode;
internal static Color LookupColor(char colCode, out Color textCol) {
@@ -46,6 +48,10 @@ namespace MCGalaxy.Gui.Popups {
ResumeLayout(false);
}
+ void ColorSelector_Load(object sender, EventArgs e) {
+ GuiUtils.SetIcon(this);
+ }
+
const int btnWidth = 130, btnHeight = 40, btnsPerCol = 8;
int index = 0;
diff --git a/GUI/Popups/CustomCommands.Designer.cs b/GUI/Popups/CustomCommands.Designer.cs
index 2404ad4da..6043466c4 100644
--- a/GUI/Popups/CustomCommands.Designer.cs
+++ b/GUI/Popups/CustomCommands.Designer.cs
@@ -150,6 +150,7 @@
this.Controls.Add(this.btnUnload);
this.Font = new System.Drawing.Font("Calibri", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Load += new System.EventHandler(this.CustomCommands_Load);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
diff --git a/GUI/Popups/CustomCommands.cs b/GUI/Popups/CustomCommands.cs
index 7d84d5ecb..11b8f5a8f 100644
--- a/GUI/Popups/CustomCommands.cs
+++ b/GUI/Popups/CustomCommands.cs
@@ -32,6 +32,10 @@ namespace MCGalaxy.Gui.Popups {
if (!Command.IsCore(cmd)) lstCommands.Items.Add(cmd.name);
}
}
+
+ void CustomCommands_Load(object sender, EventArgs e) {
+ GuiUtils.SetIcon(this);
+ }
void CreateCommand(ICompiler engine) {
string cmdName = txtCmdName.Text.Trim();
diff --git a/GUI/Popups/EditText.Designer.cs b/GUI/Popups/EditText.Designer.cs
index fa2c64372..e796a8c2a 100644
--- a/GUI/Popups/EditText.Designer.cs
+++ b/GUI/Popups/EditText.Designer.cs
@@ -97,6 +97,7 @@ namespace MCGalaxy.Gui.Popups
this.Controls.Add(this.cmbList);
this.Font = new System.Drawing.Font("Calibri", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Load += new System.EventHandler(this.EditText_Load);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "EditText";
diff --git a/GUI/Popups/EditText.cs b/GUI/Popups/EditText.cs
index 3e7f6c024..563d25218 100644
--- a/GUI/Popups/EditText.cs
+++ b/GUI/Popups/EditText.cs
@@ -20,8 +20,10 @@ using System.IO;
using System.Windows.Forms;
using MCGalaxy.Util;
-namespace MCGalaxy.Gui.Popups {
- public partial class EditText : Form {
+namespace MCGalaxy.Gui.Popups
+{
+ public partial class EditText : Form
+ {
TextFile curFile;
public EditText() {
@@ -32,6 +34,10 @@ namespace MCGalaxy.Gui.Popups {
cmbList.Text = "Select file..";
}
+ void EditText_Load(object sender, EventArgs e) {
+ GuiUtils.SetIcon(this);
+ }
+
void cmbList_SelectedIndexChanged(object sender, EventArgs e) {
if (cmbList.SelectedIndex == -1) return;
TrySaveChanges();
diff --git a/GUI/Popups/PortTools.Designer.cs b/GUI/Popups/PortTools.Designer.cs
index 1b6ce4b3b..a72b160ae 100644
--- a/GUI/Popups/PortTools.Designer.cs
+++ b/GUI/Popups/PortTools.Designer.cs
@@ -121,6 +121,7 @@ namespace MCGalaxy.Gui.Popups {
this.Controls.Add(this.linkManually);
this.Controls.Add(this.linkHelpForward);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Load += new System.EventHandler(this.PortTools_Load);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "PortTools";
diff --git a/GUI/Popups/PortTools.cs b/GUI/Popups/PortTools.cs
index a698a9017..b2f028013 100644
--- a/GUI/Popups/PortTools.cs
+++ b/GUI/Popups/PortTools.cs
@@ -23,8 +23,10 @@ using System.Net.Sockets;
using System.Windows.Forms;
using MCGalaxy.Core;
-namespace MCGalaxy.Gui.Popups {
- public partial class PortTools : Form {
+namespace MCGalaxy.Gui.Popups
+{
+ public partial class PortTools : Form
+ {
readonly BackgroundWorker worker;
int port;
@@ -38,6 +40,10 @@ namespace MCGalaxy.Gui.Popups {
this.port = port;
btnForward.Text = "Forward " + port;
}
+
+ void PortTools_Load(object sender, EventArgs e) {
+ GuiUtils.SetIcon(this);
+ }
void linkManually_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
GuiUtils.OpenBrowser("https://www.canyouseeme.org/");
diff --git a/GUI/Popups/TokenSelector.Designer.cs b/GUI/Popups/TokenSelector.Designer.cs
index 1183b1e2a..0fcc120e7 100644
--- a/GUI/Popups/TokenSelector.Designer.cs
+++ b/GUI/Popups/TokenSelector.Designer.cs
@@ -31,6 +31,7 @@
this.Controls.Add(this.btnCancel);
this.Font = new System.Drawing.Font("Calibri", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Load += new System.EventHandler(this.TokenSelector_Load);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
diff --git a/GUI/Popups/TokenSelector.cs b/GUI/Popups/TokenSelector.cs
index 1178c4f3b..0a061a6d9 100644
--- a/GUI/Popups/TokenSelector.cs
+++ b/GUI/Popups/TokenSelector.cs
@@ -3,8 +3,10 @@ using System;
using System.Drawing;
using System.Windows.Forms;
-namespace MCGalaxy.Gui.Popups {
- internal sealed partial class TokenSelector : Form {
+namespace MCGalaxy.Gui.Popups
+{
+ internal sealed partial class TokenSelector : Form
+ {
public string Token;
public TokenSelector(string title) {
@@ -23,6 +25,10 @@ namespace MCGalaxy.Gui.Popups {
ResumeLayout(false);
}
+ void TokenSelector_Load(object sender, EventArgs e) {
+ GuiUtils.SetIcon(this);
+ }
+
const int btnWidth = 110, btnHeight = 40, btnsPerCol = 9;
int index = 0;
diff --git a/GUI/PropertyWindow/PropertyWindow.Commands.cs b/GUI/PropertyWindow/PropertyWindow.Commands.cs
index fd9acd25d..fe156e01b 100644
--- a/GUI/PropertyWindow/PropertyWindow.Commands.cs
+++ b/GUI/PropertyWindow/PropertyWindow.Commands.cs
@@ -125,7 +125,7 @@ namespace MCGalaxy.Gui {
void cmd_btnCustom_Click(object sender, EventArgs e) {
using (CustomCommands form = new CustomCommands()) {
- form.ShowDialog();
+ form.ShowDialog();
}
}
diff --git a/GUI/PropertyWindow/PropertyWindow.cs b/GUI/PropertyWindow/PropertyWindow.cs
index b0bbb6235..e22180821 100644
--- a/GUI/PropertyWindow/PropertyWindow.cs
+++ b/GUI/PropertyWindow/PropertyWindow.cs
@@ -20,10 +20,11 @@ using MCGalaxy.Eco;
using MCGalaxy.Events.GameEvents;
using MCGalaxy.Games;
-namespace MCGalaxy.Gui {
- public partial class PropertyWindow : Form {
+namespace MCGalaxy.Gui
+{
+ public partial class PropertyWindow : Form
+ {
ZombieProperties zsSettings = new ZombieProperties();
- internal Icon _icon;
public PropertyWindow() {
InitializeComponent();
@@ -35,7 +36,8 @@ namespace MCGalaxy.Gui {
void PropertyWindow_Load(object sender, EventArgs e) {
// try to use same icon as main window
- try { Icon = _icon; } catch { }
+ // must be done in OnLoad, otherwise icon doesn't show on Mono
+ GuiUtils.SetIcon(this);
OnMapsChangedEvent.Register(HandleMapsChanged, Priority.Low);
OnStateChangedEvent.Register(HandleStateChanged, Priority.Low);
diff --git a/GUI/Window/Window.cs b/GUI/Window/Window.cs
index 2af84fce5..a0e9b00e6 100644
--- a/GUI/Window/Window.cs
+++ b/GUI/Window/Window.cs
@@ -102,6 +102,7 @@ Trying to mix two versions is unsupported - you may experience issues";
try {
ComponentResourceManager resources = new ComponentResourceManager(typeof(Window));
Icon = (Icon)(resources.GetObject("$this.Icon"));
+ GuiUtils.WinIcon = Icon;
} catch { }
}
@@ -320,9 +321,7 @@ Trying to mix two versions is unsupported - you may experience issues";
void btnProperties_Click(object sender, EventArgs e) {
if (!hasPropsForm) {
- propsForm = new PropertyWindow();
- // just doing 'propForms.Icon = Icon;' doesn't show on Mono
- try { propsForm._icon = Icon; } catch { }
+ propsForm = new PropertyWindow();
hasPropsForm = true;
}