diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-07 11:48:25 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-07 11:48:25 +0000 |
commit | 9c0049cfae49c8e4ddef9125a69db2ad134c10c6 (patch) | |
tree | 812a86c0eee63dfc5ace12f2622ed3ce9cd3d680 /sw/source/uibase | |
parent | Releasing progress-linux version 4:24.2.3-2~progress7.99u1. (diff) | |
download | libreoffice-9c0049cfae49c8e4ddef9125a69db2ad134c10c6.tar.xz libreoffice-9c0049cfae49c8e4ddef9125a69db2ad134c10c6.zip |
Merging upstream version 4:24.2.4.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sw/source/uibase')
-rw-r--r-- | sw/source/uibase/docvw/edtwin.cxx | 10 | ||||
-rw-r--r-- | sw/source/uibase/shells/drwbassh.cxx | 10 | ||||
-rw-r--r-- | sw/source/uibase/uiview/viewtab.cxx | 2 | ||||
-rw-r--r-- | sw/source/uibase/uno/SwXDocumentSettings.cxx | 36 | ||||
-rw-r--r-- | sw/source/uibase/utlui/content.cxx | 2 |
5 files changed, 56 insertions, 4 deletions
diff --git a/sw/source/uibase/docvw/edtwin.cxx b/sw/source/uibase/docvw/edtwin.cxx index 073b6b5964..c062760275 100644 --- a/sw/source/uibase/docvw/edtwin.cxx +++ b/sw/source/uibase/docvw/edtwin.cxx @@ -3113,9 +3113,12 @@ void SwEditWin::MouseButtonDown(const MouseEvent& _rMEvt) SwTab nMouseTabCol = SwTab::COL_NONE; const bool bTmp = !rSh.IsDrawCreate() && !m_pApplyTempl && !rSh.IsInSelect() && aMEvt.GetClicks() == 1 && MOUSE_LEFT == aMEvt.GetButtons(); + if ( bTmp && SwTab::COL_NONE != (nMouseTabCol = rSh.WhichMouseTabCol( aDocPos ) ) && - !rSh.IsObjSelectable( aDocPos ) ) + ( !rSh.IsObjSelectable( aDocPos ) || + // allow resizing row height, if the image is anchored as character in the cell + !( SwTab::COL_VERT == nMouseTabCol || SwTab::COL_HORI == nMouseTabCol ) ) ) { // Enhanced table selection if ( SwTab::SEL_HORI <= nMouseTabCol && SwTab::COLSEL_VERT >= nMouseTabCol ) @@ -3984,8 +3987,11 @@ bool SwEditWin::changeMousePointer(Point const & rDocPoint) SwWrtShell & rShell = m_rView.GetWrtShell(); SwTab nMouseTabCol; + if ( SwTab::COL_NONE != (nMouseTabCol = rShell.WhichMouseTabCol( rDocPoint ) ) && - !rShell.IsObjSelectable( rDocPoint ) ) + ( !rShell.IsObjSelectable( rDocPoint ) || + // allow resizing row height, if the image is anchored as character in the cell + !( SwTab::COL_VERT == nMouseTabCol || SwTab::COL_HORI == nMouseTabCol ) ) ) { PointerStyle nPointer = PointerStyle::Null; bool bChkTableSel = false; diff --git a/sw/source/uibase/shells/drwbassh.cxx b/sw/source/uibase/shells/drwbassh.cxx index d5eec21320..2255841607 100644 --- a/sw/source/uibase/shells/drwbassh.cxx +++ b/sw/source/uibase/shells/drwbassh.cxx @@ -60,6 +60,8 @@ #include <fmtfollowtextflow.hxx> #include <textboxhelper.hxx> #include <svx/diagram/IDiagramHelper.hxx> +#include <svl/grabbagitem.hxx> +#include <IDocumentSettingAccess.hxx> using namespace ::com::sun::star; using namespace css::beans; @@ -235,6 +237,14 @@ void SwDrawBaseShell::Execute(SfxRequest const &rReq) aSet.Put(SfxBoolItem(SID_ATTR_TRANSFORM_HORI_MIRROR, aHOrient.IsPosToggle())); aSet.Put(SfxInt32Item(SID_ATTR_TRANSFORM_HORI_POSITION, aHOrient.GetPos())); + const IDocumentSettingAccess& rIDSA = pFrameFormat->getIDocumentSettingAccess(); + if (rIDSA.get(DocumentSettingId::DO_NOT_MIRROR_RTL_DRAW_OBJS)) + { + SfxGrabBagItem aItem(RES_CHRATR_GRABBAG); + aItem.GetGrabBag()["DoNotMirrorRtlDrawObjs"] <<= true; + aSet.Put(aItem); + } + aSet.Put(SfxUInt16Item(SID_HTML_MODE, nHtmlMode)); pDlg->SetInputSet( &aSet ); diff --git a/sw/source/uibase/uiview/viewtab.cxx b/sw/source/uibase/uiview/viewtab.cxx index 52a26eabb6..eb7f65dc96 100644 --- a/sw/source/uibase/uiview/viewtab.cxx +++ b/sw/source/uibase/uiview/viewtab.cxx @@ -1034,7 +1034,7 @@ void SwView::ExecTabWin( SfxRequest const & rReq ) { SvxColumnItem aColItem(static_cast<const SvxColumnItem&>(pReqArgs->Get(nSlot))); - if( m_bSetTabColFromDoc || (!bSect && rSh.GetTableFormat()) ) + if( m_bSetTabColFromDoc || m_bSetTabRowFromDoc || (!bSect && rSh.GetTableFormat()) ) { OSL_ENSURE(aColItem.Count(), "ColDesc is empty!!"); diff --git a/sw/source/uibase/uno/SwXDocumentSettings.cxx b/sw/source/uibase/uno/SwXDocumentSettings.cxx index 66f3eef7db..3c0a8bbbf2 100644 --- a/sw/source/uibase/uno/SwXDocumentSettings.cxx +++ b/sw/source/uibase/uno/SwXDocumentSettings.cxx @@ -159,6 +159,8 @@ enum SwDocumentSettingsPropertyHandles HANDLE_NO_NUMBERING_SHOW_FOLLOWBY, HANDLE_DROP_CAP_PUNCTUATION, HANDLE_USE_VARIABLE_WIDTH_NBSP, + HANDLE_APPLY_TEXT_ATTR_TO_EMPTY_LINE_AT_END_OF_PARAGRAPH, + HANDLE_DO_NOT_MIRROR_RTL_DRAW_OBJS, }; } @@ -264,6 +266,8 @@ static rtl::Reference<MasterPropertySetInfo> lcl_createSettingsInfo() { OUString("NoNumberingShowFollowBy"), HANDLE_NO_NUMBERING_SHOW_FOLLOWBY, cppu::UnoType<bool>::get(), 0 }, { OUString("DropCapPunctuation"), HANDLE_DROP_CAP_PUNCTUATION, cppu::UnoType<bool>::get(), 0 }, { OUString("UseVariableWidthNBSP"), HANDLE_USE_VARIABLE_WIDTH_NBSP, cppu::UnoType<bool>::get(), 0 }, + { OUString("ApplyTextAttrToEmptyLineAtEndOfParagraph"), HANDLE_APPLY_TEXT_ATTR_TO_EMPTY_LINE_AT_END_OF_PARAGRAPH, cppu::UnoType<bool>::get(), 0 }, + { OUString("DoNotMirrorRtlDrawObjs"), HANDLE_DO_NOT_MIRROR_RTL_DRAW_OBJS, cppu::UnoType<bool>::get(), 0 }, /* * As OS said, we don't have a view when we need to set this, so I have to @@ -1074,6 +1078,26 @@ void SwXDocumentSettings::_setSingleValue( const comphelper::PropertyInfo & rInf } } break; + case HANDLE_APPLY_TEXT_ATTR_TO_EMPTY_LINE_AT_END_OF_PARAGRAPH: + { + bool bTmp; + if (rValue >>= bTmp) + { + mpDoc->getIDocumentSettingAccess().set( + DocumentSettingId::APPLY_TEXT_ATTR_TO_EMPTY_LINE_AT_END_OF_PARAGRAPH, bTmp); + } + } + break; + case HANDLE_DO_NOT_MIRROR_RTL_DRAW_OBJS: + { + bool bTmp; + if (rValue >>= bTmp) + { + mpDoc->getIDocumentSettingAccess().set( + DocumentSettingId::DO_NOT_MIRROR_RTL_DRAW_OBJS, bTmp); + } + } + break; case HANDLE_DO_NOT_BREAK_WRAPPED_TABLES: { bool bTmp; @@ -1656,6 +1680,18 @@ void SwXDocumentSettings::_getSingleValue( const comphelper::PropertyInfo & rInf DocumentSettingId::HYPHENATE_URLS); } break; + case HANDLE_APPLY_TEXT_ATTR_TO_EMPTY_LINE_AT_END_OF_PARAGRAPH: + { + rValue <<= mpDoc->getIDocumentSettingAccess().get( + DocumentSettingId::APPLY_TEXT_ATTR_TO_EMPTY_LINE_AT_END_OF_PARAGRAPH); + } + break; + case HANDLE_DO_NOT_MIRROR_RTL_DRAW_OBJS: + { + rValue <<= mpDoc->getIDocumentSettingAccess().get( + DocumentSettingId::DO_NOT_MIRROR_RTL_DRAW_OBJS); + } + break; case HANDLE_DO_NOT_BREAK_WRAPPED_TABLES: { rValue <<= mpDoc->getIDocumentSettingAccess().get( diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx index 4e67041403..c75f08430c 100644 --- a/sw/source/uibase/utlui/content.cxx +++ b/sw/source/uibase/utlui/content.cxx @@ -1010,7 +1010,7 @@ void SwContentType::FillMemberList(bool* pbContentChanged) for (const rtl::Reference<SdrObject>& pTemp : *pPage) { // #i51726# - all drawing objects can be named now - if (!pTemp->GetName().isEmpty()) + if (!pTemp->IsVirtualObj() && !pTemp->GetName().isEmpty()) { tools::Long nYPos = LONG_MIN; const bool bIsVisible = rIDDMA.IsVisibleLayerId(pTemp->GetLayer()); |