summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-05-27formula bar: Change completeFunction() to accept string instead of index.private/mmeeks/cp64mergeJan Holesovsky8-18/+22
The 'index' is unsafe, because the set it tries to index can change in the meantime. Instead, use the function name and search for it in the set, to get the recent index. Change-Id: Id2a021c32f421057c87b6f7f4fffcc1c98009acb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93666 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93910 Tested-by: Jenkins
2020-05-27lok: calc: input bar: send number of text lines to clientMarco Cecchetti2-3/+6
Change-Id: Iec919ef11e22ae5d02009570f446064e3f7bfe01 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92690 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93345 Tested-by: Jenkins
2020-05-27lok: remove sum and equal buttons from the formula barMarco Cecchetti1-16/+26
This patch removes sum and equal buttons from the formula bar in the lok case. A tentative to limit that to the mobile case has been done however the formula input bar is created before than the client view so we are not able to use the LibreOfficeKit::isMobile check. Change-Id: Icb820a0d77eb9295046997d2f3690d7f8b39680d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89453 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-05-27lok: formula bar: send whole function listMarco Cecchetti3-18/+187
Change-Id: Ibbd142652f3190387700f820e56c494b61bfa658 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93341 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-05-27lok: set device form factor of the client on view creationMarco Cecchetti26-81/+85
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>
2020-05-27Move uno:Text param from core to online - core partMuhammet Kara1-4/+0
Change-Id: Idf51a688a868c2d140fcf5eb54e1bfdefc3690b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92394 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com> (cherry picked from commit d9a0e2fe5bf95bf0bfba424a3625d7f952884932) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92304 Tested-by: Jenkins
2020-05-27send state changes of .uno:NumberFormatDecimal command to LOKMert Tumer2-0/+2
Change-Id: I7872c0a0c123865c77d3aa8937775116368f1ffa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92203 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 2f6cbb67099edde535a81e7b0a32c1418805d6d6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92290 Tested-by: Jenkins
2020-05-27editeng: lok: send cursor visibility event when restoring update modeAshod Nakashian6-12/+203
When the default text is removed from a TextBox within a slide, the cursor visibility is inadvertendly set to false and never restored (because the LOK notification is disabled due to treating the ShowCursor during SetUpdateMode as an activation of the TextBox, and that is supressed to avoid messing up the cursor when creating a new view). We add a new flag to SetUpdateMode to flag whether this is an activation or we are restoring a previously active window (TextBox) due to a temporary disabling (to clear the default text). Four unit-tests added not just to check and validate the fix, but to also simulate two different ways of entering edit mode, first by single-clicking on the text and then double-clicking outside the text, but within the TextBox. Change-Id: Icaaabc2a897f614f5ce162b71fadccff22ecda02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90301 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 6b84dfabbb5f6930f9ac582f8c1dd9f467fd068c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90298 Tested-by: Jenkins Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2020-05-27change SAL_WARN to SAL_INFO when language is not setTomaž Vajngerl1-2/+2
Change this, so we don't fill the console with warnings. Change-Id: I089113207be99b50b15cf292cae3e929f9edff26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89556 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit af17b2cd26a1e36edf0b995f81a2e0757086dad1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89676 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-05-27lok: Set default text for new text box on mobileMuhammet Kara2-0/+4
Change-Id: I0b6056e9dbf5fb81d092092cc183b05120b95d70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89352 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89710 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
2020-05-27lok: Create Text boxes directlyMuhammet Kara1-0/+4
Change-Id: I281d4648d0e91f74d6f0f5880945d8e7e8659efe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89344 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89709 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
2020-05-27Fix currency symbol selection in Calc on mobileTomaž Vajngerl12-32/+159
In LOK we use one language identifier for both - UI language and the locale used. This is a problem when we determine that we a language for UI is not available and fall-back to the default "en-US" langauge, which also changes the locale. This introduces a separate variable that stores the language tag for the locale independently to the language. Another problem is that in some cases we don't reset the staticly initialized data, when the new document is loaded, which is on the other hand used to define which currency symbol is used as SYSTEM locale. That can in some cases select the wrong currency symbol even when we changed the locale to something else. This fix introduces a reset function, which is triggered on every document load. Change-Id: I55c7f467600a832895f94346f8bf11a6ef6a1e49 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89320 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89343 Tested-by: Jenkins
2020-05-27android: Hardcode the 'double-tap' in case of the native app.Jan Holesovsky2-8/+34
We know we are mobile, so why bother... We could go even further, and do that directly in the comphelper, but that would need more testing I guess. Change-Id: Ia371d42fe0e31b5c6f17313fbf6baad4c256cbe9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89236 Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89695 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-05-27android: Don't show the multiline toggle in the formula input bar on phones.Jan Holesovsky1-2/+6
The interaction there currently distorts the view and occupies too much space anyway. Change-Id: I093432dcfc223e4ea8b0f5a3cc45368f90c3cc0c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88477 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88481 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-05-27lok: preserve mouse event logic position and use in calcTomaž Vajngerl8-24/+62
When clicking in online Calc any of the charts, shapes (and other objects), sometimes the cell underneath is selected instead. The problem is that the object is not correctly recognised to be hit. From lok we get the mouse event position in logic coordinates, which we usually can just use in writer and impress. In calc however we need the coordinates in pixels, so we transform them before sending the mouse event to calc. Still calc also uses common SdrObjects (chart, shapes,...), which operate in logic coordinates. So in case of SdrObject we need to convert the coordniates back from pixel to logic again, which causes problems because conversion doesn't have access to the displaying conditions on an stateless online client. OTOH we already had the correct logic coordinates, and we can just send them along. This is what this change does. It adds an optional maLogicPosition to MouseEvent, which is filled with logic position if those is known. Change-Id: I26f6466085baf613850b5861e368f22cad7c1d26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87681 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-05-27android lok: Correct the hint in the slides from click to double-tap.Jan Holesovsky2-16/+21
Change-Id: I71744dc48f50115c9b4245ac2c81a6431ecbdce6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87678 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jenkins
2020-05-27lok: Add LOK_CALLBACK_STATE_CHANGED for uno:OrientationMuhammet Kara1-0/+14
Change-Id: Iab3aaf742bdb9fc4b9c5875fee7d769fa0581eeb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87370 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Aron Budea <aron.budea@collabora.com> Tested-by: Aron Budea <aron.budea@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88451 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-05-27lok formula input: Don't show un-needed elements with the LOK active.Jan Holesovsky1-7/+13
Change-Id: I82effbdd48dab5b9de2cd05859e74e5c1027a4df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86991 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87063 Tested-by: Jenkins
2020-05-27lok: Unlock chart contollers after insertion on mobile viewMuhammet Kara1-0/+2
The chart controllers were locked until the dialog finishes its execution, but at some point, dialog is disabled for mobile view, and seems like it was forgotten to unlock the controllers. Change-Id: Ib1e5799f5c84ef8b3ebc0f538909b4f8b586ff1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86716 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89708 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
2020-05-27sfx2: tolerate missing LOKNotifier on FloatingWindow hideAshod Nakashian1-3/+5
It seems the assumption is that if we get to hide state then we must have initialized properly and set a LOKNotifier. But this seems not to always hold, for whatever reason. Here we are more forgiving if we don't have LOKNotifier. Change-Id: Id21ec83489776f34228dd31f63e711b0dd77af55 Reviewed-on: https://gerrit.libreoffice.org/85401 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit 25d8db8598ac54fe3ef1d6f40076ff19db87cd2f) Reviewed-on: https://gerrit.libreoffice.org/85686 Tested-by: Jenkins Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2020-05-27android: Don't crash when double-tapping a text box.Jan Holesovsky3-1/+15
Here we were accessing the notification from a destructor; so avoid that when the pDoc is already being destructed. Reviewed-on: https://gerrit.libreoffice.org/85235 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 589147c64804adc5ceba895510559e2b6806d467) Reviewed-on: https://gerrit.libreoffice.org/85246 Tested-by: Jenkins Change-Id: I686bc9acf66788bfed6cf478fc7a1646ca8fd259
2020-05-27desktop: unit-test to check SpellDialog works in multiple viewsAshod Nakashian6-0/+89
Unfortunately, this isn't fully functional, but didn't want to lose the effort. The problem is that there is no proper config for languages in the unit-tests. So even when we set the language explicitly, it still doesn't apply to the SpellCheckerDispatcher, which is where it matters. This seems to be because the config is not properly propagated and broadcast. Below is the stacktrace as works on desktop. During the unittest the Broadcaster has no change listener for LngSvcMgr, so SpellCheckerDispatcher::SetServiceList doesn't get called. #0 0x00007f47f3fed7e6 in SpellCheckerDispatcher::SetServiceList(com::sun::star::lang::Locale const&, com::sun::star::uno::Sequence<rtl::OUString> const&) (this=0x5589de40e7a0, rLocale=..., rSvcImplNames=uno::Sequence of length 1 = {...}) at /home/ash/prj/master/linguistic/source/spelldsp.cxx:795 #1 0x00007f47f3fcc0ad in LngSvcMgr::Notify(com::sun::star::uno::Sequence<rtl::OUString> const&) (this=0x5589de43b4e0, rPropertyNames=uno::Sequence of length 4 = {...}) at /home/ash/prj/master/linguistic/source/lngsvcmgr.cxx:826 #2 0x00007f47fa2d3c8d in utl::ConfigItem::CallNotify(com::sun::star::uno::Sequence<rtl::OUString> const&) (this=0x5589de43b530, rPropertyNames=uno::Sequence of length 4 = {...}) at /home/ash/prj/master/unotools/source/config/configitem.cxx:181 #3 0x00007f47fa2d3946 in utl::ConfigChangeListener_Impl::changesOccurred(com::sun::star::util::ChangesEvent const&) (this=0x5589de464b90, rEvent=...) at /home/ash/prj/master/unotools/source/config/configitem.cxx:143 #4 0x00007f47e273bb61 in configmgr::Broadcaster::send() (this=0x7ffcc604c5b0) at /home/ash/prj/master/configmgr/source/broadcaster.cxx:182 #5 0x00007f47e277f002 in configmgr::RootAccess::commitChanges() (this=0x5589dd557400) at /home/ash/prj/master/configmgr/source/rootaccess.cxx:171 #6 0x00007f47fa2d80e3 in utl::ConfigItem::ReplaceSetProperties(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (this=0x5589dd5571b0, rNode="ServiceManager/SpellCheckerList", rValues=uno::Sequence of length 4 = {...}) at /home/ash/prj/master/unotools/source/config/configitem.cxx:1025 #7 0x00007f47fa339983 in SvtLinguConfig::ReplaceSetProperties(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (this=0x7ffcc604cb40, rNode="ServiceManager/SpellCheckerList", rValues=uno::Sequence of length 4 = {...}) at /home/ash/prj/master/unotools/source/config/lingucfg.cxx:847 #8 0x00007f47f3fcb88f in LngSvcMgr::UpdateAll() (this=0x5589de43b4e0) at /home/ash/prj/master/linguistic/source/lngsvcmgr.cxx:765 #9 0x00007f47f3fc9caa in LngSvcMgr::LngSvcMgr() (this=0x5589de43b4e0) at /home/ash/prj/master/linguistic/source/lngsvcmgr.cxx:438 #10 0x00007f47f3fd3baf in LngSvcMgr_CreateInstance(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&) () at /home/ash/prj/master/linguistic/source/lngsvcmgr.cxx:1967 #11 0x00007f4800e9656b in cppu::OSingleFactoryHelper::createInstanceEveryTime(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (this=0x5589de3ccfc8, xContext= uno::Reference to (cppu::ComponentContext *) 0x5589dbcca630) at /home/ash/prj/master/cppuhelper/source/factory.cxx:149 #12 0x00007f4800e96790 in cppu::OSingleFactoryHelper::createInstanceWithContext(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (this=0x5589de3ccfc8, xContext=uno::Reference to (cppu::ComponentContext *) 0x5589dbcca630) at /home/ash/prj/master/cppuhelper/source/factory.cxx:175 #13 0x00007f4800e97107 in cppu::OFactoryComponentHelper::createInstanceWithContext(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (this=0x5589de3ccf60, xContext=uno::Reference to (cppu::ComponentContext *) 0x5589dbcca630) at /home/ash/prj/master/cppuhelper/source/factory.cxx:374 #14 0x00007f4800eebc8f in cppuhelper::ServiceManager::Data::Implementation::createInstance(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, bool) (this=0x5589dbd2f030, context=uno::Reference to (cppu::ComponentContext *) 0x5589dbcca630, singletonRequest=false) at /home/ash/prj/master/cppuhelper/source/servicemanager.cxx:667 #15 0x00007f4800eee587 in cppuhelper::ServiceManager::createInstanceWithContext(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (this=0x5589dbcbaaf0, aServiceSpecifier="com.sun.star.linguistic2.LinguServiceManager", Context=uno::Reference to (cppu::ComponentContext *) 0x5589dbcca630) at /home/ash/prj/master/cppuhelper/source/servicemanager.cxx:991 #16 0x00007f4800776778 in com::sun::star::linguistic2::LinguServiceManager::create(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&) (the_context=uno::Reference to (cppu::ComponentContext *) 0x5589dbcca630) at /home/ash/prj/master/workdir/UnoApiHeadersTarget/offapi/normal/com/sun/star/linguistic2/LinguServiceManager.hpp:38 #17 0x00007f4800772d51 in GetLngSvcMgr_Impl() () at /home/ash/prj/master/editeng/source/misc/unolingu.cxx:66 #18 0x00007f4800773449 in SpellDummy_Impl::GetSpell_Impl() (this=0x5589dd82f420) at /home/ash/prj/master/editeng/source/misc/unolingu.cxx:217 #19 0x00007f4800773614 in SpellDummy_Impl::isValid(rtl::OUString const&, short, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (this=0x5589dd82f420, rWord="a", nLanguage=1033, rProperties=empty uno::Sequence) at /home/ash/prj/master/editeng/source/misc/unolingu.cxx:249 #20 0x00007f48006ae4c2 in ImpEditEngine::DoOnlineSpelling(ContentNode*, bool, bool) (this=0x5589de195060, pThisNodeOnly=0x0, bSpellAtCursorPos=false, bInterruptible=true) at /home/ash/prj/master/editeng/source/editeng/impedit4.cxx:2306 #21 0x00007f480067d0d2 in ImpEditEngine::OnlineSpellHdl(Timer*) (this=0x5589de195060) at /home/ash/prj/master/editeng/source/editeng/impedit3.cxx:322 (cherry picked from commit 4f77bd94028a140133814d735c0425bbd0de4839) Reviewed-on: https://gerrit.libreoffice.org/85007 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit 66c1f6bee6f463786540b2e73d52f35461063589) Reviewed-on: https://gerrit.libreoffice.org/85683 Tested-by: Jenkins Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Change-Id: Iffef03502c78311427aa8883739678120cc84931
2020-05-27sfx2: sidebar: new .uno commands to show and hide sidebarsAshod Nakashian8-14/+78
Change-Id: I9afba5eec855d6de590086736177b543d52d3b20 Reviewed-on: https://gerrit.libreoffice.org/85192 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-05-27sfx2: sidebar: publish created notification on Mobile tooAshod Nakashian1-19/+18
Reviewed-on: https://gerrit.libreoffice.org/85011 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 50af967b731495be6645f065fd11b9ad832a654a) Change-Id: I59e5db039a6c1f29cb13e7c77a782659dbfb6894 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85786 Tested-by: Jenkins Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2020-05-27sfx2: sidebar: notify mobile when the sidebar closesAshod Nakashian1-1/+17
Change-Id: Idb05346a9ccc8690cad566b74ec86d5fdd3bfb35 Reviewed-on: https://gerrit.libreoffice.org/84973 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2020-05-27vcl: sfx2: LOK: Support per-view popup windowsAshod Nakashian35-324/+488
While we do support multiple views, there is only one state for popup/floating windows, that also includes the dialogs open and related windows/data. This adds support to allow each view to have its own popups and state, thus allowing multiple users to interact with the dialogs independently of one another. (cherry picked from commit b50c341a53911f1d725947a4d8d3d2f782c94079) Change-Id: I3786a561ca6ca113ad12425bdb491e5a30bd1a28 Reviewed-on: https://gerrit.libreoffice.org/82440 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/85221 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-05-27sidebar: sensible line and page sizes and invalidateAshod Nakashian1-0/+3
Change-Id: Icf60480a47d7c93bad44f6457bb05af332e63c6d Reviewed-on: https://gerrit.libreoffice.org/84718 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2020-05-27LOK: don't send LOK notifications while switching viewsAshod Nakashian2-24/+55
Changing the active view is done for virtually every LOK API, and in some cases simply changing the view results in a flurry of notifications that themselves caues further API calls that need to change the view. This moves the disabling of callbacks during setView to SfxLokHelper to make sure no view gets any notifications. This is needed because even when we disable notifications for the current view, the _other_ view(s) can still get notified as they lose their frame. Change-Id: Ia88a58d6a1162e48c40f4c4ce73c40ecb2c1fb7e Reviewed-on: https://gerrit.libreoffice.org/84417 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2020-05-27Use INVALID_POOL_ITEM instead of magic numberSzymon Kłos1-1/+1
Change-Id: I44fdc602563164944bee40848b13de0c0c62e4f7 Reviewed-on: https://gerrit.libreoffice.org/85019 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-05-27Avoid crash when no uno name availableSzymon Kłos1-4/+8
Change-Id: I81895e68d6fda46bec0cc3bca2da63901d3fed4c Reviewed-on: https://gerrit.libreoffice.org/84950 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-05-27jsdialogs: make possible to use on multiple mobile devicesSzymon Kłos1-2/+3
Change-Id: I1f7867dfd15e423f10622b3cec17ed8039d23c49 Reviewed-on: https://gerrit.libreoffice.org/84367 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-05-27sidebar: always trigger LOK notifications on resizeAshod Nakashian1-1/+2
This is critical for the Mobile Wizard, which refreshes by pushing, not pulling (following invalidations). Change-Id: Ie75c2f5c07798fa89c21901d6d0233c42768ea8d Reviewed-on: https://gerrit.libreoffice.org/84359 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2020-05-27sidebar: do not emit unnecessary created notificationsAshod Nakashian1-12/+33
This also breaks a potentially recursive cycle where each 'created' notification requests a re-rendering, which triggers view change (when more than one view is open on the doc), which triggers a frame change, which resets the sidebar, causing a 'created' notification, thereby starting the cycle anew. Change-Id: I1aafe7f45871748afb393fa55c357037215e6c33 Reviewed-on: https://gerrit.libreoffice.org/83629 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2020-05-27sidebar: reset the LOKNotifier when the ViewShell changesAshod Nakashian4-45/+28
The ViewShell (which implements the LOKNotifier interface) changes during the lifetime of the SidebarDockingWindow. This is extremely problematic, because we assign the LOKNotifier to a window, and use it to emit notifications to the LOKit clients. When the ViewShell changes, a window (the SidebarDockingWindow in this case) may end up using an old ViewShell instance, which may have just been destroyed. Now we properly reset the LOKNotifier to make sure we are using the current ViewShell at all times. This is still not ideal, since we may use the wrong ViewShell to send out notifications, but we can't control that as we are at the mercy of the mechanism that changes the current ViewShell. This also removes obsolete flags to control which document-types supported sidebar, as well as other misc cleanups. Change-Id: Ic208f64596a39feb7354958cf4d5e1e033d87b5b Reviewed-on: https://gerrit.libreoffice.org/83627 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2020-05-27sidebars: add JSDialog support to sidebarsAshod Nakashian2-6/+57
Currently the JSDialog path is only for mobile and we use the passive notifications for desktop Online. Change-Id: I5d26fee9475ede665f269ca1f7b582455be08e50 Reviewed-on: https://gerrit.libreoffice.org/81754 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2020-05-27oox smartart import, composite alg: implement vertical centeringMiklos Vajna2-0/+31
The bugdoc's case was that the total height would be used by 2 shapes, but then a constraint decreases the height of one shape, so not all vertical space is used. We used to just count from the top, need to center vertically, as PowerPoint does it. (cherry picked from commit acdde3c643fde015214c546b1567727272ea799e) Change-Id: I436019e9e837b73130e387c9bcd309e20045b0f9
2020-05-27oox smartart import: fix aspect ratio of shape with composite algoMiklos Vajna3-20/+109
The layout node has alg=composite, then a parTx and a desTx child layout nodes. No matter what order is used (parent first, child first), the result will be wrong, as the constraints refer to each other. I did not spot any description in ISO 29500-1 that would describe what is the expected behavior. Researching this, found "One other consideration when specifying composite constraints is that the constraints must be specified in the same order as the nested layout nodes." at <http://web.archive.org/web/20111015151600/http://msdn.microsoft.com/en-us/magazine/cc163470.aspx>, which suggests to handle constraints for each shape in a parent -> child order, but keep a shared state when iterating over the children which gives us: - parent node, all direct constraints - for each child node: - child's constraints from parent - child's own constraints This way the desTx top value can depend on the parTx's height, and it's supported to define parTx's height only in the parTx layout node, not in the composite parent. And after all, it matches what PowerPoint does, so the column headings in the bugdoc have a 4:10 height:width aspect ratio. (cherry picked from commit 414586649582e182b2603702f4f586f4beeed8a9) Change-Id: Ideb76c1ddd1ffff8d2a217cddf81106d1bb97eb9
2020-05-27smartart import: handle multiple <a:schemeClr> in <dgm:fillClrLst>Miklos Vajna10-29/+105
The TODO in the ColorFragmentHandler ctor was right: we only handled the last <a:schemeClr> child, but there can be multiple one. Use them based on the index of a shape in a <dgm:forEach> loop. Move the TODO to the only place which still assumes a single color in the color list. (cherry picked from commit 12bea6c897822964ad4705418da54411cb15749e) Conflicts: oox/source/drawingml/colorchoicecontext.cxx oox/source/drawingml/diagram/diagram.cxx sd/qa/unit/import-tests-smartart.cxx Change-Id: I1c5c4f82e621f1110ef06b0490ff79f82f60f214
2020-05-27Fix test UI_chartSzymon Kłos3-8/+16
Sync chart wizard code with master Change-Id: I4ab2cbfa9efd3caca3c7951150b7daa3a133b634
2020-05-27Add an option to create encyrpted PDF files with mailmerge.Gülşah Köse11-18/+235
With that option user can create encyrpted pdf files with a password column in database via mailmerge. Change-Id: I081ef050bc269b1fec24fd01ecc812acd7b857ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94709 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com> (cherry picked from commit 983db96a17630be906b868d2be811663f0d846f6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94689 Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-05-27tdf#131230: Sidebar: Can't set Automatic colorPranam Lashkari2-4/+3
This also solved the issue in sidebar with some controls when selecting an item it selects the item below Change-Id: I607b8bc44402b57b5c4833f918fb41b23ddf48c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93099 Tested-by: Marco Cecchetti <marco.cecchetti@collabora.com> Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94855 Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-05-27resolved: page gradient reset on reopening docPranam Lashkari1-3/+9
in mobile phone Slide background set to gradient becomes black/white after reopening Change-Id: Ib579856c3df8b89c74b381f3d79870c467802848 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92831 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94854 Tested-by: Andras Timar <andras.timar@collabora.com>
2020-05-27use "To Background" and "To Foreground" only in writer sidebarPranam Lashkari3-2/+56
Change-Id: Ib7ccac192721b663c9655417fc3d639766d0424d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91267 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94853 Tested-by: Andras Timar <andras.timar@collabora.com>
2020-05-27Added parameter to FillPageGradient commandPranam Lashkari3-8/+50
Change-Id: Ife435fc25e8e3114e66461af22ac9e0ef8c9d011 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92235 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94852 Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-05-27Added parameter to FillPageColor commandPranam Lashkari5-4/+90
Change-Id: I22943815b69eeb7628eb243e0dbc6c8e0ea3487e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94851 Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-05-27added clear Direct Formatting button in calc sidebarPranam Lashkari1-1/+10
Change-Id: I7f18c696eb32332d9c65145e7788370304d91ea6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93812 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94850 Tested-by: Andras Timar <andras.timar@collabora.com>
2020-05-27fixed clear Direct Formatting button to sidebar in impressPranam Lashkari3-0/+34
Change-Id: I81cd30b3ce7087122c260dca99e86a3c857447b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93648 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94829 Tested-by: Andras Timar <andras.timar@collabora.com>
2020-05-27Revert "tdf#104017 DOC export: be less aggressive with merging page styles"Justin Luth8-10/+55
This reverts LO 6.3.4 commit 5d1709a7c4184eb31cfc4c2d3acadff3a4a68189, which tdf#133334 shows is wrong. How this made it past QA is a mystery to me. There should be lots of examples. Change-Id: I17be6e4bab44057f4535d4728825e12d068b65d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94782 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 42a37f8ce27ad8fca222f50b712a8fed52dbda95) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94683
2020-05-27Revert "tdf#37268: use also sheet local range in Pivot"Julien Nabet2-52/+6
This reverts commit 73af06a6a7fcb2d92d36a45bbe54395bcba8dfb0. The patch is wrong according to: https://bugs.documentfoundation.org/show_bug.cgi?id=37268#c24 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94748 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr> (cherry picked from commit 818af4717bd7d4fbb6f622128c99259efb0714c9) Change-Id: I63dd69afa3fc324930cd16ccc3458372d7745531 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94684 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2020-05-27tdf#133348 remove from list before calling SetActiveSidebarWinJulien Nabet1-2/+4
so GetNextPostIt won't deal with mvPostItFields containing empty unique_ptr See bt here: https://bugs.documentfoundation.org/attachment.cgi?id=161242 Change-Id: I7c9a3e91d5186492cb185f799b60d1dcc5edf7af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94766 (cherry picked from commit b0bbfdf89d6496ffda4dc409ec5f2add8c94fe2a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94680 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>