[Libreoffice-commits] core.git: sw/source sw/uiconfig
Jim Raykowski (via logerrit)
logerrit at kemper.freedesktop.org
Wed Sep 29 06:57:35 UTC 2021
sw/source/uibase/inc/conttree.hxx | 1 +
sw/source/uibase/utlui/content.cxx | 21 +++++++++++++++++++--
sw/uiconfig/swriter/ui/navigatorcontextmenu.ui | 8 ++++++++
3 files changed, 28 insertions(+), 2 deletions(-)
New commits:
commit 38eb9a0594393e263f57701702974a030d3327de
Author: Jim Raykowski <raykowj at gmail.com>
AuthorDate: Thu Sep 16 21:02:44 2021 -0800
Commit: Jim Raykowski <raykowj at gmail.com>
CommitDate: Wed Sep 29 08:57:00 2021 +0200
tdf#144335 SwNavigator: Table tracking option
Adds a check button to the table context menu in the content tree to
turn table tracking on or off.
Change-Id: I787dc2f3e3b465d7f25a9e16b5f5491dc2d933d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122218
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj at gmail.com>
diff --git a/sw/source/uibase/inc/conttree.hxx b/sw/source/uibase/inc/conttree.hxx
index 78e078cc78f3..9364e36c6181 100644
--- a/sw/source/uibase/inc/conttree.hxx
+++ b/sw/source/uibase/inc/conttree.hxx
@@ -112,6 +112,7 @@ class SwContentTree final : public SfxListener
sal_uInt8 m_nOutlineLevel;
sal_uInt32 m_nOutlineTracking = 1;
+ bool m_bTableTracking = true;
enum class State { ACTIVE, CONSTANT, HIDDEN } m_eState;
diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx
index 5933b3cf26f8..ae46fe4272c6 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -1570,6 +1570,7 @@ IMPL_LINK(SwContentTree, CommandHdl, const CommandEvent&, rCEvt, bool)
bool bRemoveToggleExpandEntry = true;
bool bRemoveChapterEntries = true;
bool bRemoveSendOutlineEntry = true;
+ bool bRemoveTableTracking = true;
// Edit only if the shown content is coming from the current view.
if (State::HIDDEN != m_eState &&
@@ -1632,6 +1633,8 @@ IMPL_LINK(SwContentTree, CommandHdl, const CommandEvent&, rCEvt, bool)
bool bProt = m_pActiveShell->HasTableAnyProtection( &sTableName, &bFull );
xPop->set_sensitive(OString::number(403), !bFull);
xPop->set_sensitive(OString::number(404), bProt);
+ xPop->set_active("tabletracking", m_bTableTracking);
+ bRemoveTableTracking = false;
bRemoveDeleteEntry = false;
}
else if(ContentTypeId::DRAWOBJECT == nContentType)
@@ -1684,11 +1687,16 @@ IMPL_LINK(SwContentTree, CommandHdl, const CommandEvent&, rCEvt, bool)
bRemoveToggleExpandEntry = lcl_InsertExpandCollapseAllItem(*m_xTreeView, *xEntry,
*xPop);
}
- if (State::HIDDEN != m_eState &&
+ else if (State::HIDDEN != m_eState &&
pType->GetType() == ContentTypeId::POSTIT &&
!m_pActiveShell->GetView().GetDocShell()->IsReadOnly() &&
pType->GetMemberCount() > 0)
bRemovePostItEntries = false;
+ else if (ContentTypeId::TABLE == pType->GetType())
+ {
+ xPop->set_active("tabletracking", m_bTableTracking);
+ bRemoveTableTracking = false;
+ }
}
}
@@ -1773,6 +1781,9 @@ IMPL_LINK(SwContentTree, CommandHdl, const CommandEvent&, rCEvt, bool)
xPop->remove("separator1511");
}
+ if (bRemoveTableTracking)
+ xPop->remove("tabletracking");
+
OString sCommand = xPop->popup_at_rect(m_xTreeView.get(), tools::Rectangle(rCEvt.GetMousePosPixel(), Size(1,1)));
if (!sCommand.isEmpty())
ExecuteContextMenuAction(sCommand);
@@ -3552,7 +3563,7 @@ void SwContentTree::UpdateTracking()
return;
}
// table
- if (m_pActiveShell->IsCursorInTable() &&
+ if (m_bTableTracking && m_pActiveShell->IsCursorInTable() &&
!(m_bIsRoot && m_nRootType != ContentTypeId::TABLE))
{
if(m_pActiveShell->GetTableFormat())
@@ -4062,6 +4073,12 @@ IMPL_LINK(SwContentTree, QueryTooltipHdl, const weld::TreeIter&, rEntry, OUStrin
void SwContentTree::ExecuteContextMenuAction(const OString& rSelectedPopupEntry)
{
+ if (rSelectedPopupEntry == "tabletracking")
+ {
+ m_bTableTracking = !m_bTableTracking;
+ return;
+ }
+
std::unique_ptr<weld::TreeIter> xFirst(m_xTreeView->make_iterator());
if (!m_xTreeView->get_selected(xFirst.get()))
xFirst.reset();
diff --git a/sw/uiconfig/swriter/ui/navigatorcontextmenu.ui b/sw/uiconfig/swriter/ui/navigatorcontextmenu.ui
index 8c27c7e07c28..c3a5b64bde47 100644
--- a/sw/uiconfig/swriter/ui/navigatorcontextmenu.ui
+++ b/sw/uiconfig/swriter/ui/navigatorcontextmenu.ui
@@ -230,6 +230,14 @@
</child>
</object>
</child>
+ <child>
+ <object class="GtkCheckMenuItem" id="tabletracking">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="navigatorcontextmenu|STR_TABLE_TRACKING">Table Tracking</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
<child>
<object class="GtkMenuItem" id="2">
<property name="visible">True</property>
More information about the Libreoffice-commits
mailing list