From aa1de1c9d23709ba53b6f3b3fffb1499d0f26dab Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Sun, 6 Sep 2020 21:40:31 +1000 Subject: [PATCH] Unify setting of window titles, add static title option (fixes #1996) The only forms that did anything special with their window title were Basic Bot, CDL, Hex Editor, Log Window, MainForm, and TAStudio. That behaviour is in WindowTitle, while the rest use WindowTitleStatic. The implementations of WindowTitleStatic in those six forms are new. There's a checkbox in `Config` > `Display...` > `Misc` to disable their special behaviour and use the new static titles. The Text property is hidden from Designer de/serialisation as well. --- src/BizHawk.Client.Common/config/Config.cs | 2 + .../CoreFeatureAnalysis.Designer.cs | 1 - .../CoreFeatureAnalysis.cs | 2 + src/BizHawk.Client.EmuHawk/FormBase.cs | 40 ++++++++ .../LogWindow.Designer.cs | 1 - src/BizHawk.Client.EmuHawk/LogWindow.cs | 9 +- .../MainForm.Designer.cs | 1 - src/BizHawk.Client.EmuHawk/MainForm.cs | 95 +++++++++++-------- src/BizHawk.Client.EmuHawk/Program.cs | 4 +- .../config/DisplayConfig.Designer.cs | 31 ++++++ .../config/DisplayConfig.cs | 4 + .../config/NES/NESSoundConfig.Designer.cs | 1 - .../config/NES/NESSoundConfig.cs | 2 + .../tools/BasicBot/BasicBot.Designer.cs | 1 - .../tools/BasicBot/BasicBot.cs | 16 ++-- src/BizHawk.Client.EmuHawk/tools/CDL.cs | 13 ++- .../tools/CDL.designer.cs | 1 - .../tools/Cheats/Cheats.Designer.cs | 1 - .../tools/Cheats/Cheats.cs | 2 + .../Debugger/GenericDebugger.Designer.cs | 1 - .../tools/Debugger/GenericDebugger.cs | 2 + .../tools/GB/GBGPUView.Designer.cs | 1 - .../tools/GB/GBGPUView.cs | 2 + .../tools/GB/GBPrinterView.Designer.cs | 1 - .../tools/GB/GBPrinterView.cs | 2 + .../tools/GBA/GBAGPUView.Designer.cs | 1 - .../tools/GBA/GBAGPUView.cs | 2 + .../tools/GameShark.Designer.cs | 1 - src/BizHawk.Client.EmuHawk/tools/GameShark.cs | 2 + .../tools/Genesis/VDPViewer.Designer.cs | 1 - .../tools/Genesis/VDPViewer.cs | 2 + .../tools/HexEditor/HexEditor.Designer.cs | 1 - .../tools/HexEditor/HexEditor.cs | 20 +++- .../tools/Lua/LuaConsole.Designer.cs | 1 - .../tools/Lua/LuaConsole.cs | 2 + .../tools/Macros/MacroInput.Designer.cs | 1 - .../tools/Macros/MacroInput.cs | 3 + .../MultiDiskBundler.Designer.cs | 1 - .../MultiDiskBundler/MultiDiskBundler.cs | 2 + .../tools/NES/BarcodeEntry.Designer.cs | 1 - .../tools/NES/BarcodeEntry.cs | 2 + .../tools/NES/NESMusicRipper.Designer.cs | 1 - .../tools/NES/NESMusicRipper.cs | 2 + .../tools/NES/NESNameTableViewer.Designer.cs | 1 - .../tools/NES/NESNameTableViewer.cs | 2 + .../tools/NES/NESPPU.Designer.cs | 1 - .../tools/NES/NESPPU.cs | 2 + .../tools/PCE/PCEBGViewer.Designer.cs | 1 - .../tools/PCE/PCEBGViewer.cs | 2 + .../tools/PCE/PCESoundDebugger.Designer.cs | 1 - .../tools/PCE/PCESoundDebugger.cs | 2 + .../tools/PCE/PCETileViewer.Designer.cs | 1 - .../tools/PCE/PCETileViewer.cs | 2 + .../tools/SMS/VDPViewer.Designer.cs | 1 - .../tools/SMS/VDPViewer.cs | 2 + .../SNES/SNESGraphicsDebugger.Designer.cs | 1 - .../tools/SNES/SNESGraphicsDebugger.cs | 2 + .../tools/TAStudio/TAStudio.Designer.cs | 1 - .../tools/TAStudio/TAStudio.MenuItems.cs | 2 +- .../tools/TAStudio/TAStudio.cs | 31 +++--- .../tools/TI83/TI83KeyPad.Designer.cs | 1 - .../tools/TI83/TI83KeyPad.cs | 2 + src/BizHawk.Client.EmuHawk/tools/ToolBox.cs | 2 + .../tools/ToolFormBase.cs | 10 +- .../tools/TraceLogger.Designer.cs | 1 - .../tools/TraceLogger.cs | 3 + .../VirtualPads/VirtualpadsTool.Designer.cs | 1 - .../tools/VirtualPads/VirtualpadsTool.cs | 2 + .../tools/Watch/RamSearch.Designer.cs | 1 - .../tools/Watch/RamSearch.cs | 2 + .../tools/Watch/RamWatch.Designer.cs | 1 - .../tools/Watch/RamWatch.cs | 2 + 72 files changed, 254 insertions(+), 111 deletions(-) create mode 100644 src/BizHawk.Client.EmuHawk/FormBase.cs diff --git a/src/BizHawk.Client.Common/config/Config.cs b/src/BizHawk.Client.Common/config/Config.cs index 02bba334f5..9007e667c8 100644 --- a/src/BizHawk.Client.Common/config/Config.cs +++ b/src/BizHawk.Client.Common/config/Config.cs @@ -313,5 +313,7 @@ namespace BizHawk.Client.Common public string LastWrittenFromDetailed { get; set; } = VersionInfo.GetEmuVersion(); public EHostInputMethod HostInputMethod { get; set; } = OSTailoredCode.IsUnixHost ? EHostInputMethod.OpenTK : EHostInputMethod.DirectInput; + + public bool UseStaticWindowTitles { get; set; } } } \ No newline at end of file diff --git a/src/BizHawk.Client.EmuHawk/CoreFeatureAnalysis.Designer.cs b/src/BizHawk.Client.EmuHawk/CoreFeatureAnalysis.Designer.cs index a6af8bb896..aa253dec94 100644 --- a/src/BizHawk.Client.EmuHawk/CoreFeatureAnalysis.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/CoreFeatureAnalysis.Designer.cs @@ -132,7 +132,6 @@ this.MainMenuStrip = this.menuStrip1; this.Name = "CoreFeatureAnalysis"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Core Features"; this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); diff --git a/src/BizHawk.Client.EmuHawk/CoreFeatureAnalysis.cs b/src/BizHawk.Client.EmuHawk/CoreFeatureAnalysis.cs index 635d55f27a..98d4f86b70 100644 --- a/src/BizHawk.Client.EmuHawk/CoreFeatureAnalysis.cs +++ b/src/BizHawk.Client.EmuHawk/CoreFeatureAnalysis.cs @@ -108,6 +108,8 @@ namespace BizHawk.Client.EmuHawk [RequiredService] IEmulator Emulator { get; set; } + protected override string WindowTitleStatic => "Core Features"; + public CoreFeatureAnalysis() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/FormBase.cs b/src/BizHawk.Client.EmuHawk/FormBase.cs new file mode 100644 index 0000000000..cd9fda3d14 --- /dev/null +++ b/src/BizHawk.Client.EmuHawk/FormBase.cs @@ -0,0 +1,40 @@ +#nullable enable + +using System; +using System.ComponentModel; +using System.Windows.Forms; + +using BizHawk.Client.Common; + +namespace BizHawk.Client.EmuHawk +{ + public class FormBase : Form + { + private string? _windowTitleStatic; + + public Config? Config { get; protected set; } + + [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] + public override string Text + { + get => base.Text; + set => throw new InvalidOperationException("window title can only be changed by calling " + nameof(UpdateWindowTitle) + " (which calls " + nameof(WindowTitle) + " getter)"); + } + + protected virtual string WindowTitle => WindowTitleStatic; + + /// To enforce the "static title" semantics for implementations, this getter will be called once and cached. + protected virtual string WindowTitleStatic => throw new NotImplementedException("you have to implement this; the Designer prevents this from being an abstract method"); + + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); + UpdateWindowTitle(); + } + + public void UpdateWindowTitle() + => base.Text = Config?.UseStaticWindowTitles == true + ? (_windowTitleStatic ??= WindowTitleStatic) + : WindowTitle; + } +} diff --git a/src/BizHawk.Client.EmuHawk/LogWindow.Designer.cs b/src/BizHawk.Client.EmuHawk/LogWindow.Designer.cs index 2e26086757..6e94be44a5 100644 --- a/src/BizHawk.Client.EmuHawk/LogWindow.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/LogWindow.Designer.cs @@ -155,7 +155,6 @@ namespace BizHawk.Client.EmuHawk this.Name = "LogWindow"; this.ShowIcon = true; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Log Window"; this.Load += new System.EventHandler(this.LogWindow_Load); this.tableLayoutPanel1.ResumeLayout(false); this.ResumeLayout(false); diff --git a/src/BizHawk.Client.EmuHawk/LogWindow.cs b/src/BizHawk.Client.EmuHawk/LogWindow.cs index 434ec7c69d..446409f020 100644 --- a/src/BizHawk.Client.EmuHawk/LogWindow.cs +++ b/src/BizHawk.Client.EmuHawk/LogWindow.cs @@ -23,6 +23,12 @@ namespace BizHawk.Client.EmuHawk [RequiredService] private IEmulator Emulator { get; set; } + private string _windowTitle = "Log Window"; + + protected override string WindowTitle => _windowTitle; + + protected override string WindowTitleStatic => "Log Window"; + public LogWindow() { InitializeComponent(); @@ -66,7 +72,8 @@ namespace BizHawk.Client.EmuHawk } virtualListView1.VirtualListSize = ss.Length; - Text = title; + _windowTitle = title; + UpdateWindowTitle(); btnClear.Visible = false; } diff --git a/src/BizHawk.Client.EmuHawk/MainForm.Designer.cs b/src/BizHawk.Client.EmuHawk/MainForm.Designer.cs index ec6fa9a236..e1234621fd 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.Designer.cs @@ -2404,7 +2404,6 @@ namespace BizHawk.Client.EmuHawk this.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.MainMenuStrip = this.MainformMenu; this.Name = "MainForm"; - this.Text = "BizHawk"; this.Activated += new System.EventHandler(this.MainForm_Activated); this.Deactivate += new System.EventHandler(this.MainForm_Deactivate); this.Load += new System.EventHandler(this.MainForm_Load); diff --git a/src/BizHawk.Client.EmuHawk/MainForm.cs b/src/BizHawk.Client.EmuHawk/MainForm.cs index 4466588cca..0bbc27e7d5 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.cs @@ -6,6 +6,7 @@ using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Reflection; +using System.Text; using System.Threading; using System.Windows.Forms; @@ -38,7 +39,7 @@ using BizHawk.Emulation.Cores.Consoles.Nintendo.Faust; namespace BizHawk.Client.EmuHawk { - public partial class MainForm : Form, IMainFormForApi, IMainFormForConfig, IMainFormForTools + public partial class MainForm : FormBase, IMainFormForApi, IMainFormForConfig, IMainFormForTools { /// AppliesTo[0] is used as the group label, and Config.PreferredCores[AppliesTo[0]] determines the currently selected option private static readonly IReadOnlyCollection<(string[] AppliesTo, string[] CoreNames)> CoreData = new List<(string[], string[])> { @@ -302,6 +303,8 @@ namespace BizHawk.Client.EmuHawk Database.InitializeDatabase(Path.Combine(PathUtils.ExeDirectoryPath, "gamedb", "gamedb.txt")); BootGodDb.Initialize(Path.Combine(PathUtils.ExeDirectoryPath, "gamedb")); + base.Config = Config; + InputManager.ControllerInputCoalescer = new ControllerInputCoalescer(); GlobalWin.FirmwareManager = new FirmwareManager(); MovieSession = new MovieSession( @@ -874,10 +877,10 @@ namespace BizHawk.Client.EmuHawk private ISoundProvider _currentSoundProvider = new NullSound(44100 / 60); // Reasonable default until we have a core instance - private Config Config + private new Config Config { get => GlobalWin.Config; - set => GlobalWin.Config = value; + set => GlobalWin.Config = base.Config = value; } private ToolManager Tools => GlobalWin.Tools; @@ -1578,53 +1581,65 @@ namespace BizHawk.Client.EmuHawk } } - public void SetWindowText() + protected override string WindowTitle { - string str = ""; - - if (_inResizeLoop) + get { - var size = PresentationPanel.NativeSize; - float ar = (float)size.Width / size.Height; - str += $"({size.Width}x{size.Height})={ar} - "; - } + if (!Config.DispChromeCaptionWindowed || _argParser._chromeless) return string.Empty; //TODO why would you want this? was this a previous attempt at static window titles? - // we need to display FPS somewhere, in this case - if (Config.DispSpeedupFeatures == 0) - { - str += $"({_lastFps:0} fps) - "; - } + var sb = new StringBuilder(); - if (!string.IsNullOrEmpty(VersionInfo.CustomBuildString)) - { - str += $"{VersionInfo.CustomBuildString} "; - } - - str += Emulator.IsNull() ? "BizHawk" : Emulator.System().DisplayName; - - if (VersionInfo.DeveloperBuild) - { - str += " (interim)"; - } - - if (!Emulator.IsNull()) - { - str += $" - {Game.Name}"; - - if (MovieSession.Movie.IsActive()) + if (_inResizeLoop) { - str += $" - {Path.GetFileName(MovieSession.Movie.Filename)}"; + var size = PresentationPanel.NativeSize; + sb.Append($"({size.Width}x{size.Height})={(float) size.Width / size.Height} - "); } - } - if (!Config.DispChromeCaptionWindowed || _argParser._chromeless) - { - str = ""; - } + if (Config.DispSpeedupFeatures == 0) + { + // we need to display FPS somewhere, in this case + sb.Append($"({_lastFps:0} fps) - "); + } - Text = str; + if (!string.IsNullOrEmpty(VersionInfo.CustomBuildString)) + { + sb.Append($"{VersionInfo.CustomBuildString} "); + } + + sb.Append(Emulator.IsNull() ? "BizHawk" : Emulator.System().DisplayName); + + if (VersionInfo.DeveloperBuild) + { + sb.Append(" (interim)"); + } + + if (!Emulator.IsNull()) + { + sb.Append($" - {Game.Name}"); + if (MovieSession.Movie.IsActive()) + { + sb.Append($" - {Path.GetFileName(MovieSession.Movie.Filename)}"); + } + } + + return sb.ToString(); + } } + protected override string WindowTitleStatic + { + get + { + var sb = new StringBuilder(); + if (!string.IsNullOrEmpty(VersionInfo.CustomBuildString)) sb.Append($"{VersionInfo.CustomBuildString} "); + sb.Append("BizHawk"); + if (VersionInfo.DeveloperBuild) sb.Append(" (interim)"); + return sb.ToString(); + } + } + + public void SetWindowText() => UpdateWindowTitle(); + private void ClearAutohold() { ClearHolds(); diff --git a/src/BizHawk.Client.EmuHawk/Program.cs b/src/BizHawk.Client.EmuHawk/Program.cs index 73fca1921d..a536a3425b 100644 --- a/src/BizHawk.Client.EmuHawk/Program.cs +++ b/src/BizHawk.Client.EmuHawk/Program.cs @@ -222,9 +222,9 @@ namespace BizHawk.Client.EmuHawk else { var mf = new MainForm(args); - var title = mf.Text; +// var title = mf.Text; mf.Show(); - mf.Text = title; +// mf.Text = title; try { GlobalWin.ExitCode = mf.ProgramRunLoop(); diff --git a/src/BizHawk.Client.EmuHawk/config/DisplayConfig.Designer.cs b/src/BizHawk.Client.EmuHawk/config/DisplayConfig.Designer.cs index c073e811f1..07e5e8d92d 100644 --- a/src/BizHawk.Client.EmuHawk/config/DisplayConfig.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/config/DisplayConfig.Designer.cs @@ -87,6 +87,9 @@ this.label7 = new BizHawk.WinForms.Controls.LocLabelEx(); this.rbGDIPlus = new System.Windows.Forms.RadioButton(); this.tpMisc = new System.Windows.Forms.TabPage(); + this.flpStaticWindowTitles = new BizHawk.WinForms.Controls.LocSzSingleColumnFLP(); + this.cbStaticWindowTitles = new BizHawk.WinForms.Controls.CheckBoxEx(); + this.lblStaticWindowTitles = new BizHawk.WinForms.Controls.LocLabelEx(); this.groupBox5 = new System.Windows.Forms.GroupBox(); this.rbDisplayAbsoluteZero = new System.Windows.Forms.RadioButton(); this.rbDisplayMinimal = new System.Windows.Forms.RadioButton(); @@ -119,6 +122,7 @@ this.tpDispMethod.SuspendLayout(); this.groupBox3.SuspendLayout(); this.tpMisc.SuspendLayout(); + this.flpStaticWindowTitles.SuspendLayout(); this.groupBox5.SuspendLayout(); this.tabPage1.SuspendLayout(); this.groupBox4.SuspendLayout(); @@ -696,6 +700,7 @@ // // tpMisc // + this.tpMisc.Controls.Add(this.flpStaticWindowTitles); this.tpMisc.Controls.Add(this.groupBox5); this.tpMisc.Location = new System.Drawing.Point(4, 22); this.tpMisc.Name = "tpMisc"; @@ -703,6 +708,27 @@ this.tpMisc.TabIndex = 3; this.tpMisc.Text = "Misc"; this.tpMisc.UseVisualStyleBackColor = true; + // + // flpStaticWindowTitles + // + this.flpStaticWindowTitles.Controls.Add(this.cbStaticWindowTitles); + this.flpStaticWindowTitles.Controls.Add(this.lblStaticWindowTitles); + this.flpStaticWindowTitles.Location = new System.Drawing.Point(6, 109); + this.flpStaticWindowTitles.Name = "flpStaticWindowTitles"; + this.flpStaticWindowTitles.Size = new System.Drawing.Size(490, 52); + // + // cbStaticWindowTitles + // + this.cbStaticWindowTitles.Name = "cbStaticWindowTitles"; + this.cbStaticWindowTitles.Text = "Keep window titles static"; + // + // lblStaticWindowTitles + // + this.lblStaticWindowTitles.Location = new System.Drawing.Point(19, 23); + this.lblStaticWindowTitles.Margin = new System.Windows.Forms.Padding(19, 0, 3, 0); + this.lblStaticWindowTitles.Name = "lblStaticWindowTitles"; + this.lblStaticWindowTitles.Text = "Some tools put filenames, status, etc. in their window titles.\nChecking this disa" + + "bles those features, but may fix problems with window capture (i.e. in OBS)."; // // groupBox5 // @@ -946,6 +972,8 @@ this.groupBox3.PerformLayout(); this.tpMisc.ResumeLayout(false); this.tpMisc.PerformLayout(); + this.flpStaticWindowTitles.ResumeLayout(false); + this.flpStaticWindowTitles.PerformLayout(); this.groupBox5.ResumeLayout(false); this.groupBox5.PerformLayout(); this.tabPage1.ResumeLayout(false); @@ -1040,5 +1068,8 @@ private System.Windows.Forms.TextBox txtCropTop; private BizHawk.WinForms.Controls.LocLabelEx label14; private System.Windows.Forms.TextBox txtCropLeft; + private WinForms.Controls.LocSzSingleColumnFLP flpStaticWindowTitles; + private WinForms.Controls.CheckBoxEx cbStaticWindowTitles; + private WinForms.Controls.LocLabelEx lblStaticWindowTitles; } } \ No newline at end of file diff --git a/src/BizHawk.Client.EmuHawk/config/DisplayConfig.cs b/src/BizHawk.Client.EmuHawk/config/DisplayConfig.cs index f855b52894..db092d6dc3 100644 --- a/src/BizHawk.Client.EmuHawk/config/DisplayConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/DisplayConfig.cs @@ -44,6 +44,8 @@ namespace BizHawk.Client.EmuHawk if (_config.DispSpeedupFeatures == 1) rbDisplayMinimal.Checked = true; if (_config.DispSpeedupFeatures == 0) rbDisplayAbsoluteZero.Checked = true; + cbStaticWindowTitles.Checked = _config.UseStaticWindowTitles; + rbOpenGL.Checked = _config.DispMethod == EDispMethod.OpenGL; rbGDIPlus.Checked = _config.DispMethod == EDispMethod.GdiPlus; rbD3D9.Checked = _config.DispMethod == EDispMethod.SlimDX9; @@ -138,6 +140,8 @@ namespace BizHawk.Client.EmuHawk if (rbDisplayMinimal.Checked) _config.DispSpeedupFeatures = 1; if (rbDisplayAbsoluteZero.Checked) _config.DispSpeedupFeatures = 0; + _config.UseStaticWindowTitles = cbStaticWindowTitles.Checked; + if (rbUseRaw.Checked) _config.DispManagerAR = EDispManagerAR.None; else if (rbUseSystem.Checked) diff --git a/src/BizHawk.Client.EmuHawk/config/NES/NESSoundConfig.Designer.cs b/src/BizHawk.Client.EmuHawk/config/NES/NESSoundConfig.Designer.cs index b45606db35..d8944f2474 100644 --- a/src/BizHawk.Client.EmuHawk/config/NES/NESSoundConfig.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/config/NES/NESSoundConfig.Designer.cs @@ -98,7 +98,6 @@ this.Name = "NESSoundConfig"; this.ShowIcon = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "NES Sound Channels"; this.Load += new System.EventHandler(this.NESSoundConfig_Load); ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit(); this.ResumeLayout(false); diff --git a/src/BizHawk.Client.EmuHawk/config/NES/NESSoundConfig.cs b/src/BizHawk.Client.EmuHawk/config/NES/NESSoundConfig.cs index 586d66f268..0f536ee873 100644 --- a/src/BizHawk.Client.EmuHawk/config/NES/NESSoundConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/NES/NESSoundConfig.cs @@ -18,6 +18,8 @@ namespace BizHawk.Client.EmuHawk NESSoundConfig_Load(null, null); } + protected override string WindowTitleStatic => "NES Sound Channels"; + public NESSoundConfig() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.Designer.cs index 2a660c0393..eb16391acc 100644 --- a/src/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.Designer.cs @@ -1031,7 +1031,6 @@ namespace BizHawk.Client.EmuHawk this.MainMenuStrip = this.BotMenu; this.Name = "BasicBot"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Basic Bot"; this.Load += new System.EventHandler(this.BasicBot_Load); this.BotMenu.ResumeLayout(false); this.BotMenu.PerformLayout(); diff --git a/src/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs b/src/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs index d1c9bafa1c..e2f879a2fa 100644 --- a/src/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs +++ b/src/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs @@ -16,8 +16,6 @@ namespace BizHawk.Client.EmuHawk { public partial class BasicBot : ToolFormBase, IToolFormAutoConfig { - private const string DialogTitle = "Basic Bot"; - private string _currentFileName = ""; private string CurrentFileName @@ -27,9 +25,10 @@ namespace BizHawk.Client.EmuHawk { _currentFileName = value; - Text = !string.IsNullOrWhiteSpace(_currentFileName) - ? $"{DialogTitle} - {Path.GetFileNameWithoutExtension(_currentFileName)}" - : DialogTitle; + _windowTitle = !string.IsNullOrWhiteSpace(_currentFileName) + ? $"{WindowTitleStatic} - {Path.GetFileNameWithoutExtension(_currentFileName)}" + : WindowTitleStatic; + UpdateWindowTitle(); } } @@ -79,6 +78,12 @@ namespace BizHawk.Client.EmuHawk public bool InvisibleEmulation { get; set; } } + private string _windowTitle = "Basic Bot"; + + protected override string WindowTitle => _windowTitle; + + protected override string WindowTitleStatic => "Basic Bot"; + public BasicBot() { InitializeComponent(); @@ -93,7 +98,6 @@ namespace BizHawk.Client.EmuHawk PlayBestButton.Image = Resources.Play; ClearBestButton.Image = Resources.Close; StopBtn.Image = Resources.Stop; - Text = DialogTitle; Settings = new BasicBotSettings(); _comparisonBotAttempt = new BotAttempt(); diff --git a/src/BizHawk.Client.EmuHawk/tools/CDL.cs b/src/BizHawk.Client.EmuHawk/tools/CDL.cs index 09dd28d2f0..855c1d2f4f 100644 --- a/src/BizHawk.Client.EmuHawk/tools/CDL.cs +++ b/src/BizHawk.Client.EmuHawk/tools/CDL.cs @@ -40,9 +40,10 @@ namespace BizHawk.Client.EmuHawk private void SetCurrentFilename(string fname) { _currentFilename = fname; - Text = _currentFilename == null - ? "Code Data Logger" - : $"Code Data Logger - {fname}"; + _windowTitle = _currentFilename == null + ? WindowTitleStatic + : $"{WindowTitleStatic} - {fname}"; + UpdateWindowTitle(); } [RequiredService] @@ -67,6 +68,12 @@ namespace BizHawk.Client.EmuHawk private string _currentFilename; private CodeDataLog _cdl; + private string _windowTitle = "Code Data Logger"; + + protected override string WindowTitle => _windowTitle; + + protected override string WindowTitleStatic => "Code Data Logger"; + public CDL() { SetStyle(ControlStyles.AllPaintingInWmPaint, true); diff --git a/src/BizHawk.Client.EmuHawk/tools/CDL.designer.cs b/src/BizHawk.Client.EmuHawk/tools/CDL.designer.cs index 6a029c8ea7..b74fbebc82 100644 --- a/src/BizHawk.Client.EmuHawk/tools/CDL.designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/CDL.designer.cs @@ -228,7 +228,6 @@ namespace BizHawk.Client.EmuHawk this.MinimumSize = new System.Drawing.Size(150, 130); this.Name = "CDL"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Code Data Logger"; this.Load += new System.EventHandler(this.CDL_Load); this.DragDrop += new System.Windows.Forms.DragEventHandler(this.CDL_DragDrop); this.DragEnter += new System.Windows.Forms.DragEventHandler(this.CDL_DragEnter); diff --git a/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.Designer.cs index 52248c7ae6..a3d533e3a1 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.Designer.cs @@ -428,7 +428,6 @@ namespace BizHawk.Client.EmuHawk this.Controls.Add(this.CheatListView); this.MinimumSize = new System.Drawing.Size(285, 384); this.Name = "Cheats"; - this.Text = "Cheats"; this.Load += new System.EventHandler(this.Cheats_Load); this.DragDrop += new System.Windows.Forms.DragEventHandler(this.NewCheatForm_DragDrop); this.DragEnter += new System.Windows.Forms.DragEventHandler(this.NewCheatForm_DragEnter); diff --git a/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs b/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs index 68acb63a96..0723b3eb5c 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs @@ -29,6 +29,8 @@ namespace BizHawk.Client.EmuHawk private string _sortedColumn; private bool _sortReverse; + protected override string WindowTitleStatic => "Cheats"; + public Cheats() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.Designer.cs index 4ef65012af..efc3a0f3fa 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.Designer.cs @@ -329,7 +329,6 @@ namespace BizHawk.Client.EmuHawk this.MainMenuStrip = this.menuStrip1; this.Name = "GenericDebugger"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Debugger"; this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.GenericDebugger_MouseMove); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); diff --git a/src/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.cs b/src/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.cs index 17322c5c84..102c2d04bd 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Debugger/GenericDebugger.cs @@ -13,6 +13,8 @@ namespace BizHawk.Client.EmuHawk private const string AddressColumnName = "Address"; private const string InstructionColumnName = "Instruction"; + protected override string WindowTitleStatic => "Debugger"; + public GenericDebugger() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.Designer.cs index dbbda7c18b..10d5fd8f63 100644 --- a/src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.Designer.cs @@ -471,7 +471,6 @@ this.MainMenuStrip = this.menuStrip1; this.Name = "GbGpuView"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "GPU Viewer"; this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.GbGpuView_FormClosed); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.GbGpuView_KeyDown); this.groupBox1.ResumeLayout(false); diff --git a/src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.cs b/src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.cs index a721ebbe3e..f933dfe3ac 100644 --- a/src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.cs +++ b/src/BizHawk.Client.EmuHawk/tools/GB/GBGPUView.cs @@ -54,6 +54,8 @@ namespace BizHawk.Client.EmuHawk } } + protected override string WindowTitleStatic => "GPU Viewer"; + public GbGpuView() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/GB/GBPrinterView.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/GB/GBPrinterView.Designer.cs index b2a5aa15fa..07f8894d1e 100644 --- a/src/BizHawk.Client.EmuHawk/tools/GB/GBPrinterView.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/GB/GBPrinterView.Designer.cs @@ -115,7 +115,6 @@ this.MaximizeBox = false; this.Name = "GBPrinterView"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Printer Viewer"; this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); this.FormClosed += GBPrinterView_FormClosed; diff --git a/src/BizHawk.Client.EmuHawk/tools/GB/GBPrinterView.cs b/src/BizHawk.Client.EmuHawk/tools/GB/GBPrinterView.cs index ba5cd98cd9..a15505eedd 100644 --- a/src/BizHawk.Client.EmuHawk/tools/GB/GBPrinterView.cs +++ b/src/BizHawk.Client.EmuHawk/tools/GB/GBPrinterView.cs @@ -27,6 +27,8 @@ namespace BizHawk.Client.EmuHawk // the entire bitmap private Bitmap _printerHistory; + protected override string WindowTitleStatic => "Printer Viewer"; + public GBPrinterView() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/GBA/GBAGPUView.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/GBA/GBAGPUView.Designer.cs index da50a16177..fbcfefc5bc 100644 --- a/src/BizHawk.Client.EmuHawk/tools/GBA/GBAGPUView.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/GBA/GBAGPUView.Designer.cs @@ -173,7 +173,6 @@ this.Name = "GbaGpuView"; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "GBA GPU Viewer"; this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.GbaGpuView_FormClosed); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.GbaGpuView_KeyDown); this.groupBox1.ResumeLayout(false); diff --git a/src/BizHawk.Client.EmuHawk/tools/GBA/GBAGPUView.cs b/src/BizHawk.Client.EmuHawk/tools/GBA/GBAGPUView.cs index 11e9abb147..9f9aa82d0b 100644 --- a/src/BizHawk.Client.EmuHawk/tools/GBA/GBAGPUView.cs +++ b/src/BizHawk.Client.EmuHawk/tools/GBA/GBAGPUView.cs @@ -30,6 +30,8 @@ namespace BizHawk.Client.EmuHawk // MobileDetailView memory; + protected override string WindowTitleStatic => "GBA GPU Viewer"; + public GbaGpuView() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/GameShark.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/GameShark.Designer.cs index 712c6ba9d2..bc34f207bb 100644 --- a/src/BizHawk.Client.EmuHawk/tools/GameShark.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/GameShark.Designer.cs @@ -116,7 +116,6 @@ this.MinimumSize = new System.Drawing.Size(230, 155); this.Name = "GameShark"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Cheat Code Converter"; this.ResumeLayout(false); this.PerformLayout(); } diff --git a/src/BizHawk.Client.EmuHawk/tools/GameShark.cs b/src/BizHawk.Client.EmuHawk/tools/GameShark.cs index fb44b584f2..a259a2533a 100644 --- a/src/BizHawk.Client.EmuHawk/tools/GameShark.cs +++ b/src/BizHawk.Client.EmuHawk/tools/GameShark.cs @@ -22,6 +22,8 @@ namespace BizHawk.Client.EmuHawk // ReSharper disable once UnusedAutoPropertyAccessor.Local private IEmulator Emulator { get; set; } + protected override string WindowTitleStatic => "Cheat Code Converter"; + public GameShark() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/Genesis/VDPViewer.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/Genesis/VDPViewer.Designer.cs index 3e576402b8..9edf54c396 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Genesis/VDPViewer.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Genesis/VDPViewer.Designer.cs @@ -211,7 +211,6 @@ namespace BizHawk.Client.EmuHawk this.MainMenuStrip = this.menuStrip1; this.Name = "GenVdpViewer"; this.ShowIcon = false; - this.Text = "VDP Viewer"; this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.VDPViewer_KeyDown); this.groupBox1.ResumeLayout(false); this.groupBox2.ResumeLayout(false); diff --git a/src/BizHawk.Client.EmuHawk/tools/Genesis/VDPViewer.cs b/src/BizHawk.Client.EmuHawk/tools/Genesis/VDPViewer.cs index 2efe3b99f7..cb0862f09b 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Genesis/VDPViewer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Genesis/VDPViewer.cs @@ -26,6 +26,8 @@ namespace BizHawk.Client.EmuHawk return DisplayRectangle.Location; } + protected override string WindowTitleStatic => "VDP Viewer"; + public GenVdpViewer() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.Designer.cs index 8a373f1fe9..cad33f5aa9 100644 --- a/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.Designer.cs @@ -473,7 +473,6 @@ namespace BizHawk.Client.EmuHawk this.MinimumSize = new System.Drawing.Size(360, 180); this.Name = "HexEditor"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Hex Editor"; this.Load += new System.EventHandler(this.HexEditor_Load); this.ResizeEnd += new System.EventHandler(this.HexEditor_ResizeEnd); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.HexEditor_KeyDown); diff --git a/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs b/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs index b466f61368..45fb50e092 100644 --- a/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs +++ b/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs @@ -106,6 +106,12 @@ namespace BizHawk.Client.EmuHawk private SolidBrush _highlightBrush; private SolidBrush _secondaryHighlightBrush; + private string _windowTitle = "Hex Editor"; + + protected override string WindowTitle => _windowTitle; + + protected override string WindowTitleStatic => "Hex Editor"; + public HexEditor() { _hexFind = new HexFind(this); @@ -729,15 +735,21 @@ namespace BizHawk.Client.EmuHawk private void UpdateFormText() { - Text = "Hex Editor"; - if (_highlightedAddress.HasValue) + if (!_highlightedAddress.HasValue) { - Text += " - Editing Address 0x" + string.Format(_numDigitsStr, _highlightedAddress); + _windowTitle = WindowTitleStatic; + } + else + { + var newTitle = "Hex Editor"; + newTitle += " - Editing Address 0x" + string.Format(_numDigitsStr, _highlightedAddress); if (_secondaryHighlightedAddresses.Any()) { - Text += $" (Selected 0x{_secondaryHighlightedAddresses.Count + (_secondaryHighlightedAddresses.Contains(_highlightedAddress.Value) ? 0 : 1):X})"; + newTitle += $" (Selected 0x{_secondaryHighlightedAddresses.Count + (_secondaryHighlightedAddresses.Contains(_highlightedAddress.Value) ? 0 : 1):X})"; } + _windowTitle = newTitle; } + UpdateWindowTitle(); } private bool IsVisible(long address) => ((long) HexScrollBar.Value).RangeToExclusive(HexScrollBar.Value + _rowsVisible).Contains(address >> 4); diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.Designer.cs index e5cdd3c621..5fa21cbff6 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.Designer.cs @@ -678,7 +678,6 @@ namespace BizHawk.Client.EmuHawk this.MinimumSize = new System.Drawing.Size(400, 180); this.Name = "LuaConsole"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Lua Console"; this.Load += new System.EventHandler(this.LuaConsole_Load); this.DragDrop += new System.Windows.Forms.DragEventHandler(this.LuaConsole_DragDrop); this.DragEnter += new System.Windows.Forms.DragEventHandler(this.DragEnterWrapper); diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs index d7031e51cc..25ad24478f 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs @@ -67,6 +67,8 @@ namespace BizHawk.Client.EmuHawk [ConfigPersist] public LuaConsoleSettings Settings { get; set; } + protected override string WindowTitleStatic => "Lua Console"; + public LuaConsole() { Settings = new LuaConsoleSettings(); diff --git a/src/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.Designer.cs index c3b0ad7610..bf15fa1678 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.Designer.cs @@ -245,7 +245,6 @@ this.MainMenuStrip = this.MacroMenu; this.Name = "MacroInputTool"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Macro Input"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MacroInputTool_FormClosing); this.Load += new System.EventHandler(this.MacroInputTool_Load); this.Resize += new System.EventHandler(this.MacroInputTool_Resize); diff --git a/src/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.cs b/src/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.cs index d4448077f5..a6938f649f 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.cs @@ -27,6 +27,9 @@ namespace BizHawk.Client.EmuHawk // have options only available for TasMovie private bool _initializing; + + protected override string WindowTitleStatic => "Macro Input"; + public MacroInputTool() { _initializing = true; diff --git a/src/BizHawk.Client.EmuHawk/tools/MultiDiskBundler/MultiDiskBundler.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/MultiDiskBundler/MultiDiskBundler.Designer.cs index de0d05d70b..42df1aac6a 100644 --- a/src/BizHawk.Client.EmuHawk/tools/MultiDiskBundler/MultiDiskBundler.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/MultiDiskBundler/MultiDiskBundler.Designer.cs @@ -190,7 +190,6 @@ this.MainMenuStrip = this.MultiDiskMenuStrip; this.Name = "MultiDiskBundler"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Multi-disk Bundler"; this.Load += new System.EventHandler(this.MultiGameCreator_Load); this.grpName.ResumeLayout(false); this.grpName.PerformLayout(); diff --git a/src/BizHawk.Client.EmuHawk/tools/MultiDiskBundler/MultiDiskBundler.cs b/src/BizHawk.Client.EmuHawk/tools/MultiDiskBundler/MultiDiskBundler.cs index 44fb1208c1..fa9c0517e3 100644 --- a/src/BizHawk.Client.EmuHawk/tools/MultiDiskBundler/MultiDiskBundler.cs +++ b/src/BizHawk.Client.EmuHawk/tools/MultiDiskBundler/MultiDiskBundler.cs @@ -22,6 +22,8 @@ namespace BizHawk.Client.EmuHawk [RequiredService] public IEmulator Emulator { get; set; } + protected override string WindowTitleStatic => "Multi-disk Bundler"; + public MultiDiskBundler() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/NES/BarcodeEntry.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/NES/BarcodeEntry.Designer.cs index 134392b1e5..12074110cf 100644 --- a/src/BizHawk.Client.EmuHawk/tools/NES/BarcodeEntry.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/NES/BarcodeEntry.Designer.cs @@ -85,7 +85,6 @@ this.Controls.Add(this.label1); this.Controls.Add(this.textBox1); this.Name = "BarcodeEntry"; - this.Text = "Barcode Entry"; this.ResumeLayout(false); this.PerformLayout(); diff --git a/src/BizHawk.Client.EmuHawk/tools/NES/BarcodeEntry.cs b/src/BizHawk.Client.EmuHawk/tools/NES/BarcodeEntry.cs index dee06df74c..9b8a881ddc 100644 --- a/src/BizHawk.Client.EmuHawk/tools/NES/BarcodeEntry.cs +++ b/src/BizHawk.Client.EmuHawk/tools/NES/BarcodeEntry.cs @@ -10,6 +10,8 @@ namespace BizHawk.Client.EmuHawk [RequiredService] private DatachBarcode Reader { get; set; } + protected override string WindowTitleStatic => "Barcode Entry"; + public BarcodeEntry() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/NES/NESMusicRipper.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/NES/NESMusicRipper.Designer.cs index 5928b0b745..9cc0c607f4 100644 --- a/src/BizHawk.Client.EmuHawk/tools/NES/NESMusicRipper.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/NES/NESMusicRipper.Designer.cs @@ -159,7 +159,6 @@ namespace BizHawk.Client.EmuHawk this.Controls.Add(this.menuStrip1); this.Name = "NESMusicRipper"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Music Ripper"; this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.NESMusicRipper_FormClosed); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); diff --git a/src/BizHawk.Client.EmuHawk/tools/NES/NESMusicRipper.cs b/src/BizHawk.Client.EmuHawk/tools/NES/NESMusicRipper.cs index 7cdc6f80b3..f86babd9df 100644 --- a/src/BizHawk.Client.EmuHawk/tools/NES/NESMusicRipper.cs +++ b/src/BizHawk.Client.EmuHawk/tools/NES/NESMusicRipper.cs @@ -20,6 +20,8 @@ namespace BizHawk.Client.EmuHawk [RequiredService] private NES Nes { get; set; } + protected override string WindowTitleStatic => "Music Ripper"; + public NESMusicRipper() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/NES/NESNameTableViewer.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/NES/NESNameTableViewer.Designer.cs index 1c266efcbd..46baf66bd2 100644 --- a/src/BizHawk.Client.EmuHawk/tools/NES/NESNameTableViewer.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/NES/NESNameTableViewer.Designer.cs @@ -366,7 +366,6 @@ namespace BizHawk.Client.EmuHawk this.MinimumSize = new System.Drawing.Size(687, 588); this.Name = "NESNameTableViewer"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Nametable Viewer"; this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.NESNameTableViewer_FormClosed); this.Load += new System.EventHandler(this.NESNameTableViewer_Load); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.NesNameTableViewer_KeyDown); diff --git a/src/BizHawk.Client.EmuHawk/tools/NES/NESNameTableViewer.cs b/src/BizHawk.Client.EmuHawk/tools/NES/NESNameTableViewer.cs index 2981e715d0..31ca9c4abf 100644 --- a/src/BizHawk.Client.EmuHawk/tools/NES/NESNameTableViewer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/NES/NESNameTableViewer.cs @@ -27,6 +27,8 @@ namespace BizHawk.Client.EmuHawk private int _scanline; + protected override string WindowTitleStatic => "Nametable Viewer"; + public NESNameTableViewer() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.Designer.cs index 62cff9dabb..c9637ad06c 100644 --- a/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.Designer.cs @@ -705,7 +705,6 @@ namespace BizHawk.Client.EmuHawk this.MinimumSize = new System.Drawing.Size(767, 445); this.Name = "NesPPU"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "PPU Viewer"; this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.NesPPU_FormClosed); this.Load += new System.EventHandler(this.NesPPU_Load); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.NesPPU_KeyDown); diff --git a/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs b/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs index 568f4ebc50..30b1b13536 100644 --- a/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs +++ b/src/BizHawk.Client.EmuHawk/tools/NES/NESPPU.cs @@ -44,6 +44,8 @@ namespace BizHawk.Client.EmuHawk set { _chrRomView = value; CalculateFormSize(); } } + protected override string WindowTitleStatic => "PPU Viewer"; + public NesPPU() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/PCE/PCEBGViewer.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/PCE/PCEBGViewer.Designer.cs index 29a6001530..c75ca578e5 100644 --- a/src/BizHawk.Client.EmuHawk/tools/PCE/PCEBGViewer.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/PCE/PCEBGViewer.Designer.cs @@ -214,7 +214,6 @@ namespace BizHawk.Client.EmuHawk this.MainMenuStrip = this.PceBgViewerMenu; this.Name = "PceBgViewer"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Background Viewer"; this.PceBgViewerMenu.ResumeLayout(false); this.PceBgViewerMenu.PerformLayout(); this.groupBox1.ResumeLayout(false); diff --git a/src/BizHawk.Client.EmuHawk/tools/PCE/PCEBGViewer.cs b/src/BizHawk.Client.EmuHawk/tools/PCE/PCEBGViewer.cs index af0acbda30..b76dd940a1 100644 --- a/src/BizHawk.Client.EmuHawk/tools/PCE/PCEBGViewer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/PCE/PCEBGViewer.cs @@ -27,6 +27,8 @@ namespace BizHawk.Client.EmuHawk private int _vdcType; + protected override string WindowTitleStatic => "Background Viewer"; + public PceBgViewer() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/PCE/PCESoundDebugger.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/PCE/PCESoundDebugger.Designer.cs index 911f368c54..e2a8c9afe2 100644 --- a/src/BizHawk.Client.EmuHawk/tools/PCE/PCESoundDebugger.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/PCE/PCESoundDebugger.Designer.cs @@ -261,7 +261,6 @@ namespace BizHawk.Client.EmuHawk this.MainMenuStrip = this.SoundMenuStrip; this.Name = "PCESoundDebugger"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Sound Debugger"; this.groupBox1.ResumeLayout(false); this.groupBox2.ResumeLayout(false); this.groupBox3.ResumeLayout(false); diff --git a/src/BizHawk.Client.EmuHawk/tools/PCE/PCESoundDebugger.cs b/src/BizHawk.Client.EmuHawk/tools/PCE/PCESoundDebugger.cs index 72539d0d82..2b6d8f7aaa 100644 --- a/src/BizHawk.Client.EmuHawk/tools/PCE/PCESoundDebugger.cs +++ b/src/BizHawk.Client.EmuHawk/tools/PCE/PCESoundDebugger.cs @@ -18,6 +18,8 @@ namespace BizHawk.Client.EmuHawk [RequiredService] private PCEngine PCE { get; set; } + protected override string WindowTitleStatic => "Sound Debugger"; + public PCESoundDebugger() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/PCE/PCETileViewer.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/PCE/PCETileViewer.Designer.cs index a2998950eb..9996d80f1b 100644 --- a/src/BizHawk.Client.EmuHawk/tools/PCE/PCETileViewer.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/PCE/PCETileViewer.Designer.cs @@ -156,7 +156,6 @@ namespace BizHawk.Client.EmuHawk this.KeyPreview = true; this.MainMenuStrip = this.menuStrip1; this.Name = "PceTileViewer"; - this.Text = "Tile Viewer"; this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.PceTileViewer_KeyDown); this.groupBox1.ResumeLayout(false); this.groupBox2.ResumeLayout(false); diff --git a/src/BizHawk.Client.EmuHawk/tools/PCE/PCETileViewer.cs b/src/BizHawk.Client.EmuHawk/tools/PCE/PCETileViewer.cs index 5cb8ef6210..66b8a2b72f 100644 --- a/src/BizHawk.Client.EmuHawk/tools/PCE/PCETileViewer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/PCE/PCETileViewer.cs @@ -19,6 +19,8 @@ namespace BizHawk.Client.EmuHawk private int _bgPalNum; private int _spPalNum; + protected override string WindowTitleStatic => "Tile Viewer"; + public PceTileViewer() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.Designer.cs index a96b941959..60b1f44dc4 100644 --- a/src/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.Designer.cs @@ -152,7 +152,6 @@ namespace BizHawk.Client.EmuHawk this.KeyPreview = true; this.MainMenuStrip = this.menuStrip1; this.Name = "SmsVdpViewer"; - this.Text = "VDP Viewer"; this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.VDPViewer_KeyDown); this.groupBox1.ResumeLayout(false); this.groupBox2.ResumeLayout(false); diff --git a/src/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.cs b/src/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.cs index 4f4ad96f9a..6087827674 100644 --- a/src/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/SMS/VDPViewer.cs @@ -17,6 +17,8 @@ namespace BizHawk.Client.EmuHawk private int _palIndex; + protected override string WindowTitleStatic => "VDP Viewer"; + public SmsVdpViewer() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/SNES/SNESGraphicsDebugger.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/SNES/SNESGraphicsDebugger.Designer.cs index 3ddf9b297d..c84645474e 100644 --- a/src/BizHawk.Client.EmuHawk/tools/SNES/SNESGraphicsDebugger.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/SNES/SNESGraphicsDebugger.Designer.cs @@ -2457,7 +2457,6 @@ namespace BizHawk.Client.EmuHawk this.Name = "SNESGraphicsDebugger"; this.ShowIcon = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Graphics Debugger"; this.Load += new System.EventHandler(this.SNESGraphicsDebugger_Load); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); diff --git a/src/BizHawk.Client.EmuHawk/tools/SNES/SNESGraphicsDebugger.cs b/src/BizHawk.Client.EmuHawk/tools/SNES/SNESGraphicsDebugger.cs index e42112ade9..7c1c9a6437 100644 --- a/src/BizHawk.Client.EmuHawk/tools/SNES/SNESGraphicsDebugger.cs +++ b/src/BizHawk.Client.EmuHawk/tools/SNES/SNESGraphicsDebugger.cs @@ -57,6 +57,8 @@ namespace BizHawk.Client.EmuHawk { } + protected override string WindowTitleStatic => "Graphics Debugger"; + public SNESGraphicsDebugger() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs index 352fdcf692..6c36df6f4c 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.Designer.cs @@ -1190,7 +1190,6 @@ namespace BizHawk.Client.EmuHawk this.MinimumSize = new System.Drawing.Size(200, 148); this.Name = "TAStudio"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "TAStudio"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Tastudio_Closing); this.Load += new System.EventHandler(this.Tastudio_Load); this.DragDrop += new System.Windows.Forms.DragEventHandler(this.TAStudio_DragDrop); diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs index 1c0bef119b..8685e8ef66 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs @@ -130,7 +130,7 @@ namespace BizHawk.Client.EmuHawk _engaged = true; WantsToControlReboot = true; SetUpColumns(); - SetTextProperty(); + UpdateWindowTitle(); } } else diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs index 26073e0551..d8f6bcfde6 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs @@ -264,7 +264,7 @@ namespace BizHawk.Client.EmuHawk MainForm.AddOnScreenMessage("TAStudio engaged"); SetTasMovieCallbacks(CurrentTasMovie); - SetTextProperty(); + UpdateWindowTitle(); MainForm.RelinquishControl(this); _originalEndAction = Config.Movies.MovieEndAction; MainForm.DisableRewind(); @@ -652,7 +652,7 @@ namespace BizHawk.Client.EmuHawk CurrentTasMovie.ChangeLog.Clear(); CurrentTasMovie.ClearChanges(); - SetTextProperty(); + UpdateWindowTitle(); MessageStatusLabel.Text = $"{Path.GetFileName(CurrentTasMovie.Filename)} loaded."; return true; @@ -811,7 +811,7 @@ namespace BizHawk.Client.EmuHawk Update(); CurrentTasMovie.Save(); Settings.RecentTas.Add(CurrentTasMovie.Filename); - SetTextProperty(); + UpdateWindowTitle(); MessageStatusLabel.Text = "File saved."; Cursor = Cursors.Default; } @@ -826,23 +826,14 @@ namespace BizHawk.Client.EmuHawk GlobalWin.Sound.StartSound(); } - private void SetTextProperty() - { - var text = "TAStudio"; - if (CurrentTasMovie != null) - { - text += $" - {CurrentTasMovie.Name}{(CurrentTasMovie.Changes ? "*" : "")}"; - } + protected override string WindowTitle + => CurrentTasMovie == null + ? "TAStudio" + : CurrentTasMovie.Changes + ? $"TAStudio - {CurrentTasMovie.Name}*" + : $"TAStudio - {CurrentTasMovie.Name}"; - if (InvokeRequired) - { - this.Invoke(() => Text = text); - } - else - { - Text = text; - } - } + protected override string WindowTitleStatic => "TAStudio"; public IEnumerable GetSelection() => TasView.SelectedRows; @@ -1133,7 +1124,7 @@ namespace BizHawk.Client.EmuHawk /// private void TasMovie_OnPropertyChanged(object sender, PropertyChangedEventArgs e) { - SetTextProperty(); + UpdateWindowTitle(); } private void TAStudio_DragDrop(object sender, DragEventArgs e) diff --git a/src/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.Designer.cs index 606e445bcd..9f34ea17d5 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.Designer.cs @@ -1638,7 +1638,6 @@ namespace BizHawk.Client.EmuHawk this.Name = "TI83KeyPad"; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "TI-83 Virtual KeyPad"; this.Load += new System.EventHandler(this.TI83KeyPad_Load); this.menuStrip1.ResumeLayout(false); this.menuStrip1.PerformLayout(); diff --git a/src/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.cs b/src/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.cs index 26845e4c66..6b5cd27f02 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.cs @@ -12,6 +12,8 @@ namespace BizHawk.Client.EmuHawk // ReSharper disable once UnusedAutoPropertyAccessor.Local public TI83 Emu { get; private set; } + protected override string WindowTitleStatic => "TI-83 Virtual KeyPad"; + public TI83KeyPad() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/ToolBox.cs b/src/BizHawk.Client.EmuHawk/tools/ToolBox.cs index 065411fb66..e66578ff0e 100644 --- a/src/BizHawk.Client.EmuHawk/tools/ToolBox.cs +++ b/src/BizHawk.Client.EmuHawk/tools/ToolBox.cs @@ -16,6 +16,8 @@ namespace BizHawk.Client.EmuHawk [RequiredService] private IEmulator Emulator { get; set; } + protected override string WindowTitleStatic => string.Empty; + public ToolBox() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/ToolFormBase.cs b/src/BizHawk.Client.EmuHawk/tools/ToolFormBase.cs index bdcab0c0b6..9d00d8265b 100644 --- a/src/BizHawk.Client.EmuHawk/tools/ToolFormBase.cs +++ b/src/BizHawk.Client.EmuHawk/tools/ToolFormBase.cs @@ -9,10 +9,16 @@ using BizHawk.Emulation.Common; namespace BizHawk.Client.EmuHawk { - public class ToolFormBase : Form + public abstract class ToolFormBase : FormBase { public ToolManager Tools { get; set; } - public Config Config { get; set; } + + public new Config Config + { + get => base.Config; + set => base.Config = value; //TODO used once in ToolManager (for init) and twice in dumb ways + } + public InputManager InputManager { get; set; } public IMainFormForTools MainForm { get; set; } diff --git a/src/BizHawk.Client.EmuHawk/tools/TraceLogger.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/TraceLogger.Designer.cs index 1e760380ed..d38cba1a8c 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TraceLogger.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TraceLogger.Designer.cs @@ -280,7 +280,6 @@ namespace BizHawk.Client.EmuHawk this.MinimumSize = new System.Drawing.Size(400, 230); this.Name = "TraceLogger"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Trace Logger"; this.Load += new System.EventHandler(this.TraceLogger_Load); this.TracerBox.ResumeLayout(false); this.TraceContextMenu.ResumeLayout(false); diff --git a/src/BizHawk.Client.EmuHawk/tools/TraceLogger.cs b/src/BizHawk.Client.EmuHawk/tools/TraceLogger.cs index 58cbcbb977..b905b1b3ec 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TraceLogger.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TraceLogger.cs @@ -59,6 +59,9 @@ namespace BizHawk.Client.EmuHawk private const string DisasmColumnName = "Disasm"; private const string RegistersColumnName = "Registers"; + + protected override string WindowTitleStatic => "Trace Logger"; + public TraceLogger() { InitializeComponent(); diff --git a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.Designer.cs index 5a80e21a75..b9ea16944e 100644 --- a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.Designer.cs @@ -146,7 +146,6 @@ namespace BizHawk.Client.EmuHawk this.Controls.Add(this.ControllerBox); this.Controls.Add(this.PadMenu); this.Name = "VirtualpadTool"; - this.Text = "Virtual Pads"; this.Load += new System.EventHandler(this.VirtualpadTool_Load); this.ControllerBox.ResumeLayout(false); this.PadBoxContextMenu.ResumeLayout(false); diff --git a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs index f28d90d2f6..becb2fb77e 100644 --- a/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs +++ b/src/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs @@ -38,6 +38,8 @@ namespace BizHawk.Client.EmuHawk } } + protected override string WindowTitleStatic => "Virtual Pads"; + public VirtualpadTool() { StickyPads = true; diff --git a/src/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.Designer.cs index 67c71ba33a..51a980410d 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.Designer.cs @@ -1041,7 +1041,6 @@ namespace BizHawk.Client.EmuHawk this.MinimumSize = new System.Drawing.Size(290, 399); this.Name = "RamSearch"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "RAM Search"; this.Activated += new System.EventHandler(this.NewRamSearch_Activated); this.Load += new System.EventHandler(this.RamSearch_Load); this.DragDrop += new System.Windows.Forms.DragEventHandler(this.NewRamSearch_DragDrop); diff --git a/src/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs b/src/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs index cf4cb2a4ba..06bb248ec0 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs @@ -39,6 +39,8 @@ namespace BizHawk.Client.EmuHawk private bool _dropdownDontfire; // Used as a hack to get around lame .net dropdowns, there's no way to set their index without firing the SelectedIndexChanged event! + protected override string WindowTitleStatic => "RAM Search"; + public RamSearch() { SetStyle(ControlStyles.AllPaintingInWmPaint, true); diff --git a/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.Designer.cs b/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.Designer.cs index 869d1aabc7..4fc696ae1c 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.Designer.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.Designer.cs @@ -643,7 +643,6 @@ namespace BizHawk.Client.EmuHawk this.Controls.Add(this.WatchListView); this.Name = "RamWatch"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = " RAM Watch"; this.Load += new System.EventHandler(this.RamWatch_Load); this.DragDrop += new System.Windows.Forms.DragEventHandler(this.RamWatch_DragDrop); this.DragEnter += new System.Windows.Forms.DragEventHandler(this.DragEnterWrapper); diff --git a/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs b/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs index fe59bee9d4..d141ecc094 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs @@ -31,6 +31,8 @@ namespace BizHawk.Client.EmuHawk [OptionalService] private IDebuggable Debuggable { get; set; } + protected override string WindowTitleStatic => "RAM Watch"; + public RamWatch() { InitializeComponent();