diff options
author | Marco Cecchetti <marco.cecchetti@collabora.com> | 2020-04-20 21:26:26 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2020-05-10 07:36:46 +0200 |
commit | 247f92b02072d6ded919b844b5064f43118bc0ab (patch) | |
tree | 7a22ff0b0ce713249f39acb20d1f6eaa8e11649c /sc/source/ui/view | |
parent | e3fb5da905017c9cf6bd67da80d1cc72e67c36dd (diff) |
lok: set device form factor of the client on view creation
This patch allows the lok core to know about the device form facor of
the client requesting the creation of new view, immediately instead of
a later time.
When a new view is needed a "DeviceFormFactor" parameter is forwarded
to lo_documentLoadWithOptions and doc_createViewWithOptions from the
client.
This parameter can have one of the following values: 'desktop',
'tablet','mobile' and it is used to set a global variable accessible
by SfxLokHelper::setDeviceFormFactor and
SfxLokHelper::getDeviceFormFactor.
This global variable is retrived in the SfxViewShell constructor for
setting SfxViewShell::maLOKDeviceFormFactor attribute.
In SfxViewShell we have the following 3 methods:
- bool isLOKDesktop()
- bool isLOKTablet()
- bool isLOKMobilePhone()
which replace the following boolean functions:
- comphelper::LibreOfficeKit::isTablet
- comphelper::LibreOfficeKit::::isMobilePhone
Change-Id: I9b36f354278df8c216fcb90f6a9da8256ec9c1e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93340
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'sc/source/ui/view')
-rw-r--r-- | sc/source/ui/view/gridwin.cxx | 7 | ||||
-rw-r--r-- | sc/source/ui/view/viewfun5.cxx | 3 |
2 files changed, 5 insertions, 5 deletions
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index 26c2d6eb7b7f..e88027b6d754 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -2227,11 +2227,10 @@ void ScGridWindow::MouseButtonUp( const MouseEvent& rMEvt ) } // On a mobile device view there is no ctrl+click and for hyperlink popup // the cell coordinates must be sent along with click position for elegance - if (isTiledRendering && - (comphelper::LibreOfficeKit::isMobilePhone(SfxLokHelper::getView()) || - comphelper::LibreOfficeKit::isTablet(SfxLokHelper::getView()))) + ScTabViewShell* pViewShell = pViewData->GetViewShell(); + if (isTiledRendering && pViewShell && + (pViewShell->isLOKMobilePhone() || pViewShell->isLOKTablet())) { - ScTabViewShell* pViewShell = pViewData->GetViewShell(); Point aPos = rMEvt.GetPosPixel(); SCCOL nPosX; SCROW nPosY; diff --git a/sc/source/ui/view/viewfun5.cxx b/sc/source/ui/view/viewfun5.cxx index 758c0621478d..7aa96e344dbb 100644 --- a/sc/source/ui/view/viewfun5.cxx +++ b/sc/source/ui/view/viewfun5.cxx @@ -336,8 +336,9 @@ bool ScViewFunc::PasteDataFormat( SotClipboardFormatId nFormatId, && aDataHelper.GetString( nFormatId, *pStrBuffer )) { // Do CSV dialog if more than one line. But not if invoked from Automation. + const SfxViewShell* pViewShell = SfxViewShell::Current(); sal_Int32 nDelim = pStrBuffer->indexOf('\n'); - if (!comphelper::LibreOfficeKit::isMobilePhone(SfxLokHelper::getView()) && !comphelper::Automation::AutomationInvokedZone::isActive() + if (!(pViewShell && pViewShell->isLOKMobilePhone()) && !comphelper::Automation::AutomationInvokedZone::isActive() && nDelim >= 0 && nDelim != pStrBuffer->getLength () - 1) { vcl::Window* pParent = GetActiveWin(); |