From 5ccb7ecf7cda92934d63cc171674b6c4f7f51af7 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Mon, 16 Mar 2020 13:50:00 +0200 Subject: Rename isMobile to isMobilePhone and introduce a separate isTablet The intended semantics of isMobile() has been to say whether the device is a mobile phone ot not. Not whether it is a mobile device in general. So make that explicit. Adjust call sites as necessary. Also, in a couple of places where it is likely that what is relevant is whether it is a mobile device in general, not just whether it is a mobile phone, check both isMobile() and isTablet(). For stable interoperability with current Online, keep accepting also the .uno:LOKSetMobile "command" (and .uno:LOKUnSetMobile, except that Online never sends that). Online will eventually be changed to use .uno:LOKSetMobilePhone or .uno:LOGSetTablet only (and never the UnSet variants). Also drop the default value for the bool parameter to setMobilePhone(). Default bool parameters can be quite confusing, and it was especially silly in this case as there is one (1) call site. This is a work in progress and will be improved. Currently there are undefined corner cases. Change-Id: I2a71c37323ee151cbc671bd8e714e1dee10f8b1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90560 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tor Lillqvist Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90778 Tested-by: Jenkins --- comphelper/source/misc/lok.cxx | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) (limited to 'comphelper') diff --git a/comphelper/source/misc/lok.cxx b/comphelper/source/misc/lok.cxx index c4e5b8e23979..292de13effe3 100644 --- a/comphelper/source/misc/lok.cxx +++ b/comphelper/source/misc/lok.cxx @@ -88,8 +88,11 @@ static LanguageAndLocale g_aLanguageAndLocale; /// Scaling of the cairo canvas painting for hi-dpi static double g_fDPIScale(1.0); -/// List of pairs -static std::map g_vIsViewMobile; +/// Which views are on mobile phones? +static std::map g_vIsViewMobilePhone; + +/// Which views are on tablets? +static std::map g_vIsViewTablet; void setActive(bool bActive) { @@ -101,18 +104,28 @@ bool isActive() return g_bActive; } -void setMobile(int nViewId, bool bMobile) +void setMobilePhone(int nViewId, bool bIsMobilePhone) +{ + g_vIsViewMobilePhone[nViewId] = bIsMobilePhone; +} + +bool isMobilePhone(int nViewId) { - if (g_vIsViewMobile.find(nViewId) != g_vIsViewMobile.end()) - g_vIsViewMobile[nViewId] = bMobile; + if (g_vIsViewMobilePhone.find(nViewId) != g_vIsViewMobilePhone.end()) + return g_vIsViewMobilePhone[nViewId]; else - g_vIsViewMobile.insert(std::make_pair(nViewId, bMobile)); + return false; +} + +void setTablet(int nViewId, bool bIsTablet) +{ + g_vIsViewTablet[nViewId] = bIsTablet; } -bool isMobile(int nViewId) +bool isTablet(int nViewId) { - if (g_vIsViewMobile.find(nViewId) != g_vIsViewMobile.end()) - return g_vIsViewMobile[nViewId]; + if (g_vIsViewTablet.find(nViewId) != g_vIsViewTablet.end()) + return g_vIsViewTablet[nViewId]; else return false; } -- cgit LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author