From 3d48a0b39e78ec748fa7b9ed71d252d8f2ad05be Mon Sep 17 00:00:00 2001 From: adelikat Date: Mon, 25 Nov 2013 23:38:10 +0000 Subject: [PATCH] Lua Console - fix behavior of Save Changes nag, fix deleting of items --- BizHawk.Client.Common/lua/LuaFileList.cs | 2 +- BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs | 2 +- BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs | 18 +++++++++++++++--- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/BizHawk.Client.Common/lua/LuaFileList.cs b/BizHawk.Client.Common/lua/LuaFileList.cs index 666998b46b..9d2f62f9dc 100644 --- a/BizHawk.Client.Common/lua/LuaFileList.cs +++ b/BizHawk.Client.Common/lua/LuaFileList.cs @@ -11,7 +11,7 @@ namespace BizHawk.Client.Common public LuaFileList() : base() { } private string _filename = String.Empty; - private bool _changes = false; + private bool _changes; public Action ChangedCallback; public Action LoadCallback; diff --git a/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs b/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs index a403868b86..8103e381ff 100644 --- a/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs +++ b/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs @@ -132,7 +132,7 @@ namespace BizHawk.Client.EmuHawk public bool AskSave() { - if (Global.Config.SupressAskSave) //User has elected to not be nagged + if (Global.Config.SupressAskSave) { return true; } diff --git a/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs b/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs index f913208da2..f4f45f3592 100644 --- a/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs +++ b/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs @@ -47,7 +47,17 @@ namespace BizHawk.Client.EmuHawk InitializeComponent(); LuaImp = new EmuLuaLibrary(this); - Closing += (o, e) => SaveConfigSettings(); + Closing += (o, e) => + { + if (AskSave()) + { + SaveConfigSettings(); + } + else + { + e.Cancel = true; + } + }; LuaListView.QueryItemText += LuaListView_QueryItemText; LuaListView.QueryItemBkColor += LuaListView_QueryItemBkColor; LuaListView.VirtualMode = true; @@ -492,6 +502,7 @@ namespace BizHawk.Client.EmuHawk } else if (result == DialogResult.No) { + _luaList.Changes = false; return true; } else if (result == DialogResult.Cancel) @@ -692,9 +703,10 @@ namespace BizHawk.Client.EmuHawk private void RemoveScriptMenuItem_Click(object sender, EventArgs e) { - if (SelectedItems.Any()) + var items = SelectedItems.ToList(); + if (items.Any()) { - foreach (var item in SelectedItems) + foreach (var item in items) { _luaList.Remove(item); }