diff options
author | Michael Stahl <michael.stahl@allotropia.de> | 2023-07-05 14:04:17 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2023-07-05 19:54:17 +0200 |
commit | 6efc72b99a08384e56c5a4da7918177be60b3b09 (patch) | |
tree | 67e228fb3914c392a009bc0191a63287678fed8c /cui | |
parent | 082993c38e68089282b42fdb46179ac2574d61d5 (diff) |
tdf#138504 svx,etc.: decorative flag on SdrObject shapes
* SdrObject new member m_IsDecorative
* new Undo SdrUndoObjDecorative
* surprising amount of changes in sw including additional SwUndoFlyDecorative
* svx API SvxShape property "Decorative"
* UI checkbox "Decorative"
* ODF import/export as loext:decorative on style:graphic-properties
* PDF/UA export: ViewObjectContcat tag shapes with this flag as Artifact
Change-Id: I37f7a0597eab92c6c6aff94fad6c16c59b231c80
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154063
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'cui')
-rw-r--r-- | cui/source/dialogs/dlgname.cxx | 6 | ||||
-rw-r--r-- | cui/source/factory/dlgfact.cxx | 9 | ||||
-rw-r--r-- | cui/source/factory/dlgfact.hxx | 3 | ||||
-rw-r--r-- | cui/uiconfig/ui/objecttitledescdialog.ui | 20 |
4 files changed, 34 insertions, 4 deletions
diff --git a/cui/source/dialogs/dlgname.cxx b/cui/source/dialogs/dlgname.cxx index d6666a0a3f49..84f21a86d616 100644 --- a/cui/source/dialogs/dlgname.cxx +++ b/cui/source/dialogs/dlgname.cxx @@ -87,10 +87,12 @@ IMPL_LINK_NOARG(SvxObjectNameDialog, ModifyHdl, weld::Entry&, void) // Dialog for editing Object Title and Description SvxObjectTitleDescDialog::SvxObjectTitleDescDialog(weld::Window* pParent, const OUString& rTitle, - const OUString& rDescription) + const OUString& rDescription, + bool const isDecorative) : GenericDialogController(pParent, "cui/ui/objecttitledescdialog.ui", "ObjectTitleDescDialog") , m_xEdtTitle(m_xBuilder->weld_entry("object_title_entry")) , m_xEdtDescription(m_xBuilder->weld_text_view("desc_entry")) + , m_xDecorativeCB(m_xBuilder->weld_check_button("decorative")) { //lock height to initial height m_xEdtDescription->set_size_request(-1, m_xEdtDescription->get_text_height() * 5); @@ -100,6 +102,8 @@ SvxObjectTitleDescDialog::SvxObjectTitleDescDialog(weld::Window* pParent, const // activate title m_xEdtTitle->select_region(0, -1); + + m_xDecorativeCB->set_active(isDecorative); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx index 303467ba51d1..346bb8bc8370 100644 --- a/cui/source/factory/dlgfact.cxx +++ b/cui/source/factory/dlgfact.cxx @@ -630,6 +630,11 @@ void AbstractSvxObjectTitleDescDialog_Impl::GetDescription(OUString& rDescriptio rDescription = m_xDlg->GetDescription(); } +void AbstractSvxObjectTitleDescDialog_Impl::IsDecorative(bool & rIsDecorative) +{ + rIsDecorative = m_xDlg->IsDecorative(); +} + OUString AbstractSvxMultiPathDialog_Impl::GetPath() const { return m_xDlg->GetPath(); @@ -1098,9 +1103,9 @@ VclPtr<AbstractSvxObjectNameDialog> AbstractDialogFactory_Impl::CreateSvxObjectN return VclPtr<AbstractSvxObjectNameDialog_Impl>::Create(std::make_unique<SvxObjectNameDialog>(pParent, rName)); } -VclPtr<AbstractSvxObjectTitleDescDialog> AbstractDialogFactory_Impl::CreateSvxObjectTitleDescDialog(weld::Window* pParent, const OUString& rTitle, const OUString& rDescription) +VclPtr<AbstractSvxObjectTitleDescDialog> AbstractDialogFactory_Impl::CreateSvxObjectTitleDescDialog(weld::Window* pParent, const OUString& rTitle, const OUString& rDescription, bool const isDecorative) { - return VclPtr<AbstractSvxObjectTitleDescDialog_Impl>::Create(std::make_unique<SvxObjectTitleDescDialog>(pParent, rTitle, rDescription)); + return VclPtr<AbstractSvxObjectTitleDescDialog_Impl>::Create(std::make_unique<SvxObjectTitleDescDialog>(pParent, rTitle, rDescription, isDecorative)); } VclPtr<AbstractSvxMultiPathDialog> AbstractDialogFactory_Impl::CreateSvxMultiPathDialog(weld::Window* pParent) diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx index 900013184ddd..cd3f638aced5 100644 --- a/cui/source/factory/dlgfact.hxx +++ b/cui/source/factory/dlgfact.hxx @@ -297,6 +297,7 @@ private: DECL_ABSTDLG_CLASS(AbstractSvxObjectTitleDescDialog,SvxObjectTitleDescDialog) virtual void GetTitle(OUString& rName) override; virtual void GetDescription(OUString& rName) override; + virtual void IsDecorative(bool & rIsDecorative) override; }; // AbstractSvxMultiPathDialog_Impl @@ -523,7 +524,7 @@ public: const OUString& rName, const OUString& rDesc) override; // #i68101# virtual VclPtr<AbstractSvxObjectNameDialog> CreateSvxObjectNameDialog(weld::Window* pParent, const OUString& rName) override; - virtual VclPtr<AbstractSvxObjectTitleDescDialog> CreateSvxObjectTitleDescDialog(weld::Window* pParent, const OUString& rTitle, const OUString& rDescription) override; + virtual VclPtr<AbstractSvxObjectTitleDescDialog> CreateSvxObjectTitleDescDialog(weld::Window* pParent, const OUString& rTitle, const OUString& rDescription, bool isDecorative) override; virtual VclPtr<AbstractSvxMultiPathDialog> CreateSvxMultiPathDialog(weld::Window* pParent) override; virtual VclPtr<AbstractSvxMultiPathDialog> CreateSvxPathSelectDialog(weld::Window* pParent) override; virtual VclPtr<AbstractSvxHpLinkDlg> CreateSvxHpLinkDlg(SfxChildWindow* pChild, SfxBindings* pBindings, weld::Window* pParent) override; diff --git a/cui/uiconfig/ui/objecttitledescdialog.ui b/cui/uiconfig/ui/objecttitledescdialog.ui index 547ccc066e34..e2cc8f1330ba 100644 --- a/cui/uiconfig/ui/objecttitledescdialog.ui +++ b/cui/uiconfig/ui/objecttitledescdialog.ui @@ -160,6 +160,26 @@ <property name="position">3</property> </packing> </child> + <child> + <object class="GtkCheckButton" id="decorative"> + <property name="label" translatable="yes" context="objecttitledescdialog|decorative">Decorative</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="use-underline">True</property> + <property name="draw-indicator">True</property> + <child internal-child="accessible"> + <object class="AtkObject" id="decorative-atkobject"> + <property name="AtkObject::accessible-description" translatable="yes" context="objecttitledescdialog|extended_tip|decorative">The item is purely decorative, not part of the document content, and may be ignored by assistive technologies.</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">4</property> + </packing> + </child> </object> <packing> <property name="expand">True</property> |