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(); }