From 9083a07e98a32e3ce7af4bd1a817f2b870df0f55 Mon Sep 17 00:00:00 2001 From: Muhammet Kara Date: Wed, 31 Jul 2019 21:41:41 +0300 Subject: LOK: Proper use of isMobile() on embedded charts We are moving the isMobile() check to a higher layer, to avoid changing a published API method This is the follow-up of the commit feae0c186e700f6a48c3fad124fb4795ad1a8f83 Change-Id: Ia84baa36d66d5832e00e6466f5206631df0de443 Reviewed-on: https://gerrit.libreoffice.org/78277 Reviewed-by: Miklos Vajna Tested-by: Jenkins --- sfx2/source/view/ipclient.cxx | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'sfx2') diff --git a/sfx2/source/view/ipclient.cxx b/sfx2/source/view/ipclient.cxx index 5bc642d85be1..f2d6d4e78bcd 100644 --- a/sfx2/source/view/ipclient.cxx +++ b/sfx2/source/view/ipclient.cxx @@ -935,6 +935,17 @@ ErrCode SfxInPlaceClient::DoVerb( long nVerb ) { m_xImp->m_xObject->setClientSite( m_xImp->m_xClient ); + // Disable embedded object editing (e.g. chart) on mobile + if ( comphelper::LibreOfficeKit::isActive() && comphelper::LibreOfficeKit::isMobile(SfxLokHelper::getView()) + && m_xImp->m_xObject->getCurrentState() == embed::EmbedStates::RUNNING ) + { + // Also check next state + // Needs to be embed::EmbedStates::UI_ACTIVE or embed::EmbedStates::INPLACE_ACTIVE + // Conversion table is in embeddedobj/source/commonembedding/miscobj.cxx + if (nVerb != embed::EmbedVerbs::MS_OLEVERB_OPEN && nVerb != embed::EmbedVerbs::MS_OLEVERB_HIDE) + return nError; + } + m_xImp->m_xObject->doVerb( nVerb ); } catch ( embed::UnreachableStateException& ) -- cgit