summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorMichael Stahl <michael.stahl@allotropia.de>2023-07-05 14:04:17 +0200
committerMichael Stahl <michael.stahl@allotropia.de>2023-07-05 19:54:17 +0200
commit6efc72b99a08384e56c5a4da7918177be60b3b09 (patch)
tree67e228fb3914c392a009bc0191a63287678fed8c /cui
parent082993c38e68089282b42fdb46179ac2574d61d5 (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.cxx6
-rw-r--r--cui/source/factory/dlgfact.cxx9
-rw-r--r--cui/source/factory/dlgfact.hxx3
-rw-r--r--cui/uiconfig/ui/objecttitledescdialog.ui20
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>