Index: Core/Common/src/Core.Common.Gui/ContextMenu/GuiContextMenuItemFactory.cs =================================================================== diff -u -r95b2f3a62c8b753acf853a265464098d189c38bd -r74fa4b3189b50ed683febfeee2275ab1d0274f88 --- Core/Common/src/Core.Common.Gui/ContextMenu/GuiContextMenuItemFactory.cs (.../GuiContextMenuItemFactory.cs) (revision 95b2f3a62c8b753acf853a265464098d189c38bd) +++ Core/Common/src/Core.Common.Gui/ContextMenu/GuiContextMenuItemFactory.cs (.../GuiContextMenuItemFactory.cs) (revision 74fa4b3189b50ed683febfeee2275ab1d0274f88) @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; using System.Drawing; +using System.Linq; using System.Windows.Forms; using Core.Common.Gui.Commands; using Core.Common.Gui.Plugin; @@ -194,11 +195,15 @@ throw new ArgumentNullException(nameof(image)); } + importInfos = importInfos == null + ? importCommandHandler.GetSupportedImportInfos(dataObject) + : importInfos.Where(info => info.IsEnabled(dataObject)); + var importItem = new ToolStripMenuItem(text) { ToolTipText = toolTip, Image = image, - Enabled = importCommandHandler.CanImportOn(dataObject) + Enabled = importInfos.Any() }; importItem.Click += (s, e) => importCommandHandler.ImportOn(dataObject); Index: Core/Common/test/Core.Common.Gui.Test/Commands/GuiImportHandlerTest.cs =================================================================== diff -u -r3414de3ddc243dfd52962807b614d05885764591 -r74fa4b3189b50ed683febfeee2275ab1d0274f88 --- Core/Common/test/Core.Common.Gui.Test/Commands/GuiImportHandlerTest.cs (.../GuiImportHandlerTest.cs) (revision 3414de3ddc243dfd52962807b614d05885764591) +++ Core/Common/test/Core.Common.Gui.Test/Commands/GuiImportHandlerTest.cs (.../GuiImportHandlerTest.cs) (revision 74fa4b3189b50ed683febfeee2275ab1d0274f88) @@ -352,10 +352,10 @@ }, inquiryHelper); // Call - Action call = () => importHandler.ImportOn(targetObject); + void Call() => importHandler.ImportOn(targetObject); // Assert - TestHelper.AssertLogMessagesAreGenerated(call, new[] + TestHelper.AssertLogMessagesAreGenerated(Call, new[] { $"Importeren van '{dataDescription}' is gestart.", $"Importeren van '{dataDescription}' is mislukt." @@ -398,10 +398,10 @@ }, inquiryHelper); // Call - Action call = () => importHandler.ImportOn(targetObject); + void Call() => importHandler.ImportOn(targetObject); // Assert - TestHelper.AssertLogMessageIsGenerated(call, "Importeren van gegevens is geannuleerd."); + TestHelper.AssertLogMessageIsGenerated(Call, "Importeren van gegevens is geannuleerd."); } mockRepository.VerifyAll();