From d14a874c048d23fe5a4ecd2373202d32fd93ddeb Mon Sep 17 00:00:00 2001 From: elmodor Date: Mon, 14 Sep 2026 01:58:47 +0200 Subject: [PATCH] Fix: Update search window when importing, also close importing window on completion --- IAGrim/UI/Popups/ImportExport/ImportExportContainer.cs | 5 ++++- .../Popups/ImportExport/Panels/ImportExportModePicker.cs | 5 ++++- IAGrim/UI/Popups/ImportExport/Panels/ImportMode.cs | 8 +++++++- IAGrim/UI/Tabs/SettingsWindow.cs | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/IAGrim/UI/Popups/ImportExport/ImportExportContainer.cs b/IAGrim/UI/Popups/ImportExport/ImportExportContainer.cs index 3531484b..bbc02756 100644 --- a/IAGrim/UI/Popups/ImportExport/ImportExportContainer.cs +++ b/IAGrim/UI/Popups/ImportExport/ImportExportContainer.cs @@ -18,11 +18,13 @@ namespace IAGrim.UI.Popups.ImportExport { partial class ImportExportContainer : Form { private readonly GDTransferFile[] _modFilter; private readonly IPlayerItemDao _playerItemDao; + private readonly Action _itemViewUpdateTrigger; - public ImportExportContainer(GDTransferFile[] modFilter, IPlayerItemDao playerItemDao) { + public ImportExportContainer(GDTransferFile[] modFilter, IPlayerItemDao playerItemDao, Action itemViewUpdateTrigger) { InitializeComponent(); this._modFilter = modFilter; this._playerItemDao = playerItemDao; + this._itemViewUpdateTrigger = itemViewUpdateTrigger; } private void ImportExportContainer_Load(object sender, EventArgs e) { @@ -31,6 +33,7 @@ private void ImportExportContainer_Load(object sender, EventArgs e) { _modFilter, _playerItemDao, contentPanel.Controls, + _itemViewUpdateTrigger, () => this.Close() ), contentPanel); } diff --git a/IAGrim/UI/Popups/ImportExport/Panels/ImportExportModePicker.cs b/IAGrim/UI/Popups/ImportExport/Panels/ImportExportModePicker.cs index 862c030d..0a155aac 100644 --- a/IAGrim/UI/Popups/ImportExport/Panels/ImportExportModePicker.cs +++ b/IAGrim/UI/Popups/ImportExport/Panels/ImportExportModePicker.cs @@ -12,23 +12,26 @@ partial class ImportExportModePicker : Form { private readonly Control.ControlCollection parentContainer; private readonly IPlayerItemDao playerItemDao; private readonly GDTransferFile[] modFilter; + private readonly Action itemViewUpdateTrigger; private readonly Action onClose; public ImportExportModePicker( GDTransferFile[] modFilter, IPlayerItemDao playerItemDao, Control.ControlCollection parentContainer, + Action itemViewUpdateTrigger, Action onClose ) { InitializeComponent(); this.modFilter = modFilter; this.playerItemDao = playerItemDao; this.parentContainer = parentContainer; + this.itemViewUpdateTrigger = itemViewUpdateTrigger; this.onClose = onClose; } private void buttonImport_Click(object sender, EventArgs e) { - var form = new ImportMode(modFilter, playerItemDao) { TopLevel = false }; + var form = new ImportMode(modFilter, playerItemDao, itemViewUpdateTrigger, onClose) { TopLevel = false }; parentContainer.Add(form); parentContainer.Remove(this); form.Show(); diff --git a/IAGrim/UI/Popups/ImportExport/Panels/ImportMode.cs b/IAGrim/UI/Popups/ImportExport/Panels/ImportMode.cs index 54877b6e..e5ea201d 100644 --- a/IAGrim/UI/Popups/ImportExport/Panels/ImportMode.cs +++ b/IAGrim/UI/Popups/ImportExport/Panels/ImportMode.cs @@ -17,13 +17,17 @@ partial class ImportMode : Form { private static readonly ILog Logger = LogManager.GetLogger(typeof(ImportMode)); private readonly GDTransferFile[] _modSelection; private readonly IPlayerItemDao _playerItemDao; + private readonly Action _itemViewUpdateTrigger; + private readonly Action _onClose; private string? _filename; private volatile bool isLocked = false; - public ImportMode(GDTransferFile[] modSelection, IPlayerItemDao playerItemDao) { + public ImportMode(GDTransferFile[] modSelection, IPlayerItemDao playerItemDao, Action itemViewUpdateTrigger, Action onClose) { InitializeComponent(); this._modSelection = modSelection; this._playerItemDao = playerItemDao; + this._itemViewUpdateTrigger = itemViewUpdateTrigger; + this._onClose = onClose; } private void ImportMode_Load(object sender, EventArgs e) { @@ -155,6 +159,8 @@ private void buttonImport_Click(object sender, EventArgs e) { MessageBoxButtons.OK, MessageBoxIcon.Information ); + _itemViewUpdateTrigger?.Invoke(); + _onClose(); }); t.Start(); diff --git a/IAGrim/UI/Tabs/SettingsWindow.cs b/IAGrim/UI/Tabs/SettingsWindow.cs index 1d33f834..046427bb 100644 --- a/IAGrim/UI/Tabs/SettingsWindow.cs +++ b/IAGrim/UI/Tabs/SettingsWindow.cs @@ -123,7 +123,7 @@ private void buttonLanguageSelect_Click(object sender, EventArgs e) { private void buttonImportExport_Click(object sender, EventArgs e) { - new Popups.ImportExport.ImportExportContainer(_modFilter, _playerItemDao) + new Popups.ImportExport.ImportExportContainer(_modFilter, _playerItemDao, _itemViewUpdateTrigger) .ShowDialog(); }