[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/guisaveas.cxx | 35 +++ 1 file changed, 23 insertions(+), 12 deletions(-) New commits: commit dec31de5062ca3ddd3661ab25708c885c9544a80 Author: Caolán McNamara AuthorDate: Sat Jun 8 17:50:37 2019 +0100 Commit: Aron Budea CommitDate: Mon Nov 18 17:55:06 2019 +0100 Resolves: tdf#120343 show pdf in async pdf export dialog callback not after dialog async exec begins, but defer to during that response callback Change-Id: I316022c01a87cf251d57b1007ae93fefddada776 Reviewed-on: https://gerrit.libreoffice.org/73717 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos (cherry picked from commit d3655c22aa393dd70459f42bee547c39306e4bf0) diff --git a/sfx2/source/doc/guisaveas.cxx b/sfx2/source/doc/guisaveas.cxx index 956a03f30002..289869eab01a 100644 --- a/sfx2/source/doc/guisaveas.cxx +++ b/sfx2/source/doc/guisaveas.cxx @@ -1305,6 +1305,21 @@ uno::Reference< css::frame::XModuleManager2 > const & SfxStoringHelper::GetModul return m_xModuleManager; } +namespace +{ +void LaunchPDFViewer(const INetURLObject& rURL) +{ +// Launch PDF viewer +FilterConfigItem aItem( "Office.Common/Filter/PDF/Export/" ); +bool aViewPDF = aItem.ReadBool( "ViewPDFAfterExport", false ); + +if ( aViewPDF ) +{ +uno::Reference xSystemShellExecute(SystemShellExecute::create(::comphelper::getProcessComponentContext())); + xSystemShellExecute->execute(rURL.GetMainURL(INetURLObject::DecodeMechanism::NONE), "", SystemShellExecuteFlags::URIS_ONLY); +} +} +} bool SfxStoringHelper::GUIStoreModel( const uno::Reference< frame::XModel >& xModel, const OUString& aSlotName, @@ -1653,6 +1668,11 @@ bool SfxStoringHelper::GUIStoreModel( const uno::Reference< frame::XModel >& xMo { SfxStoringHelper::SetDocInfoState(aModel.GetModel(), xOldDocProps, true); } + +// Launch PDF viewer +if (nStoreMode & PDFEXPORT_REQUESTED) +LaunchPDFViewer(aURL); + }; // use dispatch API to show document info dialog @@ -1674,19 +1694,10 @@ bool SfxStoringHelper::GUIStoreModel( const uno::Reference< frame::XModel >& xMo aModelData.GetStorable()->storeToURL( aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE ), aArgsSequence ); else aModelData.GetStorable()->storeAsURL( aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE ), aArgsSequence ); -} - -// Launch PDF viewer -if ( nStoreMode & PDFEXPORT_REQUESTED ) -{ -FilterConfigItem aItem( "Office.Common/Filter/PDF/Export/" ); -bool aViewPDF = aItem.ReadBool( "ViewPDFAfterExport", false ); -if ( aViewPDF ) -{ -uno::Reference xSystemShellExecute(SystemShellExecute::create( ::comphelper::getProcessComponentContext() ) ); -xSystemShellExecute->execute( aURL.GetMainURL( INetURLObject::DecodeMechanism::NONE ), "", SystemShellExecuteFlags::URIS_ONLY ); -} +// Launch PDF viewer +if (nStoreMode & PDFEXPORT_REQUESTED) +LaunchPDFViewer(aURL); } return bDialogUsed; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/control/dispatch.cxx |2 +- sfx2/source/sidebar/SidebarChildWindow.cxx |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) New commits: commit 29c9444b4ee2c19e707f6301aa5805e080b53d5d Author: Jan Holesovsky AuthorDate: Mon Sep 30 12:10:17 2019 +0200 Commit: Tor Lillqvist CommitDate: Wed Oct 2 22:55:20 2019 +0200 lok: Enable sidebar also in Impress. The enabling in Impress caused a unit test (CppunitTest_sd_tiledrendering) breakage, so this commit also contains a partial revert of "sfx2: Re-enable the sidebars for LOK" It seems that all still works (the sidebar is showing), and the unit test passes with this. Unfortunately I failed to find the real root cause, and the problem is not present in master or in cp-6.2, so let's live with this for the moment I think. Change-Id: I6c5c7c82a3ad81e590a891f1a8cc76a873823acf Reviewed-on: https://gerrit.libreoffice.org/79839 Tested-by: Jenkins CollaboraOffice Reviewed-by: Tor Lillqvist diff --git a/sfx2/source/control/dispatch.cxx b/sfx2/source/control/dispatch.cxx index 04a6ca8d7ea8..52481d9798d3 100644 --- a/sfx2/source/control/dispatch.cxx +++ b/sfx2/source/control/dispatch.cxx @@ -1255,7 +1255,7 @@ void SfxDispatcher::Update_Impl( bool bForce ) } Update_Impl_( bUIActive, !bIsIPActive, bIsIPActive, pWorkWin ); -if (bUIActive || bIsActive) +if ( (bUIActive || bIsActive) && !comphelper::LibreOfficeKit::isActive() ) pWorkWin->UpdateObjectBars_Impl(); if ( pBindings ) diff --git a/sfx2/source/sidebar/SidebarChildWindow.cxx b/sfx2/source/sidebar/SidebarChildWindow.cxx index 890b7b8cb0a9..bec06f0634d3 100644 --- a/sfx2/source/sidebar/SidebarChildWindow.cxx +++ b/sfx2/source/sidebar/SidebarChildWindow.cxx @@ -33,7 +33,7 @@ SFX_IMPL_DOCKINGWINDOW_WITHID(SidebarChildWindow, SID_SIDEBAR); SidebarChildWindow::SidebarChildWindow(vcl::Window* pParentWindow, sal_uInt16 nId, SfxBindings* pBindings, SfxChildWinInfo* pInfo) : SfxChildWindow(pParentWindow, nId) -, mbSidebarVisibleInLOK(pInfo && (pInfo->aModule == "scalc" || pInfo->aModule == "swriter")) +, mbSidebarVisibleInLOK(pInfo && (pInfo->aModule == "scalc" || pInfo->aModule == "simpress" || pInfo->aModule == "swriter")) { SfxDockingWindow* pDockWin = VclPtr::Create( pBindings, *this, pParentWindow, WB_STDDOCKWIN | WB_OWNERDRAWDECORATION | WB_CLIPCHILDREN ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/autoredactdialog.cxx |2 ++ 1 file changed, 2 insertions(+) New commits: commit 972c3f9c6b981ee1cc8d969e881691db428e521c Author: Muhammet Kara AuthorDate: Mon Aug 26 16:03:08 2019 +0300 Commit: Aron Budea CommitDate: Mon Aug 26 15:26:48 2019 +0200 Fix crash on AutoRedact Dialog close with empty list [NO-FORWARD-PORT] Change-Id: I4f5963f0c6555aecb62fd12ab97792f001e0ed27 Reviewed-on: https://gerrit.libreoffice.org/78138 Reviewed-by: Aron Budea Tested-by: Aron Budea diff --git a/sfx2/source/doc/autoredactdialog.cxx b/sfx2/source/doc/autoredactdialog.cxx index 367482a8cbf7..b3f34c090aaf 100644 --- a/sfx2/source/doc/autoredactdialog.cxx +++ b/sfx2/source/doc/autoredactdialog.cxx @@ -612,6 +612,8 @@ SfxAutoRedactDialog::~SfxAutoRedactDialog() SvtViewOptions aDlgOpt(EViewType::Dialog, OStringToOUString(GetHelpId(), RTL_TEXTENCODING_UTF8)); aDlgOpt.Delete(); + +disposeOnce(); return; } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/autoredactdialog.cxx | 35 +-- 1 file changed, 21 insertions(+), 14 deletions(-) New commits: commit 647af2fb861ead7afaa3d9d0e7380469d691088f Author: Muhammet Kara AuthorDate: Fri Aug 23 21:15:55 2019 +0300 Commit: Muhammet Kara CommitDate: Fri Aug 23 21:35:59 2019 +0200 AutoRedaction: Adapt State Remembering [NO-FORWARD-PORT] Change-Id: If44141228ff4ecafd6f1cf686a695e32293fcfa0 Reviewed-on: https://gerrit.libreoffice.org/78040 Reviewed-by: Muhammet Kara Tested-by: Muhammet Kara diff --git a/sfx2/source/doc/autoredactdialog.cxx b/sfx2/source/doc/autoredactdialog.cxx index cbeb8a8705a1..367482a8cbf7 100644 --- a/sfx2/source/doc/autoredactdialog.cxx +++ b/sfx2/source/doc/autoredactdialog.cxx @@ -559,10 +559,10 @@ SfxAutoRedactDialog::SfxAutoRedactDialog(vcl::Window* pParent) m_pAddBtn->SetClickHdl(LINK(this, SfxAutoRedactDialog, AddHdl)); m_pEditBtn->SetClickHdl(LINK(this, SfxAutoRedactDialog, EditHdl)); -// Can be used to remmeber the last set of redaction targets? -/*OUString sExtraData; +// Bring back last set of targets +OUString sExtraData; SvtViewOptions aDlgOpt(EViewType::Dialog, - OStringToOUString(m_xDialog->get_help_id(), RTL_TEXTENCODING_UTF8)); + OStringToOUString(GetHelpId(), RTL_TEXTENCODING_UTF8)); if (aDlgOpt.Exists()) { @@ -573,13 +573,14 @@ SfxAutoRedactDialog::SfxAutoRedactDialog(vcl::Window* pParent) // update the targets configuration if necessary if (!sExtraData.isEmpty()) { -weld::WaitObject aWaitCursor(m_xDialog.get()); +EnterWait(); try { // Create path string, and read JSON from file boost::property_tree::ptree aTargetsJSON; -std::stringstream aStream(std::string(sExtraData.toUtf8())); +std::stringstream aStream( +std::string(sExtraData.toUtf8().getStr())); //TODO: Check correctness boost::property_tree::read_json(aStream, aTargetsJSON); @@ -588,7 +589,7 @@ SfxAutoRedactDialog::SfxAutoRedactDialog(vcl::Window* pParent) aTargetsJSON.get_child("RedactionTargets")) { RedactionTarget* pTarget = JSONtoRedactionTarget(rValue); -addTarget(pTarget); +m_pTargetsBox->InsertTarget(pTarget); } } catch (css::uno::Exception& e) @@ -598,18 +599,18 @@ SfxAutoRedactDialog::SfxAutoRedactDialog(vcl::Window* pParent) return; //TODO: Warn the user with a message box } -}*/ + +LeaveWait(); +} } SfxAutoRedactDialog::~SfxAutoRedactDialog() { -if (!m_bTargetsCopied) -clearTargets(); -/*if (m_aTableTargets.empty()) +if (m_pTargetsBox->GetEntryCount() < 1) { // Clear the dialog data SvtViewOptions aDlgOpt(EViewType::Dialog, - OStringToOUString(m_xDialog->get_help_id(), RTL_TEXTENCODING_UTF8)); + OStringToOUString(GetHelpId(), RTL_TEXTENCODING_UTF8)); aDlgOpt.Delete(); return; } @@ -618,7 +619,12 @@ SfxAutoRedactDialog::~SfxAutoRedactDialog() { // Put the targets into a JSON array boost::property_tree::ptree aTargetsArray; -for (const auto& targetPair : m_aTableTargets) +std::vector> vRedactionTargets; + +// Get the targets +getTargets(vRedactionTargets); + +for (const auto& targetPair : vRedactionTargets) { aTargetsArray.push_back(std::make_pair("", redactionTargetToJSON(targetPair.first))); } @@ -634,7 +640,7 @@ SfxAutoRedactDialog::~SfxAutoRedactDialog() // Store the dialog data SvtViewOptions aDlgOpt(EViewType::Dialog, - OStringToOUString(m_xDialog->get_help_id(), RTL_TEXTENCODING_UTF8)); + OStringToOUString(GetHelpId(), RTL_TEXTENCODING_UTF8)); aDlgOpt.SetUserItem("UserItem", css::uno::makeAny(sUserDataStr)); if (!m_bTargetsCopied) @@ -646,7 +652,8 @@ SfxAutoRedactDialog::~SfxAutoRedactDialog() "Exception caught while trying to store the dialog state: " << e.Message); return; //TODO: Warn the user with a message box -}*/ +} + disposeOnce(); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/objserv.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit d971c1b68651174d0c75907abb0ebcbf2b67770f Author: Mike Kaganski AuthorDate: Mon Aug 19 22:02:26 2019 +0200 Commit: Mike Kaganski CommitDate: Tue Aug 20 06:34:45 2019 +0200 Fix Windows build after commit 2a97d38fbf89ef6f17452fa9d93c2d6fb062f233 > C:/lo/core/sfx2/source/doc/objserv.cxx(561): error C2429: attribute 'fallthrough' requires compiler flag '/std:c++17' Change-Id: Id5924138ab75b87b82c205340d1e699426e04773 Reviewed-on: https://gerrit.libreoffice.org/0 Reviewed-by: Mike Kaganski Tested-by: Mike Kaganski diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx index 1f01253d742d..77cd8458bfc1 100644 --- a/sfx2/source/doc/objserv.cxx +++ b/sfx2/source/doc/objserv.cxx @@ -558,7 +558,7 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest ) bIsAutoRedact = true; //aDlg.getTargets(aRedactionTargets); -[[fallthrough]]; +SAL_FALLTHROUGH; } case SID_REDACTDOC: ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/autoredactdialog.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 5e54ef764894fa16e0cd2bea3bc7677ec7ada367 Author: Muhammet Kara AuthorDate: Sun Jul 14 23:51:44 2019 +0300 Commit: Muhammet Kara CommitDate: Sat Aug 17 16:42:31 2019 +0200 Fix error in JSONtoRedactionTarget Change-Id: I6e82f86adfc6e1ebff2d9377dd011d0d97648848 Reviewed-on: https://gerrit.libreoffice.org/75602 Tested-by: Jenkins Reviewed-by: Muhammet Kara Reviewed-on: https://gerrit.libreoffice.org/77170 Tested-by: Muhammet Kara diff --git a/sfx2/source/doc/autoredactdialog.cxx b/sfx2/source/doc/autoredactdialog.cxx index 692bce0080b9..49f6812861c9 100644 --- a/sfx2/source/doc/autoredactdialog.cxx +++ b/sfx2/source/doc/autoredactdialog.cxx @@ -384,7 +384,7 @@ RedactionTarget* JSONtoRedactionTarget(const boost::property_tree::ptree::value_ { OUString sName = OUString::fromUtf8(rValue.second.get("sName").c_str()); RedactionTargetType eType -= static_cast(atoi(rValue.second.get("sName").c_str())); += static_cast(atoi(rValue.second.get("eType").c_str())); OUString sContent = OUString::fromUtf8(rValue.second.get("sContent").c_str()); bool bCaseSensitive = OUString::fromUtf8(rValue.second.get("bCaseSensitive").c_str()).toBoolean(); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/autoredactdialog.cxx | 73 --- 1 file changed, 67 insertions(+), 6 deletions(-) New commits: commit a573ce29478406aeea457405687aeb11341dddf5 Author: Muhammet Kara AuthorDate: Mon Jun 17 15:33:37 2019 +0300 Commit: Muhammet Kara CommitDate: Sat Aug 17 16:41:10 2019 +0200 Let autoredact dialog remember last state * By storing the JSON string as SvtViewOptions Change-Id: I08e323005612cb0181d2176af659eb54267fbb3f Reviewed-on: https://gerrit.libreoffice.org/74169 Tested-by: Jenkins Reviewed-by: Muhammet Kara Reviewed-on: https://gerrit.libreoffice.org/77166 Tested-by: Muhammet Kara diff --git a/sfx2/source/doc/autoredactdialog.cxx b/sfx2/source/doc/autoredactdialog.cxx index 798ab965d831..90ceb3941962 100644 --- a/sfx2/source/doc/autoredactdialog.cxx +++ b/sfx2/source/doc/autoredactdialog.cxx @@ -557,6 +557,7 @@ SfxAutoRedactDialog::SfxAutoRedactDialog(weld::Window* pParent) OUString sExtraData; SvtViewOptions aDlgOpt(EViewType::Dialog, OStringToOUString(m_xDialog->get_help_id(), RTL_TEXTENCODING_UTF8)); + if (aDlgOpt.Exists()) { css::uno::Any aUserItem = aDlgOpt.GetUserItem("UserItem"); @@ -564,12 +565,34 @@ SfxAutoRedactDialog::SfxAutoRedactDialog(weld::Window* pParent) } // update the targets configuration if necessary +if (!sExtraData.isEmpty()) { weld::WaitObject aWaitCursor(m_xDialog.get()); -//m_aTargets.Update(); -} -// TODO: fill the targets box +try +{ +// Create path string, and read JSON from file +boost::property_tree::ptree aTargetsJSON; +std::stringstream aStream(std::string(sExtraData.toUtf8())); + +boost::property_tree::read_json(aStream, aTargetsJSON); + +// Recreate & add the targets to the dialog +for (const boost::property_tree::ptree::value_type& rValue : + aTargetsJSON.get_child("RedactionTargets")) +{ +RedactionTarget* pTarget = JSONtoRedactionTarget(rValue); +addTarget(pTarget); +} +} +catch (css::uno::Exception& e) +{ +SAL_WARN("sfx.doc", + "Exception caught while trying to load the last dialog state: " << e.Message); +return; +//TODO: Warn the user with a message box +} +} // Handler connections m_xLoadBtn->connect_clicked(LINK(this, SfxAutoRedactDialog, Load)); @@ -581,9 +604,47 @@ SfxAutoRedactDialog::SfxAutoRedactDialog(weld::Window* pParent) SfxAutoRedactDialog::~SfxAutoRedactDialog() { -// Store the view options -/*SvtViewOptions aDlgOpt(EViewType::Dialog, OStringToOUString(m_xDialog->get_help_id(), RTL_TEXTENCODING_UTF8)); -aDlgOpt.SetUserItem("UserItem", css::uno::makeAny(m_xMoreBt->get_expanded() ? OUString("Y") : OUString("N")));*/ +if (m_aTableTargets.empty()) +{ +// Clear the dialog data +SvtViewOptions aDlgOpt(EViewType::Dialog, + OStringToOUString(m_xDialog->get_help_id(), RTL_TEXTENCODING_UTF8)); +aDlgOpt.Delete(); +return; +} + +try +{ +// Put the targets into a JSON array +boost::property_tree::ptree aTargetsArray; +for (const auto& targetPair : m_aTableTargets) +{ +aTargetsArray.push_back(std::make_pair("", redactionTargetToJSON(targetPair.first))); +} + +// Build the JSON tree +boost::property_tree::ptree aTargetsTree; +aTargetsTree.add_child("RedactionTargets", aTargetsArray); +std::stringstream aStream; + +boost::property_tree::write_json(aStream, aTargetsTree, false); + +OUString sUserDataStr(OUString::fromUtf8(aStream.str().c_str())); + +// Store the dialog data +SvtViewOptions aDlgOpt(EViewType::Dialog, + OStringToOUString(m_xDialog->get_help_id(), RTL_TEXTENCODING_UTF8)); +aDlgOpt.SetUserItem("UserItem", css::uno::makeAny(sUserDataStr)); + +clearTargets(); +} +catch (css::uno::Exception& e) +{ +SAL_WARN("sfx.doc", + "Exception caught while trying to store the dialog state: " << e.Message); +return; +//TODO: Warn the user with a message box +} } bool SfxAutoRedactDialog::hasTargets() const ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/objmisc.cxx | 29 - 1 file changed, 28 insertions(+), 1 deletion(-) New commits: commit 439d2904f5624e87c73cbd1ea1b17b428e06b0a8 Author: Caolán McNamara AuthorDate: Fri Jul 26 13:25:31 2019 +0100 Commit: Andras Timar CommitDate: Mon Aug 5 18:07:01 2019 +0200 decode url escape codes and check each path segment Change-Id: Ie8f7cef912e8dacbc2a0bca73534a7a242a53ca1 Reviewed-on: https://gerrit.libreoffice.org/76396 Reviewed-by: Michael Stahl Tested-by: Jenkins (cherry picked from commit 8c51b91f13b391982084e5d4081b219d9e19308f) Reviewed-on: https://gerrit.libreoffice.org/76945 Tested-by: Jenkins CollaboraOffice Reviewed-by: Andras Timar Reviewed-on: https://gerrit.libreoffice.org/76985 diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx index 667f3f789c66..a66eeefc1d45 100644 --- a/sfx2/source/doc/objmisc.cxx +++ b/sfx2/source/doc/objmisc.cxx @@ -41,6 +41,8 @@ #include #include #include +#include +#include #include #include @@ -1350,7 +1352,32 @@ namespace // don't allow LibreLogo to be used with our mouseover/etc dom-alike events bool SfxObjectShell::UnTrustedScript(const OUString& rScriptURL) { -return rScriptURL.startsWithIgnoreAsciiCase("vnd.sun.star.script:LibreLogo"); +if (!rScriptURL.startsWith("vnd.sun.star.script:")) +return false; + +// ensure URL Escape Codes are decoded +css::uno::Reference uri( + css::uri::UriReferenceFactory::create(comphelper::getProcessComponentContext())->parse(rScriptURL)); +css::uno::Reference sfUri(uri, css::uno::UNO_QUERY); + +if (!sfUri.is()) +return false; + +OUString sScript = sfUri->getName(); + +// check if any path portion matches LibreLogo and ban it if it does +sal_Int32 nIndex = 0; +do +{ +OUString aToken = sScript.getToken(0, '/', nIndex); +if (aToken.startsWithIgnoreAsciiCase("LibreLogo")) +{ +return true; +} +} +while (nIndex >= 0); + +return false; } ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptContext, const OUString& _rScriptURL, ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/view/viewfrm.cxx | 15 +-- 1 file changed, 13 insertions(+), 2 deletions(-) New commits: commit 68f5e5038147d8537e7046fc67b11157bb3064fe Author: Mike Kaganski AuthorDate: Fri Jul 12 15:46:45 2019 +1000 Commit: Miklos Vajna CommitDate: Mon Jul 15 09:07:17 2019 +0200 tdf#126241: make sure to fill input stream before LockOrigFileOnDemand Otherwise, the function returns early, without providing lock file information to the caller. Change-Id: I1740ff0f5a982f7b22f9e3dcdf97631ab6ea6fe0 Reviewed-on: https://gerrit.libreoffice.org/75465 Tested-by: Jenkins Reviewed-by: Mike Kaganski Reviewed-on: https://gerrit.libreoffice.org/75496 Tested-by: Jenkins CollaboraOffice Reviewed-by: Miklos Vajna diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index d814ed43e5a0..5eeeaddf8a42 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -493,10 +493,21 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq ) } pMed->CloseAndRelease(); -pMed->GetItemSet()->Put( SfxBoolItem( SID_DOC_READONLY, !( nOpenMode & StreamMode::WRITE ) ) ); pMed->SetOpenMode( nOpenMode ); - +// We need to clear the SID_DOC_READONLY item from the set, to allow +// MediaDescriptor::impl_openStreamWithURL (called indirectly by +// SfxMedium::CompleteReOpen) to properly fill input stream of the +// descriptor, even when the file can't be open in read-write mode. +// Only then can following call to SfxMedium::LockOrigFileOnDemand +// return proper information about who has locked the file, to show +// in the SfxQueryOpenAsTemplate box below; otherwise it exits right +// after call to SfxMedium::GetMedium_Impl. This mimics what happens +// when the file is opened initially, when filter detection code also +// calls MediaDescriptor::impl_openStreamWithURL without the item set. +pMed->GetItemSet()->ClearItem(SID_DOC_READONLY); pMed->CompleteReOpen(); +pMed->GetItemSet()->Put( +SfxBoolItem(SID_DOC_READONLY, !(nOpenMode & StreamMode::WRITE))); if ( nOpenMode & StreamMode::WRITE ) { auto eResult = pMed->LockOrigFileOnDemand( ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/view/viewfrm.cxx | 11 +++ 1 file changed, 11 insertions(+) New commits: commit a148813cec0c4da58686cac199a2de7d9b543b06 Author: Mike Kaganski AuthorDate: Thu Jul 11 22:24:41 2019 +1000 Commit: Miklos Vajna CommitDate: Mon Jul 15 09:06:17 2019 +0200 Restore original value of SID_DOC_READONLY item on cancel or SID_EDITDOC Otherwise, SfxObjectShell::DoSaveCompleted later calls SfxMedium::LockOrigFileOnDemand, which sets error state for the medium reopened in read-only mode, as if it were opened in read-write mode. Change-Id: Ib2df62470878ea609552ccc76df84a3fdde30646 Reviewed-on: https://gerrit.libreoffice.org/75413 Tested-by: Jenkins Reviewed-by: Mike Kaganski (cherry picked from commit df9adfc95429bdaf085e9927ec5b326cee6b7a2a) Reviewed-on: https://gerrit.libreoffice.org/75493 Tested-by: Jenkins CollaboraOffice Reviewed-by: Miklos Vajna diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index 0d9b905e2382..d814ed43e5a0 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -469,6 +469,13 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq ) bool bOK = false; bool bRetryIgnoringLock = false; bool bOpenTemplate = false; +boost::optional aOrigROVal; +if (!pVersionItem) +{ +auto pRO = pMed->GetItemSet()->GetItem(SID_DOC_READONLY, false); +if (pRO) +aOrigROVal = pRO->GetValue(); +} do { LockFileEntry aLockData; if ( !pVersionItem ) @@ -533,6 +540,10 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq ) { pMed->ResetError(); pMed->SetOpenMode( SFX_STREAM_READONLY ); +if (aOrigROVal) + pMed->GetItemSet()->Put(SfxBoolItem(SID_DOC_READONLY, *aOrigROVal)); +else +pMed->GetItemSet()->ClearItem(SID_DOC_READONLY); pMed->ReOpen(); pSh->DoSaveCompleted( pMed ); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/control/charwin.cxx |1 - 1 file changed, 1 deletion(-) New commits: commit 347e273a685097a0d3d00b782bf8989d9582d224 Author: Miklos Vajna AuthorDate: Wed Jun 19 15:27:12 2019 +0200 Commit: Michael Meeks CommitDate: Wed Jun 19 15:32:31 2019 +0200 sfx2 character map dialog: avoid double insert of glyph The problem was that both the special character widget in SvxCharView::InsertCharToDoc() and the special character dialog in SvxCharacterMap::insertCharToDoc() reacted to KEY_RETURN, resulting in a double insertion. master has this resolved in commit 374599f8c26713905a310673d2b429083321186a (weld SvxCharacterMap dialog, 2018-03-22) already, do the minimal fix on this branch by reacting to KEY_RETURN only in the dialog. This is consistent with how the non-recent/favorite characters are handled, where also the dialog does the insertion, not the widget. Leaving the KEY_SPACE part unchanged, since that doesn't close the dialog, so no double insertion happens in that case. Change-Id: I9f75eb1d1b46cbbfe8dd4e160d245b5744acc8e0 Reviewed-on: https://gerrit.libreoffice.org/74360 Reviewed-by: Michael Meeks Tested-by: Michael Meeks diff --git a/sfx2/source/control/charwin.cxx b/sfx2/source/control/charwin.cxx index 8bd37fc67452..13019c5b18fa 100644 --- a/sfx2/source/control/charwin.cxx +++ b/sfx2/source/control/charwin.cxx @@ -71,7 +71,6 @@ void SvxCharView::KeyInput( const KeyEvent& rKEvt ) switch (aCode.GetCode()) { case KEY_SPACE: -case KEY_RETURN: InsertCharToDoc(); break; } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/control/unoctitm.cxx |9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) New commits: commit 0a8eefb55a2cd473bb7f07f19e23051d3e3a22c1 Author: Jan Holesovsky AuthorDate: Mon Jun 3 12:50:01 2019 +0200 Commit: Szymon Kłos CommitDate: Mon Jun 3 18:20:05 2019 +0200 lok: Fix status of InsertPage, DeletePage and DuplicatePage. Status true / false means checked, status enabled / disabled means the visibility (enablement) of the uno command. Change-Id: Ib2671984f59ffd5e6f1823a65ea42b33bdfe67d6 Reviewed-on: https://gerrit.libreoffice.org/73384 Reviewed-by: Szymon Kłos Tested-by: Szymon Kłos diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx index 357fd4be74a2..7390a3328fa3 100644 --- a/sfx2/source/control/unoctitm.cxx +++ b/sfx2/source/control/unoctitm.cxx @@ -1078,6 +1078,9 @@ static void InterceptLOKStateChangeEvent(const SfxViewFrame* pViewFrame, const c aEvent.FeatureURL.Path == "InsertColumnsBefore" || aEvent.FeatureURL.Path == "InsertColumnsAfter" || aEvent.FeatureURL.Path == "InsertSymbol" || + aEvent.FeatureURL.Path == "InsertPage" || + aEvent.FeatureURL.Path == "DeletePage" || + aEvent.FeatureURL.Path == "DuplicatePage" || aEvent.FeatureURL.Path == "DeleteRows" || aEvent.FeatureURL.Path == "DeleteColumns" || aEvent.FeatureURL.Path == "DeleteTable" || @@ -1102,12 +1105,6 @@ static void InterceptLOKStateChangeEvent(const SfxViewFrame* pViewFrame, const c { aBuffer.append(aEvent.IsEnabled ? OUString("enabled") : OUString("disabled")); } -else if (aEvent.FeatureURL.Path == "InsertPage" || - aEvent.FeatureURL.Path == "DeletePage" || - aEvent.FeatureURL.Path == "DuplicatePage") -{ -aBuffer.append(OUString::boolean(aEvent.IsEnabled)); -} else if (aEvent.FeatureURL.Path == "AssignLayout" || aEvent.FeatureURL.Path == "StatusSelectionMode" || aEvent.FeatureURL.Path == "Signature" || ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source sw/qa
sfx2/source/view/viewsh.cxx|3 sw/qa/extras/tiledrendering/tiledrendering.cxx | 273 + 2 files changed, 149 insertions(+), 127 deletions(-) New commits: commit c3fcb4a1c0fed9595abcda93b3bf0e1e9acab5b1 Author: Miklos Vajna AuthorDate: Fri May 10 16:41:11 2019 +0200 Commit: Michael Meeks CommitDate: Mon May 13 10:14:59 2019 +0200 CppunitTest_sw_tiledrendering: close the document while LOK is still active This is the same type of problem that was fixed for CppunitTest_desktop_lib in commit da17ccaec39f50de68c3fdd431bc66a2bec04127 (CppunitTest_desktop_lib: close the document while LOK is still active, 2019-05-09). (cherry picked from commit c1486533818de626378ec67afa49845da164d00c) Conflicts: sw/qa/extras/tiledrendering/tiledrendering.cxx Change-Id: I2fe050bf40d68dafa0334f4149e54958c492122d Reviewed-on: https://gerrit.libreoffice.org/72216 Reviewed-by: Michael Meeks Tested-by: Michael Meeks diff --git a/sfx2/source/view/viewsh.cxx b/sfx2/source/view/viewsh.cxx index c4d908fbd285..47f98c0bd98d 100644 --- a/sfx2/source/view/viewsh.cxx +++ b/sfx2/source/view/viewsh.cxx @@ -1457,6 +1457,9 @@ void SfxViewShell::registerLibreOfficeKitViewCallback(LibreOfficeKitCallback pCa afterCallbackRegistered(); +if (!pCallback) +return; + // Ask other views to tell us about their cursors. SfxViewShell* pViewShell = SfxViewShell::GetFirst(); while (pViewShell) diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx b/sw/qa/extras/tiledrendering/tiledrendering.cxx index 3db77a1c7f88..b7c0a03bee3d 100644 --- a/sw/qa/extras/tiledrendering/tiledrendering.cxx +++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx @@ -55,6 +55,7 @@ class SwTiledRenderingTest : public SwModelTestBase { public: SwTiledRenderingTest(); +virtual void tearDown() override; void testRegisterCallback(); void testPostKeyEvent(); void testPostMouseEvent(); @@ -196,6 +197,27 @@ SwTiledRenderingTest::SwTiledRenderingTest() { } +void SwTiledRenderingTest::tearDown() +{ +if (mxComponent.is()) +{ +SwXTextDocument* pTextDocument = dynamic_cast(mxComponent.get()); +if (pTextDocument) +{ +SwWrtShell* pWrtShell = pTextDocument->GetDocShell()->GetWrtShell(); +if (pWrtShell) +{ + pWrtShell->GetSfxViewShell()->registerLibreOfficeKitViewCallback(nullptr, nullptr); +} +} +mxComponent->dispose(); +mxComponent.clear(); +} +comphelper::LibreOfficeKit::setActive(false); + +test::BootstrapFixture::tearDown(); +} + SwXTextDocument* SwTiledRenderingTest::createDoc(const char* pName) { if (!pName) @@ -309,7 +331,6 @@ void SwTiledRenderingTest::testRegisterCallback() CPPUNIT_ASSERT(!m_aInvalidation.IsEmpty()); tools::Rectangle aTopLeft(0, 0, 256*15, 256*15); // 1 px = 15 twips, assuming 96 DPI. CPPUNIT_ASSERT(m_aInvalidation.IsOver(aTopLeft)); -comphelper::LibreOfficeKit::setActive(false); } void SwTiledRenderingTest::testPostKeyEvent() @@ -345,7 +366,6 @@ void SwTiledRenderingTest::testPostMouseEvent() Scheduler::ProcessEventsToIdle(); // The new cursor position must be before the first word. CPPUNIT_ASSERT_EQUAL(static_cast(0), pShellCursor->GetPoint()->nContent.GetIndex()); -comphelper::LibreOfficeKit::setActive(false); } void SwTiledRenderingTest::testSetTextSelection() @@ -404,8 +424,6 @@ void SwTiledRenderingTest::testGetTextSelection() ESelection aWordSelection(0, 0, 0, 5); rEditView.SetSelection(aWordSelection); CPPUNIT_ASSERT_EQUAL(OString("Shape"), pXTextDocument->getTextSelection("text/plain;charset=utf-8", aUsedFormat)); - -comphelper::LibreOfficeKit::setActive(false); } void SwTiledRenderingTest::testSetGraphicSelection() @@ -475,8 +493,6 @@ void SwTiledRenderingTest::testInsertShape() // check that it is in the foreground layer CPPUNIT_ASSERT(rDrawModelAccess.GetHeavenId() == pObject->GetLayer()); - -comphelper::LibreOfficeKit::setActive(false); } void lcl_search(bool bBackward) @@ -529,8 +545,6 @@ void SwTiledRenderingTest::testSearch() CPPUNIT_ASSERT(!pWrtShell->GetDrawView()->GetTextEditObject()); nActual = pWrtShell->getShellCursor(false)->Start()->nNode.GetNode().GetIndex(); CPPUNIT_ASSERT_EQUAL(nNode + 1, nActual); - -comphelper::LibreOfficeKit::setActive(false); } void SwTiledRenderingTest::testSearchViewArea() @@ -573,8 +587,6 @@ void SwTiledRenderingTest::testSearchTextFrame() comphelper::dispatchCommand(".uno:ExecuteSearch", aPropertyValues); // This was empty: nothing was highlighted after searching for 'TextFrame'. CPPUNIT_ASSERT(!m_aTextSelection.isEmpty()); - -comphelper::LibreOfficeKit::setActive(false); } void SwTiledRenderingTest::testSearchTextFrameWrapAround() @@
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/sidebar/SidebarController.cxx | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) New commits: commit 60c048e665c7e8dc32c378f0364931b6e26a9ca2 Author: Ashod Nakashian AuthorDate: Sun May 5 11:51:30 2019 -0400 Commit: Jan Holesovsky CommitDate: Mon May 6 15:17:34 2019 +0200 Notify the client when we close the sidebar Change-Id: I4879d65285e01cf2fd99233d226f4201997b4dd7 Reviewed-on: https://gerrit.libreoffice.org/71844 Reviewed-by: Jan Holesovsky Tested-by: Jan Holesovsky diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx index 876cae106319..1bf43c7bac40 100644 --- a/sfx2/source/sidebar/SidebarController.cxx +++ b/sfx2/source/sidebar/SidebarController.cxx @@ -65,13 +65,13 @@ namespace const static sal_Int32 gnWidthCloseThreshold (70); const static sal_Int32 gnWidthOpenThreshold (40); -static std::string UnoNameFromDeckId(const OUString& rsDeckId) +static std::string UnoNameFromDeckId(const OUString& rsDeckId, bool isDraw=false) { if (rsDeckId == "SdCustomAnimationDeck") return ".uno:CustomAnimation"; if (rsDeckId == "PropertyDeck") -return ".uno:ModifyPage"; +return isDraw ? ".uno:ModifyPage" : ".uno:Sidebar"; if (rsDeckId == "SdLayoutsDeck") return ".uno:ModifyPage"; @@ -224,7 +224,17 @@ void SidebarController::disposeDecks() SolarMutexGuard aSolarMutexGuard; if (comphelper::LibreOfficeKit::isActive()) +{ +if (const SfxViewShell* pViewShell = mpViewFrame->GetViewShell()) +{ +const std::string hide = UnoNameFromDeckId(msCurrentDeckId); +if (!hide.empty()) + pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED, + (hide + "=false").c_str()); +} + mpParentWindow->ReleaseLOKNotifier(); +} mpCurrentDeck.clear(); maFocusManager.Clear(); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/sidebar/SidebarChildWindow.cxx |4 +-- sfx2/source/sidebar/SidebarController.cxx| 36 ++- sfx2/source/sidebar/SidebarDockingWindow.cxx |2 - 3 files changed, 22 insertions(+), 20 deletions(-) New commits: commit 5ddf63041bec4deda56d10992c35ae4efe06 Author: Ashod Nakashian AuthorDate: Sun May 5 23:33:34 2019 -0400 Commit: Jan Holesovsky CommitDate: Mon May 6 15:16:30 2019 +0200 LOK: support sidebars in writer and calc Change-Id: I3a3bd1fb6922e435599f604328f558be60594729 Reviewed-on: https://gerrit.libreoffice.org/71843 Reviewed-by: Jan Holesovsky Tested-by: Jan Holesovsky diff --git a/sfx2/source/sidebar/SidebarChildWindow.cxx b/sfx2/source/sidebar/SidebarChildWindow.cxx index 6296c9fe05e0..890b7b8cb0a9 100644 --- a/sfx2/source/sidebar/SidebarChildWindow.cxx +++ b/sfx2/source/sidebar/SidebarChildWindow.cxx @@ -68,7 +68,7 @@ SidebarChildWindow::SidebarChildWindow(vcl::Window* pParentWindow, sal_uInt16 nI // Undock sidebar in LOK to allow for resizing freely // (i.e. when the client window is resized) and collapse // it so the client can open it on demand. -pDockWin->SetFloatingSize(Size(TabBar::GetDefaultWidth() * GetWindow()->GetDPIScaleFactor(), +pDockWin->SetFloatingSize(Size(pDockWin->GetSizePixel().Width() * GetWindow()->GetDPIScaleFactor(), pDockWin->GetSizePixel().Height())); pDockWin->SetFloatingMode(true); } @@ -78,7 +78,7 @@ SidebarChildWindow::SidebarChildWindow(vcl::Window* pParentWindow, sal_uInt16 nI pDockWin->Show(); } -sal_Int32 SidebarChildWindow::GetDefaultWidth (vcl::Window const * pWindow) +sal_Int32 SidebarChildWindow::GetDefaultWidth(vcl::Window const* pWindow) { if (pWindow != nullptr) { diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx index 420847351e53..876cae106319 100644 --- a/sfx2/source/sidebar/SidebarController.cxx +++ b/sfx2/source/sidebar/SidebarController.cxx @@ -464,7 +464,7 @@ void SidebarController::ProcessNewWidth (const sal_Int32 nNewWidth) return; if (mbIsDeckRequestedOpen.get()) - { +{ // Deck became large enough to be shown. Show it. mnSavedSidebarWidth = nNewWidth; RequestOpenDeck(); @@ -719,6 +719,24 @@ void SidebarController::SwitchToDeck ( const DeckDescriptor& rDeckDescriptor, const Context& rContext) { +if (comphelper::LibreOfficeKit::isActive()) +{ +if (const SfxViewShell* pViewShell = mpViewFrame->GetViewShell()) +{ +if (msCurrentDeckId != rDeckDescriptor.msId) +{ +const std::string hide = UnoNameFromDeckId(msCurrentDeckId); +if (!hide.empty()) + pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED, + (hide + "=false").c_str()); +} + +const std::string show = UnoNameFromDeckId(rDeckDescriptor.msId); +if (!show.empty()) + pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED, + (show + "=true").c_str()); +} +} maFocusManager.Clear(); @@ -732,22 +750,6 @@ void SidebarController::SwitchToDeck ( if (mpCurrentDeck) mpCurrentDeck->Hide(); -if (comphelper::LibreOfficeKit::isActive()) -{ -if (const SfxViewShell* pViewShell = mpViewFrame->GetViewShell()) -{ -const std::string hide = UnoNameFromDeckId(msCurrentDeckId); -if (!hide.empty()) - pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED, - (hide + "=false").c_str()); - -const std::string show = UnoNameFromDeckId(rDeckDescriptor.msId); -if (!show.empty()) - pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED, - (show + "=true").c_str()); -} -} - msCurrentDeckId = rDeckDescriptor.msId; } mpTabBar->HighlightDeck(msCurrentDeckId); diff --git a/sfx2/source/sidebar/SidebarDockingWindow.cxx b/sfx2/source/sidebar/SidebarDockingWindow.cxx index 4264dbb234aa..8bd5fa307892 100644 --- a/sfx2/source/sidebar/SidebarDockingWindow.cxx +++ b/sfx2/source/sidebar/SidebarDockingWindow.cxx @@ -109,7 +109,7 @@ void SidebarDockingWindow::NotifyResize() // Note: this means we *cannot* create a sidebar post attaching a new view because the // ViewShell will not change, and therefore we will never SetLOKNotifier. To avoid that // we hide sidebars instead of closing (see OnMenuItemSelected in SidebarController). -if
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/sidebar/SidebarChildWindow.cxx | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) New commits: commit fba6d4267b3f827269d6550dcb003cc56b31e493 Author: Ashod Nakashian AuthorDate: Thu May 2 23:16:30 2019 -0400 Commit: Jan Holesovsky CommitDate: Fri May 3 13:03:46 2019 +0200 sfx2: Enable sidebar on calc and writer, but not in impress Change-Id: I8d846bc1f794cf16fd45486fd83ef87f43fd52c7 Reviewed-on: https://gerrit.libreoffice.org/71715 Reviewed-by: Jan Holesovsky Tested-by: Jan Holesovsky diff --git a/sfx2/source/sidebar/SidebarChildWindow.cxx b/sfx2/source/sidebar/SidebarChildWindow.cxx index 431d98e396f4..6296c9fe05e0 100644 --- a/sfx2/source/sidebar/SidebarChildWindow.cxx +++ b/sfx2/source/sidebar/SidebarChildWindow.cxx @@ -33,7 +33,7 @@ SFX_IMPL_DOCKINGWINDOW_WITHID(SidebarChildWindow, SID_SIDEBAR); SidebarChildWindow::SidebarChildWindow(vcl::Window* pParentWindow, sal_uInt16 nId, SfxBindings* pBindings, SfxChildWinInfo* pInfo) : SfxChildWindow(pParentWindow, nId) -, mbSidebarVisibleInLOK(pInfo && pInfo->aModule == "simpress") +, mbSidebarVisibleInLOK(pInfo && (pInfo->aModule == "scalc" || pInfo->aModule == "swriter")) { SfxDockingWindow* pDockWin = VclPtr::Create( pBindings, *this, pParentWindow, WB_STDDOCKWIN | WB_OWNERDRAWDECORATION | WB_CLIPCHILDREN @@ -53,8 +53,12 @@ SidebarChildWindow::SidebarChildWindow(vcl::Window* pParentWindow, sal_uInt16 nI // HACK: unfortunately I haven't found a clean solution to do // this, so do it this way: // -pDockWin->SetSizePixel(Size(TabBar::GetDefaultWidth() * GetWindow()->GetDPIScaleFactor(), -pDockWin->GetSizePixel().Height())); +if (!comphelper::LibreOfficeKit::isActive()) +{ +pDockWin->SetSizePixel( +Size(TabBar::GetDefaultWidth() * GetWindow()->GetDPIScaleFactor(), + pDockWin->GetSizePixel().Height())); +} } pDockWin->Initialize(pInfo); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/objstor.cxx | 14 +- 1 file changed, 5 insertions(+), 9 deletions(-) New commits: commit c6be7681bffb008e83f2b2a9b0e2b08847a18289 Author: Tamás Zolnai AuthorDate: Sun Apr 28 15:21:39 2019 +0200 Commit: Andras Timar CommitDate: Tue Apr 30 09:02:12 2019 +0200 WebDav: Don't unlock the file during saving of a document Otherwise it can happen that the file is locked by someone else during the saving method is running. I just extended the scope of the existing DisableUnlockWebDAV() calls a bit. In case of webdav it does not cause an issue to avoid unlocking the file before locking it again with an other SfxMedium. Change-Id: I6ac4e3326c63c9e184a7710ce8994cac1ed79449 Reviewed-on: https://gerrit.libreoffice.org/71484 Tested-by: Jenkins Reviewed-by: Tamás Zolnai (cherry picked from commit fdab153636ad7e3ce4b09836a63d2fa11b42e728) Reviewed-on: https://gerrit.libreoffice.org/71512 Reviewed-by: Andras Timar Tested-by: Andras Timar diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx index c776ff944957..1b04019c95c3 100644 --- a/sfx2/source/doc/objstor.cxx +++ b/sfx2/source/doc/objstor.cxx @@ -1200,6 +1200,10 @@ bool SfxObjectShell::SaveTo_Impl && !rMedium.GetName().equalsIgnoreAsciiCase("private:stream") && ::utl::UCBContentHelper::EqualURLs( pMedium->GetName(), rMedium.GetName() ) ) { +// Do not unlock the file during saving. +// need to modify this for WebDAV if this method is called outside of +// the process of saving a file +pMedium->DisableUnlockWebDAV(); bStoreToSameLocation = true; if ( pMedium->DocNeedsFileDateCheck() ) @@ -1298,6 +1302,7 @@ bool SfxObjectShell::SaveTo_Impl } } } +pMedium->DisableUnlockWebDAV(false); } else { @@ -1718,10 +1723,6 @@ bool SfxObjectShell::SaveTo_Impl return bOk; } - -// This method contains a call to disable the UNLOCK of a WebDAV resource, that work while saving a file. -// If the method is called from another process (e.g. not when saving a file), -// that disabling needs tweaking bool SfxObjectShell::DisconnectStorage_Impl( SfxMedium& rSrcMedium, SfxMedium& rTargetMedium ) { // this method disconnects the storage from source medium, and attaches it to the backup created by the target medium @@ -1742,12 +1743,7 @@ bool SfxObjectShell::DisconnectStorage_Impl( SfxMedium& rSrcMedium, SfxMedium& r rTargetMedium.ResetError(); xOptStorage->writeAndAttachToStream( uno::Reference< io::XStream >() ); rSrcMedium.CanDisposeStorage_Impl( false ); -// need to modify this for WebDAV if this method is called outside -// the process of saving a file -rSrcMedium.DisableUnlockWebDAV(); rSrcMedium.Close(); -// see comment on the previous third row -rSrcMedium.DisableUnlockWebDAV( false ); // now try to create the backup rTargetMedium.GetBackup_Impl(); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/SfxRedactionHelper.cxx |2 ++ 1 file changed, 2 insertions(+) New commits: commit 1c81d74c6ce2f7e92c2b4926f784efecd863141b Author: Muhammet Kara AuthorDate: Tue Apr 16 21:54:34 2019 +0300 Commit: Andras Timar CommitDate: Tue Apr 16 22:03:16 2019 +0200 Protect page position during redaction Users might accidentally move the main shape of the page being redacted. Let's prevent that. Change-Id: Ic0f3c2c819d1f974d203fa5fd70d57e5545ba8ef Reviewed-on: https://gerrit.libreoffice.org/70843 Reviewed-by: Andras Timar Tested-by: Andras Timar diff --git a/sfx2/source/doc/SfxRedactionHelper.cxx b/sfx2/source/doc/SfxRedactionHelper.cxx index 023a51f6e582..9db938f3c79f 100644 --- a/sfx2/source/doc/SfxRedactionHelper.cxx +++ b/sfx2/source/doc/SfxRedactionHelper.cxx @@ -138,6 +138,8 @@ void SfxRedactionHelper::addPagesToDraw(uno::Reference& xComponent, xFactory->createInstance("com.sun.star.drawing.GraphicObjectShape"), uno::UNO_QUERY); uno::Reference xShapeProperySet(xShape, uno::UNO_QUERY); xShapeProperySet->setPropertyValue("Graphic", uno::Any(xGraph)); +xShapeProperySet->setPropertyValue("MoveProtect", uno::Any(true)); +xShapeProperySet->setPropertyValue("SizeProtect", uno::Any(true)); // Set size and position xShape->setSize( ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/docfile.cxx |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) New commits: commit 237169136883a5b312fadcec4c73aa183076828c Author: Mike Kaganski AuthorDate: Tue Dec 18 02:51:31 2018 +0100 Commit: Aron Budea CommitDate: Thu Apr 11 08:13:07 2019 +0200 tdf#116320: properly decode file name for File Locked dialog Change-Id: I51bd7c6695ef52b08e0b6d809160d74daebb8505 Reviewed-on: https://gerrit.libreoffice.org/65298 Tested-by: Jenkins Reviewed-by: Mike Kaganski (cherry picked from commit 8dc3fe631583228fe5bb49b44d2308470ec30df0) Reviewed-on: https://gerrit.libreoffice.org/70583 Tested-by: Aron Budea diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx index 8b403e446952..f198cb6b085a 100644 --- a/sfx2/source/doc/docfile.cxx +++ b/sfx2/source/doc/docfile.cxx @@ -885,7 +885,8 @@ SfxMedium::ShowLockResult SfxMedium::ShowLockedDocumentDialog(const OUString& aD if ( xHandler.is() && ( bIsLoading || !bHandleSysLocked || bOwnLock ) ) { -OUString aDocumentURL = GetURLObject().GetLastName(); +OUString aDocumentURL += GetURLObject().GetLastName(INetURLObject::DecodeMechanism::WithCharset); OUString aInfo; ::rtl::Reference< ::ucbhelper::InteractionRequest > xInteractionRequestImpl; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/objserv.cxx |6 -- 1 file changed, 6 deletions(-) New commits: commit 10936a49e0e85f6168aee88595506446d08e0d27 Author: Muhammet Kara AuthorDate: Fri Mar 29 12:38:13 2019 +0300 Commit: Andras Timar CommitDate: Tue Apr 9 11:13:29 2019 +0200 Enable redaction for Impress After the commit c2330b14e2bfa170131a83c375ec0b1a91c95415, different page sizes and orientations are handled properly, and Impress pages are converted to Draw perfectly. Change-Id: Ib9ab6b298e12fc0d8e9440bf63f31ad6dd05ab35 Reviewed-on: https://gerrit.libreoffice.org/69910 Tested-by: Jenkins Reviewed-by: Muhammet Kara (cherry picked from commit db76236efd5a6ec5d6f94e700a70408c916f8c91) Reviewed-on: https://gerrit.libreoffice.org/69917 Reviewed-by: Andras Timar Tested-by: Andras Timar diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx index 3a1a7f0da512..f6fd9ed3e553 100644 --- a/sfx2/source/doc/objserv.cxx +++ b/sfx2/source/doc/objserv.cxx @@ -544,12 +544,6 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest ) bool bIsWriter = aRenderer.isWriter(); bool bIsCalc = aRenderer.isCalc(); -if (!bIsWriter && !bIsCalc) -{ -SAL_WARN( "sfx.doc", "Redaction is supported only for Writer and Calc! (for now...)"); -return; -} - sal_Int32 nPages = aRenderer.getPageCount(); std::vector< GDIMetaFile > aMetaFiles; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/SfxRedactionHelper.cxx |8 1 file changed, 8 insertions(+) New commits: commit 67b54d45e9db0535d326b9331722f0199189ee30 Author: Muhammet Kara AuthorDate: Fri Mar 29 12:18:12 2019 +0300 Commit: Andras Timar CommitDate: Tue Apr 9 11:12:58 2019 +0200 Handle different page sizes for redaction Change-Id: I7136717936668fbb1d87b5d9491430c13c5e73fd Reviewed-on: https://gerrit.libreoffice.org/69909 Tested-by: Jenkins Reviewed-by: Muhammet Kara (cherry picked from commit 9683627f01d988be7958ee9a0311e20633598971) Reviewed-on: https://gerrit.libreoffice.org/69913 Reviewed-by: Andras Timar Tested-by: Andras Timar diff --git a/sfx2/source/doc/SfxRedactionHelper.cxx b/sfx2/source/doc/SfxRedactionHelper.cxx index cb333d0ccc3d..023a51f6e582 100644 --- a/sfx2/source/doc/SfxRedactionHelper.cxx +++ b/sfx2/source/doc/SfxRedactionHelper.cxx @@ -122,9 +122,17 @@ void SfxRedactionHelper::addPagesToDraw(uno::Reference& xComponent, GDIMetaFile rGDIMetaFile = aMetaFiles[nPage]; Graphic aGraphic(rGDIMetaFile); +sal_Int32 nPageHeight(rGDIMetaFile.GetPrefSize().Height()); +sal_Int32 nPageWidth(rGDIMetaFile.GetPrefSize().Width()); + uno::Reference xGraph = aGraphic.GetXGraphic(); uno::Reference xPage = xDrawPages->insertNewByIndex(nPage); +// Set page size +uno::Reference xPageProperySet(xPage, uno::UNO_QUERY); +xPageProperySet->setPropertyValue("Height", css::uno::makeAny(nPageHeight)); +xPageProperySet->setPropertyValue("Width", css::uno::makeAny(nPageWidth)); + // Create and insert the shape uno::Reference xShape( xFactory->createInstance("com.sun.star.drawing.GraphicObjectShape"), uno::UNO_QUERY); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/objserv.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit f9735ee624798dd765c77b33f381f540ed2e261f Author: Tor Lillqvist AuthorDate: Thu Mar 28 10:25:51 2019 +0200 Commit: Tor Lillqvist CommitDate: Thu Mar 28 10:33:06 2019 +0200 Use SAL_FALLTHROUGH Change-Id: I81729dba0bce380303bdbe7c8fcdeca943df477d diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx index 12ab4a400ac8..3a1a7f0da512 100644 --- a/sfx2/source/doc/objserv.cxx +++ b/sfx2/source/doc/objserv.cxx @@ -661,7 +661,7 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest ) } } } -[[fallthrough]]; +SAL_FALLTHROUGH; case SID_EXPORTDOCASPDF: bIsPDFExport = true; SAL_FALLTHROUGH; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/objserv.cxx | 174 +++- 1 file changed, 173 insertions(+), 1 deletion(-) New commits: commit b93a50c4acae93bff3596663361bb26753241c34 Author: Muhammet Kara AuthorDate: Thu Feb 7 22:07:09 2019 +0300 Commit: Andras Timar CommitDate: Wed Mar 27 21:43:12 2019 +0100 Handle redaction finalization: Black Convert shapes on the document to black & opaque before sending it to the pdfexport filter. Convert them back to gray & transparent after the export operation. Change-Id: Iffe66e371710f16ef1c04f0da196fc5a561af344 Reviewed-on: https://gerrit.libreoffice.org/67517 Tested-by: Jenkins Reviewed-by: Muhammet Kara Reviewed-on: https://gerrit.libreoffice.org/69834 Reviewed-by: Andras Timar Tested-by: Andras Timar diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx index 776e4c7b997a..1cc2a0f4f8fc 100644 --- a/sfx2/source/doc/objserv.cxx +++ b/sfx2/source/doc/objserv.cxx @@ -121,6 +121,7 @@ #include #include +#include using namespace ::com::sun::star; using namespace ::com::sun::star::lang; @@ -399,6 +400,23 @@ uno::Sequence< document::CmisVersion > SfxObjectShell::GetCmisVersions( ) return uno::Sequence< document::CmisVersion > ( ); } +namespace{ + +/// Checks to see if the request has a parameter of IsRedactMode:bool=true +bool isRedactMode(SfxRequest& rReq) +{ +const SfxItemSet *pArgs = rReq.GetArgs(); +if (pArgs) +{ +const SfxBoolItem* pIsRedactMode = rReq.GetArg(SID_IS_REDACT_MODE); +if (pIsRedactMode && pIsRedactMode->GetValue()) +return true; +} + +return false; +} + +} void SfxObjectShell::ExecFile_Impl(SfxRequest ) { @@ -661,8 +679,93 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest ) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -case SID_EXPORTDOCASPDF: case SID_DIRECTEXPORTDOCASPDF: +{ +uno::Reference< lang::XComponent > xComponent( GetCurrentComponent(), uno::UNO_QUERY ); +if (!xComponent.is()) +return; + +uno::Reference< lang::XServiceInfo > xServiceInfo( xComponent, uno::UNO_QUERY); + +// Redaction finalization takes place in Draw +if ( xServiceInfo.is() && xServiceInfo->supportsService("com.sun.star.drawing.DrawingDocument") + && isRedactMode(rReq) ) +{ +// Access the draw pages +uno::Reference xDrawPagesSupplier(xComponent, uno::UNO_QUERY); +uno::Reference xDrawPages = xDrawPagesSupplier->getDrawPages(); + +sal_Int32 nPageCount = xDrawPages->getCount(); +for (sal_Int32 nPageNum = 0; nPageNum < nPageCount; ++nPageNum) +{ +// Get the page +uno::Reference< drawing::XDrawPage > xPage( xDrawPages->getByIndex( nPageNum ), uno::UNO_QUERY ); + +if (!xPage.is()) +continue; + +// Go through all shapes +sal_Int32 nShapeCount = xPage->getCount(); +for (sal_Int32 nShapeNum = 0; nShapeNum < nShapeCount; ++nShapeNum) +{ +uno::Reference< drawing::XShape > xCurrShape(xPage->getByIndex(nShapeNum), uno::UNO_QUERY); +if (!xCurrShape.is()) +continue; + +uno::Reference< beans::XPropertySet > xPropSet(xCurrShape, uno::UNO_QUERY); +if (!xPropSet.is()) +continue; + +uno::Reference< beans::XPropertySetInfo> xInfo = xPropSet->getPropertySetInfo(); +if (!xInfo.is()) +continue; + +// Rectangle redaction +if (xInfo->hasPropertyByName("FillTransparence") && xInfo->hasPropertyByName("FillColor")) +{ +uno::Any aAnyTransp = xPropSet->getPropertyValue("FillTransparence"); +uno::Any aAnyColor = xPropSet->getPropertyValue("FillColor"); + +sal_Int16 nTransp = 0; +const OUString sRectangleName("RectangleRedactionShape"); + +aAnyTransp >>= nTransp; +Color aColor(aAnyColor.get()); + + +if (nTransp == 50 && aColor == COL_GRAY7) +{ +xPropSet->setPropertyValue("FillTransparence", css::uno::makeAny(static_cast(0))); +xPropSet->setPropertyValue("FillColor", css::uno::makeAny(COL_BLACK)); +xPropSet->setPropertyValue("Name", css::uno::makeAny(sRectangleName)); +
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/objserv.cxx | 76 +++- 1 file changed, 47 insertions(+), 29 deletions(-) New commits: commit 91b9632395a191264b13b2d51fc6510ac9a1134c Author: Muhammet Kara AuthorDate: Tue Mar 26 20:06:37 2019 +0300 Commit: Andras Timar CommitDate: Wed Mar 27 21:39:46 2019 +0100 Redaction: Handle multiple Writer pages * Creates one GDIMetaFile from each Writer page * Inserts them as Shapes into the newly created Draw doc * Has some 'magic' numbers needs to be figured out * Tried with a 100-page Writer doc, seems okay * Seems slow, might need to be optimized * Seems like getDocumentSizeInPixels() and getDocumentSizeIn100mm() are consuming most of the cycles. Will look into this at the end. Change-Id: Ic6046af0c12e26185edf59862e55b17117495922 Reviewed-on: https://gerrit.libreoffice.org/65847 Tested-by: Jenkins Reviewed-by: Muhammet Kara Reviewed-on: https://gerrit.libreoffice.org/69769 Reviewed-by: Andras Timar Tested-by: Andras Timar diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx index 4102bebe3435..43538cf7665c 100644 --- a/sfx2/source/doc/objserv.cxx +++ b/sfx2/source/doc/objserv.cxx @@ -542,28 +542,36 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest ) if(!xCursor.is()) return; +xCursor->jumpToLastPage(); +sal_Int16 nPages = xCursor->getPage(); + uno::Reference< lang::XComponent > xSourceDoc( xModel ); DocumentToGraphicRenderer aRenderer(xSourceDoc, /*bSelectionOnly=*/false); -// Only take the first page for now -sal_Int16 nPage = 1; - -::Size aDocumentSizePixel = aRenderer.getDocumentSizeInPixels(nPage); -::Point aLogicPos; -::Size aLogic = aRenderer.getDocumentSizeIn100mm(nPage, ); -// FIXME: This is a temporary hack. Need to figure out a proper way to derive this scale factor. -::Size aTargetSize(aDocumentSizePixel.Width() * 1.23, aDocumentSizePixel.Height() * 1.23); +std::vector< GDIMetaFile > aMetaFiles; -Graphic aGraphic = aRenderer.renderToGraphic(nPage, aDocumentSizePixel, aTargetSize, COL_TRANSPARENT); -auto& rGDIMetaFile = const_cast(aGraphic.GetGDIMetaFile()); - -// Set preferred map unit and size on the metafile, so the Shape size -// will be correct in MM. -MapMode aMapMode; -aMapMode.SetMapUnit(MapUnit::Map100thMM); -aMapMode.SetOrigin(::Point(-aLogicPos.getX(), -aLogicPos.getY())); -rGDIMetaFile.SetPrefMapMode(aMapMode); -rGDIMetaFile.SetPrefSize(aLogic); +for (sal_Int32 nPage = 1; nPage <= nPages; ++nPage) +{ +::Size aDocumentSizePixel = aRenderer.getDocumentSizeInPixels(nPage); +::Point aLogicPos; +::Size aLogic = aRenderer.getDocumentSizeIn100mm(nPage, ); +// FIXME: This is a temporary hack. Need to figure out a proper way to derive this scale factor. +::Size aTargetSize(aDocumentSizePixel.Width() * 1.23, aDocumentSizePixel.Height() * 1.23); + +Graphic aGraphic = aRenderer.renderToGraphic(nPage, aDocumentSizePixel, aTargetSize, COL_TRANSPARENT); +auto& rGDIMetaFile = const_cast(aGraphic.GetGDIMetaFile()); + +// Set preferred map unit and size on the metafile, so the Shape size +// will be correct in MM. +MapMode aMapMode; +aMapMode.SetMapUnit(MapUnit::Map100thMM); +// FIXME: This is a temporary hack. Need to figure out a proper way to derive these magic numbers. +aMapMode.SetOrigin(::Point(-(aLogicPos.getX() - 512) * 1.53, -((aLogicPos.getY() - 501)* 1.53 + (nPage-1)*740 ))); +rGDIMetaFile.SetPrefMapMode(aMapMode); +rGDIMetaFile.SetPrefSize(aLogic); + +aMetaFiles.push_back(rGDIMetaFile); +} // Create an empty Draw component. uno::Reference xDesktop = css::frame::Desktop::create(comphelper::getProcessComponentContext()); @@ -573,21 +581,31 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest ) // Access the draw pages uno::Reference xDrawPagesSupplier(xComponent, uno::UNO_QUERY); uno::Reference xDrawPages = xDrawPagesSupplier->getDrawPages(); -uno::Reference< drawing::XDrawPage > xPage( xDrawPages->getByIndex( 0 ), uno::UNO_QUERY_THROW ); +uno::Reference xFactory(xComponent, uno::UNO_QUERY); -uno::Reference xGraph = aGraphic.GetXGraphic(); +for (sal_Int32 nPage = 0; nPage < nPages; ++nPage) +{ +GDIMetaFile rGDIMetaFile = aMetaFiles[nPage]; +Graphic aGraphic(rGDIMetaFile); -
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/view/lokhelper.cxx |9 + 1 file changed, 9 insertions(+) New commits: commit ef025d623a90484674f1fe0fdf2dabce36d2aa8d Author: Michael Meeks AuthorDate: Thu Mar 14 14:58:15 2019 +0100 Commit: Jan Holesovsky CommitDate: Fri Mar 15 09:53:52 2019 +0100 LOK: switch view before event emission if necessary. Unfortunately we still have large amounts of global state, and key event handling in some corners requires this in addition to the window. Change-Id: Id817030536f9cb45dbc39551dfb5332fc6998c62 Reviewed-on: https://gerrit.libreoffice.org/69269 Reviewed-by: Jan Holesovsky Tested-by: Jan Holesovsky diff --git a/sfx2/source/view/lokhelper.cxx b/sfx2/source/view/lokhelper.cxx index 4dbc5220ccea..85834534316c 100644 --- a/sfx2/source/view/lokhelper.cxx +++ b/sfx2/source/view/lokhelper.cxx @@ -241,6 +241,7 @@ namespace { struct LOKAsyncEventData { +int mnView; // Window is not enough. VclPtr mpWindow; VclEventId mnEvent; MouseEvent maMouseEvent; @@ -253,6 +254,13 @@ namespace if (pLOKEv->mpWindow->IsDisposed()) return; +int nView = SfxLokHelper::getView(nullptr); +if (nView != pLOKEv->mnView) +{ +SAL_INFO("sfx.view", "LOK - view mismatch " << nView << " vs. " << pLOKEv->mnView); +SfxLokHelper::setView(pLOKEv->mnView); +} + switch (pLOKEv->mnEvent) { case VclEventId::WindowKeyInput: @@ -299,6 +307,7 @@ namespace return; } +pEvent->mnView = SfxLokHelper::getView(nullptr); Application::PostUserEvent(Link(pEvent, LOKPostAsyncEvent)); } } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/sidebar/SidebarController.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 441300d5782caf9874cb1f37bdece160e041adbb Author: Ashod Nakashian AuthorDate: Thu Nov 29 07:05:52 2018 -0500 Commit: Andras Timar CommitDate: Mon Mar 4 15:19:00 2019 +0100 sfx: fix -Wreturn-std-move warning Change-Id: Ibd927983505a6924d32c45f6425a08f28bf75f9e Reviewed-on: https://gerrit.libreoffice.org/68259 Reviewed-by: Andras Timar Tested-by: Andras Timar diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx index 78efa83ed087..70725c46bc86 100644 --- a/sfx2/source/sidebar/SidebarController.cxx +++ b/sfx2/source/sidebar/SidebarController.cxx @@ -1010,7 +1010,7 @@ VclPtr SidebarController::CreatePopupMenu ( pMenu->RemoveDisabledEntries(false); -return pMenu; +return std::move(pMenu); } IMPL_LINK(SidebarController, OnMenuItemSelected, Menu*, pMenu, bool) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/view/viewsh.cxx |7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) New commits: commit c85840642f11f11a5325c09c044bc16e8acd2833 Author: Ashod Nakashian AuthorDate: Sun Oct 21 12:56:52 2018 -0400 Commit: Andras Timar CommitDate: Fri Mar 1 17:20:19 2019 +0100 sfx2: warn when invoking LOK callback before setup Change-Id: I2c845c357f73dbce71b1e420979aecf2cff38827 Reviewed-on: https://gerrit.libreoffice.org/68255 Reviewed-by: Andras Timar Tested-by: Andras Timar diff --git a/sfx2/source/view/viewsh.cxx b/sfx2/source/view/viewsh.cxx index c5cd05f5e3cd..c4d908fbd285 100644 --- a/sfx2/source/view/viewsh.cxx +++ b/sfx2/source/view/viewsh.cxx @@ -1468,7 +1468,7 @@ void SfxViewShell::registerLibreOfficeKitViewCallback(LibreOfficeKitCallback pCa void SfxViewShell::libreOfficeKitViewCallback(int nType, const char* pPayload) const { -if (comphelper::LibreOfficeKit::isTiledPainting()) +if (!comphelper::LibreOfficeKit::isActive() || comphelper::LibreOfficeKit::isTiledPainting()) return; if (pImpl->m_bTiledSearching) @@ -1487,6 +1487,11 @@ void SfxViewShell::libreOfficeKitViewCallback(int nType, const char* pPayload) c if (pImpl->m_pLibreOfficeKitViewCallback) pImpl->m_pLibreOfficeKitViewCallback(nType, pPayload, pImpl->m_pLibreOfficeKitViewData); +else +SAL_WARN( +"sfx.view", +"SfxViewShell::libreOfficeKitViewCallback no callback set! Dropped payload of type " +<< nType << ": [" << pPayload << ']'); } void SfxViewShell::afterCallbackRegistered() ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/view/viewfrm.cxx | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) New commits: commit 84e1b8da1ea85e5e222e6d071a3fa8828e728721 Author: Mike Kaganski AuthorDate: Sat Mar 10 20:14:37 2018 +0300 Commit: Aron Budea CommitDate: Fri Feb 22 21:37:15 2019 +0100 tdf#116066: call DoSaveCompleted after SetReadOnlyUI Reviewed-on: https://gerrit.libreoffice.org/51051 Tested-by: Jenkins Reviewed-by: Mike Kaganski (cherry picked from commit 7dd704ab1f41086f81136e3987fa7f9aed5ccf5f) Change-Id: Ided8f12764585b2ba62e4c296af43ac07b9e31ed diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index 649d0671bb18..770b69d83815 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -293,7 +293,11 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq ) { SfxViewFrame* m_pFrame; SfxObjectShell* m_pSh; +SfxMedium* m_pMed = nullptr; bool m_bSetRO; +ReadOnlyUIGuard(SfxViewFrame* pFrame, SfxObjectShell* p_Sh) +: m_pFrame(pFrame), m_pSh(p_Sh), m_bSetRO(p_Sh->IsReadOnlyUI()) +{} ~ReadOnlyUIGuard() { if (m_bSetRO != m_pSh->IsReadOnlyUI()) @@ -301,9 +305,15 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq ) m_pSh->SetReadOnlyUI(m_bSetRO); if (!m_bSetRO) m_pFrame->RemoveInfoBar("readonly"); +if (m_pMed) +{ +// tdf#116066: DoSaveCompleted should be called after SetReadOnlyUI +m_pSh->DoSaveCompleted(m_pMed); +m_pSh->Broadcast(SfxHint(SfxHintId::ModeChanged)); +} } } -} aReadOnlyUIGuard{ this, pSh, pSh->IsReadOnlyUI() }; +} aReadOnlyUIGuard(this, pSh); SfxMedium* pMed = pSh->GetMedium(); @@ -540,8 +550,7 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq ) } else { -pSh->DoSaveCompleted( pMed ); -pSh->Broadcast( SfxHint(SfxHintId::ModeChanged) ); +aReadOnlyUIGuard.m_pMed = pMed; rReq.SetReturnValue( SfxBoolItem( rReq.GetSlot(), true ) ); rReq.Done( true ); return; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/doc/objserv.cxx |1 - 1 file changed, 1 deletion(-) New commits: commit 45c0acf163040dbe9bd8cc7a0d8a9df1a9fed24c Author: Tomaž Vajngerl AuthorDate: Wed Nov 14 14:59:35 2018 +0100 Commit: Tomaž Vajngerl CommitDate: Fri Nov 30 16:23:04 2018 +0100 remove printf Change-Id: I00394e7c9880bd96a4f68b6695f1b85fa95689b4 Reviewed-on: https://gerrit.libreoffice.org/63442 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl (cherry picked from commit 1874d71576d46e28b79fe2df87f379a28767dccc) diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx index 585ea48f6397..2f98fc4f7628 100644 --- a/sfx2/source/doc/objserv.cxx +++ b/sfx2/source/doc/objserv.cxx @@ -1571,7 +1571,6 @@ bool SfxObjectShell::SignDocumentContentUsingCertificate(const ReferenceGetStorage(), pMedium); -printf("ConnectTmpStorage_Impl %d\n", bResult); if (!bResult) return false; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/dialog/dinfdlg.cxx | 17 - 1 file changed, 12 insertions(+), 5 deletions(-) New commits: commit 7a91f377a0183efc61e69a32931c031718a5a3eb Author: Tor Lillqvist AuthorDate: Fri Nov 2 23:06:26 2018 +0200 Commit: Tor Lillqvist CommitDate: Mon Nov 5 12:56:16 2018 +0100 Handle the case if no digital signature code is implemented (iOS, currently) Change-Id: I1cf37fccdd3a58d50a015b3fc32c32fba89f2f09 Reviewed-on: https://gerrit.libreoffice.org/62866 Reviewed-by: Tor Lillqvist Tested-by: Tor Lillqvist diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx index 6255a76e6c43..ceb6d87af82d 100644 --- a/sfx2/source/dialog/dinfdlg.cxx +++ b/sfx2/source/dialog/dinfdlg.cxx @@ -883,13 +883,20 @@ void SfxDocumentPage::ImplUpdateSignatures() SfxMedium* pMedium = pDoc->GetMedium(); if ( pMedium && !pMedium->GetName().isEmpty() && pMedium->GetStorage().is() ) { -Reference< security::XDocumentDigitalSignatures > xD( - security::DocumentDigitalSignatures::createDefault(comphelper::getProcessComponentContext()) ); - +Reference< security::XDocumentDigitalSignatures > xD; +try +{ +xD = security::DocumentDigitalSignatures::createDefault(comphelper::getProcessComponentContext()); +} +catch ( const css::uno::DeploymentException& ) +{ +} OUString s; Sequence< security::DocumentSignatureInformation > aInfos; -aInfos = xD->verifyDocumentContentSignatures( pMedium->GetZipStorageToSign_Impl(), -uno::Reference< io::XInputStream >() ); + +if ( xD.is() ) +aInfos = xD->verifyDocumentContentSignatures( pMedium->GetZipStorageToSign_Impl(), + uno::Reference< io::XInputStream >() ); if ( aInfos.getLength() > 1 ) s = m_aMultiSignedStr; else if ( aInfos.getLength() == 1 ) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/appl/sfxhelp.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 76f5a8b2cf140dda65a46c2a1ed35e2dcab3d582 Author: Jan Holesovsky AuthorDate: Thu Aug 9 22:29:59 2018 +0200 Commit: Andras Timar CommitDate: Fri Aug 10 21:39:42 2018 +0200 [cp] Switch to our own help instance. Change-Id: I71b20baacd0cb9859648a720dfed102abb7ab356 Reviewed-on: https://gerrit.libreoffice.org/58862 Reviewed-by: Andras Timar Tested-by: Andras Timar diff --git a/sfx2/source/appl/sfxhelp.cxx b/sfx2/source/appl/sfxhelp.cxx index 4d770b0f3ee7..473103cf7e47 100644 --- a/sfx2/source/appl/sfxhelp.cxx +++ b/sfx2/source/appl/sfxhelp.cxx @@ -539,7 +539,7 @@ static bool impl_showOnlineHelp( const OUString& rURL ) if ( rURL.getLength() <= aInternal.getLength() || !rURL.startsWith(aInternal) ) return false; -OUString aHelpLink( "https://help.libreoffice.org/help.html?; ); +OUString aHelpLink("https://help.collaboraoffice.com/help.html?;); OUString aTarget = "Target=" + rURL.copy(aInternal.getLength()); aTarget = aTarget.replaceAll("%2F", "/").replaceAll("?", "&"); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/appl/sfxhelp.cxx |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) New commits: commit a7485a5db36dc8a8e61285384eed06c46e6a5b53 Author: Jan Holesovsky AuthorDate: Fri Aug 10 18:54:13 2018 +0200 Commit: Andras Timar CommitDate: Fri Aug 10 21:38:13 2018 +0200 help: Let's make the help urls more standard, and use ?Target=...&... form. Change-Id: If9b7f6e50e8e668b7349dae1935ce16965ef19b0 Reviewed-on: https://gerrit.libreoffice.org/58863 Reviewed-by: Andras Timar Tested-by: Andras Timar diff --git a/sfx2/source/appl/sfxhelp.cxx b/sfx2/source/appl/sfxhelp.cxx index 694aaf787c97..4d770b0f3ee7 100644 --- a/sfx2/source/appl/sfxhelp.cxx +++ b/sfx2/source/appl/sfxhelp.cxx @@ -541,9 +541,9 @@ static bool impl_showOnlineHelp( const OUString& rURL ) OUString aHelpLink( "https://help.libreoffice.org/help.html?; ); -aHelpLink += rURL.copy( aInternal.getLength() ); -aHelpLink = aHelpLink.replaceAll("%2F","/"); - +OUString aTarget = "Target=" + rURL.copy(aInternal.getLength()); +aTarget = aTarget.replaceAll("%2F", "/").replaceAll("?", "&"); +aHelpLink += aTarget; if (comphelper::LibreOfficeKit::isActive()) { ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/dialog/basedlgs.cxx |7 --- 1 file changed, 7 deletions(-) New commits: commit 57ff164b1293db0a8f122f83e9bc60020ff697fe Author: Pranav Kant AuthorDate: Thu Jan 25 19:27:41 2018 +0530 Commit: Jan Holesovsky CommitDate: Mon Jul 16 17:44:35 2018 +0200 lokdialog: No need to notify 'close' callback here This is now handled in Dialog::dispose Change-Id: If6703dbf1fa02c3d83debcc17eba3c6b1ee49a1c Reviewed-on: https://gerrit.libreoffice.org/48622 Reviewed-by: Jan Holesovsky Tested-by: Jan Holesovsky (cherry picked from commit cc9ca93c52e40557ed918868e235d393f9ecde6e) Reviewed-on: https://gerrit.libreoffice.org/57507 diff --git a/sfx2/source/dialog/basedlgs.cxx b/sfx2/source/dialog/basedlgs.cxx index 6d5319ed7b52..44ae30e72180 100644 --- a/sfx2/source/dialog/basedlgs.cxx +++ b/sfx2/source/dialog/basedlgs.cxx @@ -200,13 +200,6 @@ void SfxModalDialog::StateChanged( StateChangedType nType ) aItems.emplace_back("title", GetText().toUtf8()); SfxViewShell::Current()->notifyWindow(GetLOKWindowId(), "created", aItems); } -else if (nType == StateChangedType::Visible && - !IsVisible() && - GetLOKNotifier()) -{ -SfxViewShell::Current()->notifyWindow(GetLOKWindowId(), "close"); -ReleaseLOKNotifier(); -} } ModalDialog::StateChanged(nType); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/appl/workwin.cxx |7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) New commits: commit d5583743b86aaf34f3034e2bcf1c3c873320572e Author: Pranav Kant AuthorDate: Tue Dec 5 02:20:13 2017 +0530 Commit: Jan Holesovsky CommitDate: Fri Jul 13 18:49:35 2018 +0200 lokdialog: Don't hide dialogs in case of LOK We change views (using setView) a lot in case of LOK. Changing the view, without this patch, leads to InitShow on the dialog which means invalidation of the whole dialog even though there is nothing to invalidate. This decreases performance as it increases the dialog paint traffic through the LOK API. We don't need to hide the dialog once it's opened in case of LOK. This patch improves the multiview dialog performance considerably (can easily be noticed in GTV). Change-Id: If2b4ceb945ccd86da3d900a0b9fbade43f30 Reviewed-on: https://gerrit.libreoffice.org/57400 Reviewed-by: Jan Holesovsky Tested-by: Jan Holesovsky diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx index 3a09ab31aa5a..c0ef612a7aa0 100644 --- a/sfx2/source/appl/workwin.cxx +++ b/sfx2/source/appl/workwin.cxx @@ -18,6 +18,7 @@ */ #include +#include #include #include @@ -1505,6 +1506,9 @@ bool SfxWorkWindow::IsVisible_Impl() void SfxWorkWindow::HidePopups_Impl(bool bHide, bool bParent, sal_uInt16 nId ) { +if (comphelper::LibreOfficeKit::isActive() && bHide) +return; + for (SfxChildWin_Impl* i : aChildWins) { SfxChildWindow *pCW = i->pWin; @@ -1517,7 +1521,8 @@ void SfxWorkWindow::HidePopups_Impl(bool bHide, bool bParent, sal_uInt16 nId ) pChild->nVisible &= ~SfxChildVisibility::ACTIVE; pCW->Hide(); } -else +else if ( !comphelper::LibreOfficeKit::isActive() || + SfxChildVisibility::ACTIVE != (pChild->nVisible & SfxChildVisibility::ACTIVE) ) { pChild->nVisible |= SfxChildVisibility::ACTIVE; if ( SfxChildVisibility::VISIBLE == (pChild->nVisible & SfxChildVisibility::VISIBLE) ) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/view/lokcharthelper.cxx | 20 +++- 1 file changed, 15 insertions(+), 5 deletions(-) New commits: commit 7af24c0c0f8e5d42d595da256edd71f080c06022 Author: Marco Cecchetti Date: Mon Apr 16 12:31:21 2018 +0200 lok: chart when edited is visible on other user's document parts - Open a spreadsheet with chart in multiple views. - With one view double-click in the chart. - With the other switch to a different sheet. => The chart is visible for the second view on the other sheet. The same is true in impress for slides. Change-Id: Ia3fe98b0a9fc94c7f3a8f59f28e3a8937eb51a2a Reviewed-on: https://gerrit.libreoffice.org/52959 Reviewed-by: Jan Holesovsky Tested-by: Jan Holesovsky diff --git a/sfx2/source/view/lokcharthelper.cxx b/sfx2/source/view/lokcharthelper.cxx index cd7e6feeffc0..05e9b206ef11 100644 --- a/sfx2/source/view/lokcharthelper.cxx +++ b/sfx2/source/view/lokcharthelper.cxx @@ -177,12 +177,17 @@ bool LokChartHelper::Hit(const Point& aPos) bool LokChartHelper::HitAny(const Point& aPos) { +SfxViewShell* pCurView = SfxViewShell::Current(); +int nPartForCurView = pCurView ? pCurView->getPart() : -1; SfxViewShell* pViewShell = SfxViewShell::GetFirst(); while (pViewShell) { -LokChartHelper aChartHelper(pViewShell); -if (aChartHelper.Hit(aPos)) -return true; +if (pViewShell->getPart() == nPartForCurView) +{ +LokChartHelper aChartHelper(pViewShell); +if (aChartHelper.Hit(aPos)) +return true; +} pViewShell = SfxViewShell::GetNext(*pViewShell); } return false; @@ -253,12 +258,17 @@ void LokChartHelper::PaintAllChartsOnTile(VirtualDevice& rDevice, aMapMode.SetScaleY(scaleY); rDevice.SetMapMode(aMapMode); +SfxViewShell* pCurView = SfxViewShell::Current(); +int nPartForCurView = pCurView ? pCurView->getPart() : -1; tools::Rectangle aTileRect(Point(nTilePosX, nTilePosY), Size(nTileWidth, nTileHeight)); SfxViewShell* pViewShell = SfxViewShell::GetFirst(); while (pViewShell) { -LokChartHelper aChartHelper(pViewShell); -aChartHelper.PaintTile(rDevice, aTileRect); +if (pViewShell->getPart() == nPartForCurView) +{ +LokChartHelper aChartHelper(pViewShell); +aChartHelper.PaintTile(rDevice, aTileRect); +} pViewShell = SfxViewShell::GetNext(*pViewShell); } rDevice.Pop(); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - sfx2/source
sfx2/source/appl/newhelp.cxx |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) New commits: commit 98323234ea27dfbe53ad226f0e5e8af3b0ae1533 Author: Jan HolesovskyDate: Thu Apr 5 21:03:11 2018 +0200 tdf#116628: Fix expanding the entries in Help's Contents tab. Change-Id: I50627ca577bf89810c716bf9e1db9ae74cec58d1 Reviewed-on: https://gerrit.libreoffice.org/52475 Reviewed-by: Marco Cecchetti Tested-by: Marco Cecchetti diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx index 4b83bca30b7a..e197f8e7ce4d 100644 --- a/sfx2/source/appl/newhelp.cxx +++ b/sfx2/source/appl/newhelp.cxx @@ -1692,7 +1692,8 @@ void SfxHelpIndexWindow_Impl::SetDoubleClickHdl( const Link & rLin IMPL_LINK(SfxHelpIndexWindow_Impl, ContentTabPageDoubleClickHdl, SvTreeListBox*, p, bool) { -return aPageDoubleClickLink.Call(p); +aPageDoubleClickLink.Call(p); +return true; } IMPL_LINK(SfxHelpIndexWindow_Impl, TabPageDoubleClickHdl, ListBox&, r, void) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits