From 985b76d237b26b428771bfc03d1ef74cdb5d77f0 Mon Sep 17 00:00:00 2001 From: Vasily Melenchuk Date: Fri, 27 Dec 2019 14:55:11 +0100 Subject: tdf#121458: chart: change "Data Ranges" button enabled condition. "Data Ranges" button right now enabled if chart has no own table (as it was before 0074951704022d173a5fdb9df933f47be1dcbb91) or own table exists and it is possible to create data provider (LibreOffice will warn later about destroying data table). Change-Id: If92b0aad8a6099250effdb68022addb277ef4371 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86391 Tested-by: Jenkins Reviewed-by: Thorsten Behrens --- .../source/controller/main/ControllerCommandDispatch.cxx | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/chart2/source/controller/main/ControllerCommandDispatch.cxx b/chart2/source/controller/main/ControllerCommandDispatch.cxx index ffbb53ac7176..f8474959a619 100644 --- a/chart2/source/controller/main/ControllerCommandDispatch.cxx +++ b/chart2/source/controller/main/ControllerCommandDispatch.cxx @@ -553,13 +553,8 @@ void ControllerCommandDispatch::updateCommandAvailability() if ( xChartDoc.is() ) { ChartModel& rModel = dynamic_cast(*xChartDoc); - Reference< lang::XServiceInfo > xParentServiceInfo(rModel.getParent(), uno::UNO_QUERY); - OSL_ENSURE(xParentServiceInfo.is(), "Invalid XServiceInfo"); - if ( xParentServiceInfo.is() ) - { - css::uno::Reference< com::sun::star::chart2::XDataProviderAccess > xCreatorDoc(rModel.getParent(), uno::UNO_QUERY); - bCanCreateDataProvider = xCreatorDoc.is(); - } + css::uno::Reference< com::sun::star::chart2::XDataProviderAccess > xCreatorDoc(rModel.getParent(), uno::UNO_QUERY); + bCanCreateDataProvider = xCreatorDoc.is(); } } @@ -632,8 +627,9 @@ void ControllerCommandDispatch::updateCommandAvailability() m_aCommandAvailability[ ".uno:FormatChartArea" ] = m_aCommandAvailability[ ".uno:DiagramArea" ]; m_aCommandAvailability[ ".uno:FormatLegend" ] = m_aCommandAvailability[ ".uno:Legend" ]; - // depending on own data - m_aCommandAvailability[".uno:DataRanges"] = bIsWritable && bModelStateIsValid && !m_apModelState->bHasDataFromPivotTable && bCanCreateDataProvider; + // depending on own data and ability to create new data provider + m_aCommandAvailability[".uno:DataRanges"] = bIsWritable && bModelStateIsValid && !m_apModelState->bHasDataFromPivotTable + && ((m_apModelState->bHasOwnData && bCanCreateDataProvider) || !m_apModelState->bHasOwnData); m_aCommandAvailability[ ".uno:DiagramData" ] = bIsWritable && bModelStateIsValid && m_apModelState->bHasOwnData && bEnableDataTableDialog; // titles -- cgit v1.2.3