diff --git a/PKHeX.WinForms/App.config b/PKHeX.WinForms/App.config
index 1e624519a..0f5260b28 100644
--- a/PKHeX.WinForms/App.config
+++ b/PKHeX.WinForms/App.config
@@ -28,6 +28,9 @@
False
+
+ False
+
diff --git a/PKHeX.WinForms/MainWindow/Main.Designer.cs b/PKHeX.WinForms/MainWindow/Main.Designer.cs
index 725e079a5..d305dddb2 100644
--- a/PKHeX.WinForms/MainWindow/Main.Designer.cs
+++ b/PKHeX.WinForms/MainWindow/Main.Designer.cs
@@ -323,6 +323,7 @@
this.Menu_FlagIllegal = new System.Windows.Forms.ToolStripMenuItem();
this.Menu_Undo = new System.Windows.Forms.ToolStripMenuItem();
this.Menu_Redo = new System.Windows.Forms.ToolStripMenuItem();
+ this.Menu_ModifyUnset = new System.Windows.Forms.ToolStripMenuItem();
this.Menu_Unicode = new System.Windows.Forms.ToolStripMenuItem();
this.Menu_About = new System.Windows.Forms.ToolStripMenuItem();
this.tabBoxMulti = new System.Windows.Forms.TabControl();
@@ -3910,7 +3911,7 @@
//
// Menu_DumpBox
//
- this.Menu_DumpBox.Image = ((System.Drawing.Image)(resources.GetObject("Menu_DumpBoxes.Image")));
+ this.Menu_DumpBox.Image = ((System.Drawing.Image)(resources.GetObject("Menu_DumpBox.Image")));
this.Menu_DumpBox.Name = "Menu_DumpBox";
this.Menu_DumpBox.Size = new System.Drawing.Size(182, 22);
this.Menu_DumpBox.Text = "Dump Box";
@@ -3999,7 +4000,7 @@
this.CB_MainLanguage});
this.Menu_Language.Image = ((System.Drawing.Image)(resources.GetObject("Menu_Language.Image")));
this.Menu_Language.Name = "Menu_Language";
- this.Menu_Language.Size = new System.Drawing.Size(139, 22);
+ this.Menu_Language.Size = new System.Drawing.Size(152, 22);
this.Menu_Language.Text = "Language";
//
// CB_MainLanguage
@@ -4015,11 +4016,12 @@
this.Menu_ModifyDex,
this.Menu_ModifyPKM,
this.Menu_FlagIllegal,
+ this.Menu_ModifyUnset,
this.Menu_Undo,
this.Menu_Redo});
this.Menu_Modify.Image = ((System.Drawing.Image)(resources.GetObject("Menu_Modify.Image")));
this.Menu_Modify.Name = "Menu_Modify";
- this.Menu_Modify.Size = new System.Drawing.Size(139, 22);
+ this.Menu_Modify.Size = new System.Drawing.Size(152, 22);
this.Menu_Modify.Text = "Set to SAV";
//
// Menu_ModifyDex
@@ -4028,7 +4030,7 @@
this.Menu_ModifyDex.CheckOnClick = true;
this.Menu_ModifyDex.CheckState = System.Windows.Forms.CheckState.Checked;
this.Menu_ModifyDex.Name = "Menu_ModifyDex";
- this.Menu_ModifyDex.Size = new System.Drawing.Size(164, 22);
+ this.Menu_ModifyDex.Size = new System.Drawing.Size(189, 22);
this.Menu_ModifyDex.Text = "Modify Pokédex";
this.Menu_ModifyDex.Click += new System.EventHandler(this.mainMenuModifyDex);
//
@@ -4038,7 +4040,7 @@
this.Menu_ModifyPKM.CheckOnClick = true;
this.Menu_ModifyPKM.CheckState = System.Windows.Forms.CheckState.Checked;
this.Menu_ModifyPKM.Name = "Menu_ModifyPKM";
- this.Menu_ModifyPKM.Size = new System.Drawing.Size(164, 22);
+ this.Menu_ModifyPKM.Size = new System.Drawing.Size(189, 22);
this.Menu_ModifyPKM.Text = "Modify PKM Info";
this.Menu_ModifyPKM.Click += new System.EventHandler(this.mainMenuModifyPKM);
//
@@ -4046,7 +4048,7 @@
//
this.Menu_FlagIllegal.CheckOnClick = true;
this.Menu_FlagIllegal.Name = "Menu_FlagIllegal";
- this.Menu_FlagIllegal.Size = new System.Drawing.Size(164, 22);
+ this.Menu_FlagIllegal.Size = new System.Drawing.Size(189, 22);
this.Menu_FlagIllegal.Text = "Flag Legality";
this.Menu_FlagIllegal.Click += new System.EventHandler(this.mainMenuFlagIllegal);
//
@@ -4056,7 +4058,7 @@
this.Menu_Undo.Name = "Menu_Undo";
this.Menu_Undo.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.U)));
this.Menu_Undo.ShowShortcutKeys = false;
- this.Menu_Undo.Size = new System.Drawing.Size(164, 22);
+ this.Menu_Undo.Size = new System.Drawing.Size(189, 22);
this.Menu_Undo.Text = "Undo Last Change";
this.Menu_Undo.Click += new System.EventHandler(this.clickUndo);
//
@@ -4066,17 +4068,25 @@
this.Menu_Redo.Name = "Menu_Redo";
this.Menu_Redo.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Y)));
this.Menu_Redo.ShowShortcutKeys = false;
- this.Menu_Redo.Size = new System.Drawing.Size(164, 22);
+ this.Menu_Redo.Size = new System.Drawing.Size(189, 22);
this.Menu_Redo.Text = "Redo Last Change";
this.Menu_Redo.Click += new System.EventHandler(this.clickRedo);
//
+ // Menu_ModifyUnset
+ //
+ this.Menu_ModifyUnset.CheckOnClick = true;
+ this.Menu_ModifyUnset.Name = "Menu_ModifyUnset";
+ this.Menu_ModifyUnset.Size = new System.Drawing.Size(189, 22);
+ this.Menu_ModifyUnset.Text = "Notify Unset Changes";
+ this.Menu_ModifyUnset.Click += new System.EventHandler(this.mainMenuModifyUnset);
+ //
// Menu_Unicode
//
this.Menu_Unicode.Checked = true;
this.Menu_Unicode.CheckOnClick = true;
this.Menu_Unicode.CheckState = System.Windows.Forms.CheckState.Checked;
this.Menu_Unicode.Name = "Menu_Unicode";
- this.Menu_Unicode.Size = new System.Drawing.Size(139, 22);
+ this.Menu_Unicode.Size = new System.Drawing.Size(152, 22);
this.Menu_Unicode.Text = "Unicode";
this.Menu_Unicode.Click += new System.EventHandler(this.mainMenuUnicode);
//
@@ -4086,7 +4096,7 @@
this.Menu_About.Name = "Menu_About";
this.Menu_About.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.P)));
this.Menu_About.ShowShortcutKeys = false;
- this.Menu_About.Size = new System.Drawing.Size(139, 22);
+ this.Menu_About.Size = new System.Drawing.Size(152, 22);
this.Menu_About.Text = "About &PKHeX";
this.Menu_About.Click += new System.EventHandler(this.mainMenuAbout);
//
@@ -6434,6 +6444,7 @@
private System.Windows.Forms.PictureBox PB_MarkVC;
internal System.Windows.Forms.ToolStripMenuItem Menu_FlagIllegal;
private System.Windows.Forms.Button B_OpenMiscEditor;
+ private System.Windows.Forms.ToolStripMenuItem Menu_ModifyUnset;
}
}
diff --git a/PKHeX.WinForms/MainWindow/Main.cs b/PKHeX.WinForms/MainWindow/Main.cs
index b02f9888e..7e31b3d38 100644
--- a/PKHeX.WinForms/MainWindow/Main.cs
+++ b/PKHeX.WinForms/MainWindow/Main.cs
@@ -294,6 +294,7 @@ namespace PKHeX.WinForms
SaveFile.SetUpdateDex = Menu_ModifyDex.Checked = Settings.SetUpdateDex;
SaveFile.SetUpdatePKM = Menu_ModifyPKM.Checked = Settings.SetUpdatePKM;
Menu_FlagIllegal.Checked = Settings.FlagIllegal;
+ Menu_ModifyUnset.Checked = Settings.ModifyUnset;
// Select Language
string l = Settings.Language;
@@ -466,6 +467,10 @@ namespace PKHeX.WinForms
{
Properties.Settings.Default.SetUpdateDex = SaveFile.SetUpdateDex = Menu_ModifyDex.Checked;
}
+ private void mainMenuModifyUnset(object sender, EventArgs e)
+ {
+ Properties.Settings.Default.ModifyUnset = Menu_ModifyUnset.Checked;
+ }
private void mainMenuModifyPKM(object sender, EventArgs e)
{
Properties.Settings.Default.SetUpdatePKM = SaveFile.SetUpdatePKM = Menu_ModifyPKM.Checked;
@@ -1503,7 +1508,7 @@ namespace PKHeX.WinForms
private Action getFieldsfromPKM;
private Func getPKMfromFields;
private byte[] lastData;
- private bool PKMIsUnsaved => fieldsInitialized && !loadingSAV && lastData != null && lastData.Any(b => b != 0) && !lastData.SequenceEqual(preparePKM().Data);
+ private bool PKMIsUnsaved => fieldsInitialized && Menu_ModifyUnset.Checked && !loadingSAV && lastData != null && lastData.Any(b => b != 0) && !lastData.SequenceEqual(preparePKM().Data);
private void setPKMFormatMode(int Format, GameVersion version)
{
diff --git a/PKHeX.WinForms/MainWindow/Main.resx b/PKHeX.WinForms/MainWindow/Main.resx
index 9756ada2d..bede4a1e8 100644
--- a/PKHeX.WinForms/MainWindow/Main.resx
+++ b/PKHeX.WinForms/MainWindow/Main.resx
@@ -1729,6 +1729,14 @@
EwAACxMBAJqcGAAAAG1JREFUKFPN0c0KQFAQxfH7ShailCKivP97yPeO/xGFJmHl1K9uc+esxhEP4Ufq
ugoT5pfUUXdNiRHWokW7BU7JMcAqHGkng5kUPayidEhwmxgtrmXN9PcoERrsZb01exWdqd4EGnyJv/lt
nFsAh1Q+oomAaSkAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
+ EwAACxMBAJqcGAAAAG1JREFUKFPN0c0KQFAQxfH7ShailCKivP97yPeO/xGFJmHl1K9uc+esxhEP4Ufq
+ ugoT5pfUUXdNiRHWokW7BU7JMcAqHGkng5kUPayidEhwmxgtrmXN9PcoERrsZb01exWdqd4EGnyJv/lt
+ nFsAh1Q+oomAaSkAAAAASUVORK5CYII=
@@ -1845,6 +1853,63 @@
True
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
True
@@ -2123,21 +2188,6 @@
True
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
True
@@ -2360,21 +2410,6 @@
True
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
True
@@ -2471,66 +2506,72 @@
True
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
True
True
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
True
diff --git a/PKHeX.WinForms/Properties/Settings.Designer.cs b/PKHeX.WinForms/Properties/Settings.Designer.cs
index f023a69cb..b17414a59 100644
--- a/PKHeX.WinForms/Properties/Settings.Designer.cs
+++ b/PKHeX.WinForms/Properties/Settings.Designer.cs
@@ -106,5 +106,17 @@ namespace PKHeX.WinForms.Properties {
this["FlagIllegal"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("False")]
+ public bool ModifyUnset {
+ get {
+ return ((bool)(this["ModifyUnset"]));
+ }
+ set {
+ this["ModifyUnset"] = value;
+ }
+ }
}
}
diff --git a/PKHeX.WinForms/Properties/Settings.settings b/PKHeX.WinForms/Properties/Settings.settings
index c426c4212..a83d26a1f 100644
--- a/PKHeX.WinForms/Properties/Settings.settings
+++ b/PKHeX.WinForms/Properties/Settings.settings
@@ -23,5 +23,8 @@
False
+
+ False
+
\ No newline at end of file