include/sfx2/opengrf.hxx | 2 + include/vcl/toolkit/treelistbox.hxx | 4 +++ sc/source/core/data/document.cxx | 1 sc/source/ui/drawfunc/fuins1.cxx | 9 ++++++++ sc/source/ui/view/tabvwshf.cxx | 12 +++++++++-- sd/inc/sdgrffilter.hxx | 3 +- sd/source/filter/grf/sdgrffilter.cxx | 12 ++++++----- sd/source/ui/func/fuinsert.cxx | 7 +++--- sfx2/source/appl/opengrf.cxx | 28 ++++++++++++------------- starmath/source/ooxmlimport.cxx | 6 +++-- sw/source/uibase/uiview/view2.cxx | 38 +++++++++++++++++------------------ vcl/jsdialog/jsdialogbuilder.cxx | 1 vcl/source/app/salvtables.cxx | 1 vcl/source/treelist/svtabbx.cxx | 2 + vcl/source/treelist/treelistbox.cxx | 1 15 files changed, 81 insertions(+), 46 deletions(-)
New commits: commit 4281a73a37d13fe7f474dc9528f043e50d9addcd Author: Pranam Lashkari <[email protected]> AuthorDate: Wed Dec 24 18:15:27 2025 +0530 Commit: Andras Timar <[email protected]> CommitDate: Wed Jan 7 16:08:11 2026 +0100 tdf#162972 math: special treatment for apostrophe(') in MSO problem: in MSO is only apostrophe is in superscript, MSO treats it as normal text i.e: in question 2' ^' both apostrophe will be displayed on same level Change-Id: Idc1eb144115ed0cb51c18a76b6d8b9423eb5e910 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196198 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> Tested-by: Caolán McNamara <[email protected]> diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx index 2de300649fbb..6fe2e367f40f 100644 --- a/starmath/source/ooxmlimport.cxx +++ b/starmath/source/ooxmlimport.cxx @@ -708,6 +708,8 @@ OUString SmOoxmlImport::handleSsup() OUString e = readOMathArgInElement( M_TOKEN( e )); OUString sup = readOMathArgInElement( M_TOKEN( sup )); m_rStream.ensureClosingTag( M_TOKEN( sSup )); + if (sup == "'") + return "{" + e + "} {" + sup + "}"; return "{" + e + "} ^ {" + sup + "}"; } commit b9bfee3d3a6fa47797b5b3e2db0164f84787f454 Author: Pranam Lashkari <[email protected]> AuthorDate: Wed Dec 24 18:06:09 2025 +0530 Commit: Andras Timar <[email protected]> CommitDate: Wed Jan 7 16:08:06 2026 +0100 math: allow equestions to end without opening brackets problem: some user complained equation not rendering correctly if it ended with opening brackets while it worked fine in MSO i.e: [0;+∞[ Change-Id: Iccfbfd0782379985736cdc181479f167ca0beb95 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196197 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx index d5964a2279a1..2de300649fbb 100644 --- a/starmath/source/ooxmlimport.cxx +++ b/starmath/source/ooxmlimport.cxx @@ -347,9 +347,9 @@ OUString SmOoxmlImport::handleD() || closing == OUStringChar(MS_RMATHANGLE)) closing = " right rangle"; // use scalable brackets (the explicit "left" or "right") - if( opening == "(" || opening == "[" ) + if( opening == "(" || opening == "[" || opening == ")" || opening == "]" ) opening = "left " + opening; - if( closing == ")" || closing == "]" ) + if( closing == ")" || closing == "]" || closing == "(" || closing == "[") closing = " right " + closing; if( separator == "|" ) // plain "|" would be actually "V" (logical or) separator = " mline "; commit 0785e2885c8197977a0beb8d66c7d3855c62cb7f Author: Pranam Lashkari <[email protected]> AuthorDate: Tue Dec 9 22:10:23 2025 +0530 Commit: Andras Timar <[email protected]> CommitDate: Wed Jan 7 16:07:55 2026 +0100 jsdialog: allow treelist lazy loading mark entries visible and update jsdialogs when treelists are scrolled and new entries are visible Change-Id: I0c54cd2ae5473b6148f7d20c0b083066e28450e0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195318 Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> diff --git a/include/vcl/toolkit/treelistbox.hxx b/include/vcl/toolkit/treelistbox.hxx index 22a995a35178..05ec021042fa 100644 --- a/include/vcl/toolkit/treelistbox.hxx +++ b/include/vcl/toolkit/treelistbox.hxx @@ -218,6 +218,7 @@ class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvTreeListBox bool mbContextBmpExpanded; bool mbQuickSearch; // Enables type-ahead search in the check list box. bool mbActivateOnSingleClick; // Make single click "activate" a row like a double-click normally does + bool mbCustomEntryRenderer; // Used to define if the list entries are updated on demand bool mbHoverSelection; // Make mouse over a row "select" a row like a single-click normally does bool mbSelectingByHover; // true during "Select" if it was due to hover bool mbIsTextColumEnabled; // true if the property name text-column is enabled @@ -664,6 +665,9 @@ public: void SetActivateOnSingleClick(bool bEnable) { mbActivateOnSingleClick = bEnable; } bool GetActivateOnSingleClick() const { return mbActivateOnSingleClick; } + void SetCustomEntryRenderer(bool bEnable) { mbCustomEntryRenderer = bEnable; } + bool GetCustomEntryRenderer() const { return mbCustomEntryRenderer; } + // Make mouse over a row "select" a row like a single-click normally does void SetHoverSelection(bool bEnable) { mbHoverSelection = bEnable; } bool GetHoverSelection() const { return mbHoverSelection; } diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index 968a762b9b21..52e7cf8419f6 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -1887,6 +1887,7 @@ void JSTreeView::render_entry(int pos, int dpix, int dpiy) Size aRenderSize = signal_custom_get_size(*pDevice, get_id(pos)); pDevice->SetOutputSize(aRenderSize); + m_xTreeView->MakeVisible(pEntry); m_xTreeView->DrawCustomEntry(*pDevice, tools::Rectangle(Point(0, 0), aRenderSize), *pEntry); Bitmap aImage = pDevice->GetBitmap(Point(0, 0), aRenderSize); diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 5f7abc62d94b..7b07bc9b62f9 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -4790,6 +4790,7 @@ void SalInstanceTreeView::visible_foreach(const std::function<bool(weld::TreeIte void SalInstanceTreeView::connect_visible_range_changed(const Link<weld::TreeView&, void>& rLink) { + m_xTreeView->SetCustomEntryRenderer(true); weld::TreeView::connect_visible_range_changed(rLink); m_xTreeView->SetScrolledHdl(LINK(this, SalInstanceTreeView, VisibleRangeChangedHdl)); } diff --git a/vcl/source/treelist/svtabbx.cxx b/vcl/source/treelist/svtabbx.cxx index 07b3b3d94ae7..e2eda4ebe94e 100644 --- a/vcl/source/treelist/svtabbx.cxx +++ b/vcl/source/treelist/svtabbx.cxx @@ -217,6 +217,8 @@ void SvTabListBox::DumpAsPropertyTree(tools::JsonWriter& rJsonWriter) } rJsonWriter.put("checkboxtype", checkboxtype); + if (GetCustomEntryRenderer()) + rJsonWriter.put("customEntryRenderer", true); auto entriesNode = rJsonWriter.startArray("entries"); lcl_DumpEntryAndSiblings(rJsonWriter, First(), this, bCheckButtons); } diff --git a/vcl/source/treelist/treelistbox.cxx b/vcl/source/treelist/treelistbox.cxx index 1ebe7f643343..a0259a4036af 100644 --- a/vcl/source/treelist/treelistbox.cxx +++ b/vcl/source/treelist/treelistbox.cxx @@ -406,6 +406,7 @@ SvTreeListBox::SvTreeListBox(vcl::Window* pParent, WinBits nWinStyle) : mbContextBmpExpanded(false), mbQuickSearch(false), mbActivateOnSingleClick(false), + mbCustomEntryRenderer(false), mbHoverSelection(false), mbSelectingByHover(false), mbIsTextColumEnabled(false), commit 3b9db45691346ea96e08b2766cb4c57e9ed8ee88 Author: Pranam Lashkari <[email protected]> AuthorDate: Fri Nov 28 21:55:06 2025 +0530 Commit: Andras Timar <[email protected]> CommitDate: Wed Jan 7 16:07:46 2026 +0100 LOK: show warning/error dialogs show error dialog when invalid images are inserted (calc, impress) part 2 of 70d8195a2b72440fe929e4e3761d1f1d5ace0096 problem: when inserted and image in calc or impress, and image format is incorrect or not supported (i.e: .txt, .heic) then LOK did not get any failure messages Change-Id: I8af0cd5cf360574c116e6383ada170e32e317d12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194801 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Pranam Lashkari <[email protected]> diff --git a/include/sfx2/opengrf.hxx b/include/sfx2/opengrf.hxx index 4546fbabc726..94fed4e4b52e 100644 --- a/include/sfx2/opengrf.hxx +++ b/include/sfx2/opengrf.hxx @@ -22,6 +22,7 @@ #include <sfx2/dllapi.h> #include <rtl/ustring.hxx> #include <comphelper/errcode.hxx> +#include <unotools/resmgr.hxx> namespace com::sun::star::ui::dialogs { class XFilePickerControlAccess; } namespace com::sun::star::uno { template <class interface_type> class Reference; } @@ -58,6 +59,7 @@ public: void SetDetectedFilter(const OUString&); css::uno::Reference<css::ui::dialogs::XFilePickerControlAccess> const & GetFilePickerControlAccess() const; + static TranslateId SvxOpenGrfErr2ResId(ErrCode err); private: SvxOpenGraphicDialog (const SvxOpenGraphicDialog&) = delete; diff --git a/sc/source/ui/drawfunc/fuins1.cxx b/sc/source/ui/drawfunc/fuins1.cxx index d9a1d83568c3..f97f36fcc1c2 100644 --- a/sc/source/ui/drawfunc/fuins1.cxx +++ b/sc/source/ui/drawfunc/fuins1.cxx @@ -25,6 +25,7 @@ #include <sfx2/lokhelper.hxx> #include <sfx2/opengrf.hxx> #include <sfx2/viewfrm.hxx> +#include <sfx2/sfxresid.hxx> #include <svx/svdograf.hxx> #include <svx/svdomedia.hxx> #include <svx/svdpage.hxx> @@ -288,6 +289,14 @@ FuInsertGraphic::FuInsertGraphic( ScTabViewShell& rViewSh, { lcl_InsertGraphic( aGraphic, aFileName, bAsLink, true, rViewSh, pWindow, pView ); } + else + { + std::shared_ptr<weld::MessageDialog> xWarn(Application::CreateMessageDialog( + pWin->GetFrameWeld(), VclMessageType::Warning, VclButtonsType::Ok, + SfxResId(SvxOpenGraphicDialog::SvxOpenGrfErr2ResId(nError)))); + + xWarn->runAsync(xWarn, [](sal_uInt32) {}); + } } else { diff --git a/sd/inc/sdgrffilter.hxx b/sd/inc/sdgrffilter.hxx index a90934dd6dea..32647a371870 100644 --- a/sd/inc/sdgrffilter.hxx +++ b/sd/inc/sdgrffilter.hxx @@ -33,7 +33,8 @@ public: bool Import(); bool Export() override; - static void HandleGraphicFilterError(ErrCode nFilterError, ErrCode nStreamError); + static void HandleGraphicFilterError(ErrCode nFilterError, ErrCode nStreamError, + weld::Window* frameWeld = nullptr); static void InsertSdrGrafObj(const Graphic& rGraphic, SdPage* pPage); }; diff --git a/sd/source/filter/grf/sdgrffilter.cxx b/sd/source/filter/grf/sdgrffilter.cxx index f261efa17d27..a4b16368540f 100644 --- a/sd/source/filter/grf/sdgrffilter.cxx +++ b/sd/source/filter/grf/sdgrffilter.cxx @@ -103,7 +103,8 @@ SdGRFFilter::~SdGRFFilter() { } -void SdGRFFilter::HandleGraphicFilterError( ErrCode nFilterError, ErrCode nStreamError ) +void SdGRFFilter::HandleGraphicFilterError(ErrCode nFilterError, ErrCode nStreamError, + weld::Window* frameWeld) { if (ERRCODE_NONE != nStreamError) { @@ -130,11 +131,12 @@ void SdGRFFilter::HandleGraphicFilterError( ErrCode nFilterError, ErrCode nStrea if (pId && pId == STR_IMPORT_GRFILTER_IOERROR) ErrorHandler::HandleError( ERRCODE_IO_GENERAL ); - else + else if (frameWeld || !comphelper::LibreOfficeKit::isActive()) { - std::unique_ptr<weld::MessageDialog> xErrorBox(Application::CreateMessageDialog(nullptr, - VclMessageType::Warning, VclButtonsType::Ok, pId ? SdResId(pId) : OUString())); - xErrorBox->run(); + std::shared_ptr<weld::MessageDialog> xErrorBox( + Application::CreateMessageDialog(frameWeld, VclMessageType::Warning, VclButtonsType::Ok, + pId ? SdResId(pId) : OUString())); + xErrorBox->runAsync(xErrorBox, [](sal_uInt32) {}); } } diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx index 4083a5ca7af2..f093f55f7ffd 100644 --- a/sd/source/ui/func/fuinsert.cxx +++ b/sd/source/ui/func/fuinsert.cxx @@ -186,10 +186,11 @@ void FuInsertGraphic::DoExecute( SfxRequest& rReq ) } } } - else if (!comphelper::LibreOfficeKit::isActive()) + else { - // TODO: enable in LOK, it contains synchronous error window without LOKNotifier - SdGRFFilter::HandleGraphicFilterError( nError, GraphicFilter::GetGraphicFilter().GetLastError() ); + SdGRFFilter::HandleGraphicFilterError(nError, + GraphicFilter::GetGraphicFilter().GetLastError(), + mpWindow ? mpWindow->GetFrameWeld() : nullptr); } } diff --git a/sfx2/source/appl/opengrf.cxx b/sfx2/source/appl/opengrf.cxx index 16e0731f310b..617f417f40f6 100644 --- a/sfx2/source/appl/opengrf.cxx +++ b/sfx2/source/appl/opengrf.cxx @@ -45,20 +45,6 @@ using namespace ::com::sun::star::lang; using namespace ::com::sun::star::ui::dialogs; using namespace ::com::sun::star::uno; -static TranslateId SvxOpenGrfErr2ResId( ErrCode err ) -{ - if (err == ERRCODE_GRFILTER_OPENERROR) - return RID_SVXSTR_GRFILTER_OPENERROR; - else if (err == ERRCODE_GRFILTER_IOERROR) - return RID_SVXSTR_GRFILTER_IOERROR; - else if (err == ERRCODE_GRFILTER_VERSIONERROR) - return RID_SVXSTR_GRFILTER_VERSIONERROR; - else if (err == ERRCODE_GRFILTER_FILTERERROR) - return RID_SVXSTR_GRFILTER_FILTERERROR; - else - return RID_SVXSTR_GRFILTER_FORMATERROR; -} - struct SvxOpenGrf_Impl { SvxOpenGrf_Impl(weld::Window* pPreferredParent, @@ -277,6 +263,20 @@ void SvxOpenGraphicDialog::SetDetectedFilter(const OUString& rStr) mpImpl->sDetectedFilter = rStr; } +TranslateId SvxOpenGraphicDialog::SvxOpenGrfErr2ResId(ErrCode err) +{ + if (err == ERRCODE_GRFILTER_OPENERROR) + return RID_SVXSTR_GRFILTER_OPENERROR; + else if (err == ERRCODE_GRFILTER_IOERROR) + return RID_SVXSTR_GRFILTER_IOERROR; + else if (err == ERRCODE_GRFILTER_VERSIONERROR) + return RID_SVXSTR_GRFILTER_VERSIONERROR; + else if (err == ERRCODE_GRFILTER_FILTERERROR) + return RID_SVXSTR_GRFILTER_FILTERERROR; + else + return RID_SVXSTR_GRFILTER_FORMATERROR; +} + Reference<ui::dialogs::XFilePickerControlAccess> const & SvxOpenGraphicDialog::GetFilePickerControlAccess() const { return mpImpl->xCtrlAcc; commit a585c2a3f8080b47aa9d92192e2630b6937b1f28 Author: Pranam Lashkari <[email protected]> AuthorDate: Fri Nov 28 22:52:12 2025 +0530 Commit: Andras Timar <[email protected]> CommitDate: Wed Jan 7 16:07:41 2026 +0100 fix multiple sheet rename error dialogs appearing regression from 70d8195a2b72440fe929e4e3761d1f1d5ace0096 Change-Id: I285a87f6a315034527749662eb96321afe081994 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194802 Tested-by: Jenkins CollaboraOffice <[email protected]> Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index e9617f73cb82..0b579cd88b90 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -916,14 +916,6 @@ bool ScDocument::RenameTab( SCTAB nTab, const OUString& rName, bool bExternalDoc SfxLokHelper::notifyDocumentSizeChangedAllViews(pModel); } } - else - { - OUString aErrMsg(ScResId(STR_INVALIDTABNAME)); - std::shared_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog( - GetDocumentShell()->GetFrame()->GetFrameWeld(), VclMessageType::Warning, - VclButtonsType::Ok, aErrMsg)); - xBox->runAsync(xBox, [](sal_uInt32) {}); - } } collectUIInformation({{"NewName", rName}}, u"Rename_Sheet"_ustr); diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx index 7a68b9393130..ddc81b67e789 100644 --- a/sc/source/ui/view/tabvwshf.cxx +++ b/sc/source/ui/view/tabvwshf.cxx @@ -1081,6 +1081,14 @@ void ScTabViewShell::ExecuteAppendOrRenameTable(SfxRequest& rReq) { rReq.Done( *pReqArgs ); } + else + { + OUString aErrMsg(ScResId(STR_INVALIDTABNAME)); + std::shared_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog( + GetFrameWeld(), VclMessageType::Warning, + VclButtonsType::Ok, aErrMsg)); + xBox->runAsync(xBox, [](sal_uInt32) {}); + } } else { @@ -1172,9 +1180,9 @@ bool ScTabViewShell::DoAppendOrRenameTableDialog(sal_Int32 nResult, const VclPtr else { OUString aErrMsg ( ScResId( STR_INVALIDTABNAME ) ); - std::shared_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog( + std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog( GetFrameWeld(), VclMessageType::Warning, VclButtonsType::Ok, aErrMsg)); - xBox->runAsync(xBox, [](sal_uInt32) {}); + xBox->run(); } } commit b0d8779d9f7c51f358cfa7ec7cf1bf84850af719 Author: Pranam Lashkari <[email protected]> AuthorDate: Fri Nov 28 19:15:12 2025 +0530 Commit: Andras Timar <[email protected]> CommitDate: Wed Jan 7 16:07:35 2026 +0100 converted a few simple MessageDialog dialogs to async found this dialogs while working on this files not converted for any particular problem or context Change-Id: I50e1db88de660024e095471ec3e96da050a04242 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194779 Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> diff --git a/sc/source/ui/view/tabvwshf.cxx b/sc/source/ui/view/tabvwshf.cxx index 794b68e002f4..7a68b9393130 100644 --- a/sc/source/ui/view/tabvwshf.cxx +++ b/sc/source/ui/view/tabvwshf.cxx @@ -1172,9 +1172,9 @@ bool ScTabViewShell::DoAppendOrRenameTableDialog(sal_Int32 nResult, const VclPtr else { OUString aErrMsg ( ScResId( STR_INVALIDTABNAME ) ); - std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(GetFrameWeld(), - VclMessageType::Warning, VclButtonsType::Ok, aErrMsg)); - xBox->run(); + std::shared_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog( + GetFrameWeld(), VclMessageType::Warning, VclButtonsType::Ok, aErrMsg)); + xBox->runAsync(xBox, [](sal_uInt32) {}); } } diff --git a/sw/source/uibase/uiview/view2.cxx b/sw/source/uibase/uiview/view2.cxx index 2880dd2fc3eb..a25b93c468cc 100644 --- a/sw/source/uibase/uiview/view2.cxx +++ b/sw/source/uibase/uiview/view2.cxx @@ -587,10 +587,9 @@ bool SwView::InsertGraphicDlg( SfxRequest& rReq ) { if( bShowError ) { - std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetFrameWeld(), - VclMessageType::Info, VclButtonsType::Ok, - SwResId(pResId))); - xInfoBox->run(); + std::shared_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog( + GetFrameWeld(), VclMessageType::Info, VclButtonsType::Ok, SwResId(pResId))); + xInfoBox->runAsync(xInfoBox, [](sal_uInt32) {}); } rReq.Ignore(); } @@ -800,10 +799,11 @@ void SwView::Execute(SfxRequest &rReq) rIDRA.SetRedlinePassword(Sequence <sal_Int8> ()); else { // xmlsec05: message box for wrong password - std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(nullptr, - VclMessageType::Info, VclButtonsType::Ok, - SfxResId(RID_SVXSTR_INCORRECT_PASSWORD))); - xInfoBox->run(); + std::shared_ptr<weld::MessageDialog> xInfoBox( + Application::CreateMessageDialog( + nullptr, VclMessageType::Info, VclButtonsType::Ok, + SfxResId(RID_SVXSTR_INCORRECT_PASSWORD))); + xInfoBox->runAsync(xInfoBox, [](sal_uInt32) {}); break; } } @@ -2503,10 +2503,10 @@ void SwView::EditLinkDlg() { if (officecfg::Office::Common::Security::Scripting::DisableActiveContent::get()) { - std::unique_ptr<weld::MessageDialog> xError( + std::shared_ptr<weld::MessageDialog> xError( Application::CreateMessageDialog(nullptr, VclMessageType::Warning, VclButtonsType::Ok, SvtResId(STR_WARNING_EXTERNAL_LINK_EDIT_DISABLED))); - xError->run(); + xError->runAsync(xError, [](sal_uInt32) {}); return; } @@ -2975,10 +2975,10 @@ tools::Long SwView::InsertMedium( sal_uInt16 nSlotId, std::unique_ptr<SfxMedium> if (!bCompare && !nFound) { - std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetEditWin().GetFrameWeld(), - VclMessageType::Info, VclButtonsType::Ok, - SwResId(STR_NO_MERGE_ENTRY))); - xInfoBox->run(); + std::shared_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog( + GetEditWin().GetFrameWeld(), VclMessageType::Info, VclButtonsType::Ok, + SwResId(STR_NO_MERGE_ENTRY))); + xInfoBox->runAsync(xInfoBox, [](sal_uInt32) {}); } if( nRet==2 && xDocSh.is() ) xDocSh->DoClose(); @@ -3161,10 +3161,10 @@ IMPL_LINK( SwView, DialogClosedHdl, sfx2::FileDialogHelper*, _pFileDlg, void ) std::unique_ptr<SfxMedium> pMed = m_pViewImpl->CreateMedium(); if ( !pMed ) { - std::unique_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog(GetEditWin().GetFrameWeld(), - VclMessageType::Info, VclButtonsType::Ok, - SwResId(RID_SVXSTR_TXTFILTER_FILTERERROR))); - xInfoBox->run(); + std::shared_ptr<weld::MessageDialog> xInfoBox(Application::CreateMessageDialog( + GetEditWin().GetFrameWeld(), VclMessageType::Info, VclButtonsType::Ok, + SwResId(RID_SVXSTR_TXTFILTER_FILTERERROR))); + xInfoBox->runAsync(xInfoBox, [](sal_uInt32) {}); return; } commit 362e2d41b884b602a7ef28d60089090aab9bcc98 Author: Pranam Lashkari <[email protected]> AuthorDate: Fri Nov 28 19:02:10 2025 +0530 Commit: Andras Timar <[email protected]> CommitDate: Wed Jan 7 16:07:18 2026 +0100 LOK: show warning/error dialogs show error dialog when invalid images are inserted show error dialog when sheet rename was invalid Change-Id: I9bf6bb25ac247e966da36bffcda3284d5d82ae42 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194778 Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index eeadfc52f19e..e9617f73cb82 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -24,6 +24,7 @@ #include <o3tl/untaint.hxx> #include <svx/svditer.hxx> #include <sfx2/docfile.hxx> +#include <sfx2/viewfrm.hxx> #include <svl/numformat.hxx> #include <poolcach.hxx> #include <svl/zforlist.hxx> @@ -915,6 +916,14 @@ bool ScDocument::RenameTab( SCTAB nTab, const OUString& rName, bool bExternalDoc SfxLokHelper::notifyDocumentSizeChangedAllViews(pModel); } } + else + { + OUString aErrMsg(ScResId(STR_INVALIDTABNAME)); + std::shared_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog( + GetDocumentShell()->GetFrame()->GetFrameWeld(), VclMessageType::Warning, + VclButtonsType::Ok, aErrMsg)); + xBox->runAsync(xBox, [](sal_uInt32) {}); + } } collectUIInformation({{"NewName", rName}}, u"Rename_Sheet"_ustr); diff --git a/sw/source/uibase/uiview/view2.cxx b/sw/source/uibase/uiview/view2.cxx index 9b62077d6f02..2880dd2fc3eb 100644 --- a/sw/source/uibase/uiview/view2.cxx +++ b/sw/source/uibase/uiview/view2.cxx @@ -396,7 +396,7 @@ bool SwView::InsertGraphicDlg( SfxRequest& rReq ) UIName sGraphicFormat( SwResId(STR_POOLFRM_GRAPHIC) ); const SfxStringItem* pName = rReq.GetArg(SID_INSERT_GRAPHIC); - bool bShowError = !pName; + bool bShowError = !pName || comphelper::LibreOfficeKit::isActive(); // No file pickers in a non-desktop (mobile app) build.
