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