From a373f892952f9ccdcbdf133e7aa70e5e5980c87d Mon Sep 17 00:00:00 2001 From: Kristian Bendiksen Date: Mon, 28 Oct 2019 20:11:58 +0100 Subject: [PATCH] #4857 Fix RicSaveEclipseVisibleCellsFeature/RicSaveEclipseActiveVisibleCellsqFeature picking in comparison view. --- ...RicSaveEclipseInputVisibleCellsFeature.cpp | 34 +++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/ApplicationCode/Commands/ExportCommands/RicSaveEclipseInputVisibleCellsFeature.cpp b/ApplicationCode/Commands/ExportCommands/RicSaveEclipseInputVisibleCellsFeature.cpp index 6f60b7600a..e6024961b9 100644 --- a/ApplicationCode/Commands/ExportCommands/RicSaveEclipseInputVisibleCellsFeature.cpp +++ b/ApplicationCode/Commands/ExportCommands/RicSaveEclipseInputVisibleCellsFeature.cpp @@ -29,12 +29,14 @@ #include "RimEclipseCase.h" #include "RimEclipseCellColors.h" #include "RimEclipseView.h" +#include "RiuViewer.h" #include "RigActiveCellInfo.h" #include "RigEclipseCaseData.h" #include "Riu3DMainWindowTools.h" +#include "cafCmdFeatureManager.h" #include "cafPdmUiPropertyViewDialog.h" #include "cafSelectionManager.h" @@ -135,14 +137,20 @@ void RicSaveEclipseInputVisibleCellsFeature::setupActionLook( QAction* actionToS //-------------------------------------------------------------------------------------------------- RimEclipseView* RicSaveEclipseInputVisibleCellsFeature::selectedView() const { - RimEclipseView* view = caf::SelectionManager::instance()->selectedItemAncestorOfType(); - if ( view ) + auto contextViewer = dynamic_cast( caf::CmdFeatureManager::instance()->currentContextMenuTargetWidget() ); + + if ( contextViewer != nullptr ) { + // Command is triggered from viewer + Rim3dView* activeView = RiaApplication::instance()->activeMainOrComparisonGridView(); + return dynamic_cast( activeView ); + } + else + { + // Command triggered from project tree or file menu + RimEclipseView* view = caf::SelectionManager::instance()->selectedItemAncestorOfType(); return view; } - - Rim3dView* activeView = RiaApplication::instance()->activeReservoirView(); - return dynamic_cast( activeView ); } //-------------------------------------------------------------------------------------------------- @@ -175,12 +183,18 @@ void RicSaveEclipseInputActiveVisibleCellsFeature::setupActionLook( QAction* act //-------------------------------------------------------------------------------------------------- RimEclipseView* RicSaveEclipseInputActiveVisibleCellsFeature::selectedView() { - RimEclipseView* view = caf::SelectionManager::instance()->selectedItemAncestorOfType(); - if ( view ) + auto contextViewer = dynamic_cast( caf::CmdFeatureManager::instance()->currentContextMenuTargetWidget() ); + + if ( contextViewer != nullptr ) { + // Command is triggered from viewer + Rim3dView* activeView = RiaApplication::instance()->activeMainOrComparisonGridView(); + return dynamic_cast( activeView ); + } + else + { + // Command triggered from project tree or file menu + RimEclipseView* view = caf::SelectionManager::instance()->selectedItemAncestorOfType(); return view; } - - Rim3dView* activeView = RiaApplication::instance()->activeReservoirView(); - return dynamic_cast( activeView ); }