summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDhiraj Holden <dhiraj.holden@gmail.com>2022-04-10 21:17:17 -0400
committerHeiko Tietze <heiko.tietze@documentfoundation.org>2022-04-28 10:48:38 +0200
commitb5e838334b57fee1e38febd95f944698059dfe4a (patch)
tree7e8606fb2abaa1b35fa00eb70d6d3bd489c94831
parent27c850b2ea3d004b380921de6664c50e6d54d4f5 (diff)
tdf#144788 Split up footnotes and endnotes in Navigator
This patch splits the footnotes and endnotes section in Navigator. Before, there was one section for both footnotes and endnotes and now there are two sections, one for footnotes and one for endnotes. Change-Id: Ic0f3af92efa1c0487ee3c407a819bf34138ef4ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132796 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
-rw-r--r--icon-themes/breeze/links.txt2
-rw-r--r--icon-themes/breeze_dark/links.txt2
-rw-r--r--icon-themes/colibre/links.txt2
-rw-r--r--icon-themes/colibre_dark/links.txt2
-rw-r--r--icon-themes/elementary/links.txt2
-rw-r--r--icon-themes/karasa_jaga/links.txt2
-rw-r--r--icon-themes/sifr/links.txt2
-rw-r--r--icon-themes/sifr_dark/links.txt2
-rw-r--r--icon-themes/sukapura/links.txt2
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/Writer.xcs7
-rw-r--r--sw/inc/bitmaps.hlst3
-rw-r--r--sw/inc/strings.hrc6
-rw-r--r--sw/source/uibase/inc/swcont.hxx3
-rw-r--r--sw/source/uibase/utlui/content.cxx79
-rw-r--r--sw/source/uibase/utlui/navicfg.cxx12
-rw-r--r--sw/uiconfig/swriter/ui/navigatorcontextmenu.ui8
16 files changed, 98 insertions, 38 deletions
diff --git a/icon-themes/breeze/links.txt b/icon-themes/breeze/links.txt
index a933510edcb6..c37e8422f389 100644
--- a/icon-themes/breeze/links.txt
+++ b/icon-themes/breeze/links.txt
@@ -2670,6 +2670,8 @@ sw/res/nc20008.png cmd/sc_insertreferencefield.png
sw/res/nc20009.png cmd/sc_insertindexesentry.png
sw/res/nc20010.png cmd/sc_shownote.png
sw/res/nc20011.png sd/res/sf01.png
+sw/res/nc20012.png cmd/sc_insertfootnote.png
+sw/res/nc20013.png cmd/sc_insertendnote.png
sw/res/sc20244.png sw/res/sc20234.png
sw/res/re01.png cmd/lc_unsetcellsreadonly.png
diff --git a/icon-themes/breeze_dark/links.txt b/icon-themes/breeze_dark/links.txt
index a933510edcb6..c37e8422f389 100644
--- a/icon-themes/breeze_dark/links.txt
+++ b/icon-themes/breeze_dark/links.txt
@@ -2670,6 +2670,8 @@ sw/res/nc20008.png cmd/sc_insertreferencefield.png
sw/res/nc20009.png cmd/sc_insertindexesentry.png
sw/res/nc20010.png cmd/sc_shownote.png
sw/res/nc20011.png sd/res/sf01.png
+sw/res/nc20012.png cmd/sc_insertfootnote.png
+sw/res/nc20013.png cmd/sc_insertendnote.png
sw/res/sc20244.png sw/res/sc20234.png
sw/res/re01.png cmd/lc_unsetcellsreadonly.png
diff --git a/icon-themes/colibre/links.txt b/icon-themes/colibre/links.txt
index be6ad8d4010d..74ad1112d9f7 100644
--- a/icon-themes/colibre/links.txt
+++ b/icon-themes/colibre/links.txt
@@ -2459,6 +2459,8 @@ sw/res/nc20008.png cmd/sc_insertreferencefield.png
sw/res/nc20009.png cmd/sc_insertindexesentry.png
sw/res/nc20010.png cmd/sc_shownote.png
sw/res/nc20011.png cmd/sc_insertdraw.png
+sw/res/nc20012.png cmd/sc_insertfootnote.png
+sw/res/nc20013.png cmd/sc_insertendnote.png
sw/res/re01.png cmd/lc_unsetcellsreadonly.png
sw/res/re02.png cmd/lc_unsetcellsreadonly.png
sw/res/re03.png cmd/sc_protect.png
diff --git a/icon-themes/colibre_dark/links.txt b/icon-themes/colibre_dark/links.txt
index be6ad8d4010d..74ad1112d9f7 100644
--- a/icon-themes/colibre_dark/links.txt
+++ b/icon-themes/colibre_dark/links.txt
@@ -2459,6 +2459,8 @@ sw/res/nc20008.png cmd/sc_insertreferencefield.png
sw/res/nc20009.png cmd/sc_insertindexesentry.png
sw/res/nc20010.png cmd/sc_shownote.png
sw/res/nc20011.png cmd/sc_insertdraw.png
+sw/res/nc20012.png cmd/sc_insertfootnote.png
+sw/res/nc20013.png cmd/sc_insertendnote.png
sw/res/re01.png cmd/lc_unsetcellsreadonly.png
sw/res/re02.png cmd/lc_unsetcellsreadonly.png
sw/res/re03.png cmd/sc_protect.png
diff --git a/icon-themes/elementary/links.txt b/icon-themes/elementary/links.txt
index fb8c4acc6e41..da4436c53178 100644
--- a/icon-themes/elementary/links.txt
+++ b/icon-themes/elementary/links.txt
@@ -2284,6 +2284,8 @@ sw/res/nc20008.png cmd/sc_insertreferencefield.png
sw/res/nc20009.png cmd/sc_insertindexesentry.png
sw/res/nc20010.png cmd/sc_shownote.png
sw/res/nc20011.png cmd/sc_insertdraw.png
+sw/res/nc20012.png cmd/sc_insertfootnote.png
+sw/res/nc20013.png cmd/sc_insertendnote.png
sw/res/one_left.png dbaccess/res/one_left.png
sw/res/one_right.png dbaccess/res/one_right.png
diff --git a/icon-themes/karasa_jaga/links.txt b/icon-themes/karasa_jaga/links.txt
index 7dd58f1ad67e..e55b9ec29bbc 100644
--- a/icon-themes/karasa_jaga/links.txt
+++ b/icon-themes/karasa_jaga/links.txt
@@ -2042,6 +2042,8 @@ sw/res/nc20008.png cmd/sc_insertreferencefield.png
sw/res/nc20009.png cmd/sc_insertindexesentry.png
sw/res/nc20010.png cmd/sc_shownote.png
sw/res/nc20011.png cmd/sc_insertdraw.png
+sw/res/nc20012.png cmd/sc_insertfootnote.png
+sw/res/nc20013.png cmd/sc_insertendnote.png
sw/res/one_left.png dbaccess/res/one_left.png
sw/res/one_right.png dbaccess/res/one_right.png
sw/res/page_break.png cmd/lc_insertpagebreak.png
diff --git a/icon-themes/sifr/links.txt b/icon-themes/sifr/links.txt
index 8ccc0e851cd4..0e165149c4a6 100644
--- a/icon-themes/sifr/links.txt
+++ b/icon-themes/sifr/links.txt
@@ -2584,6 +2584,8 @@ sw/res/nc20008.png cmd/sc_insertreferencefield.png
sw/res/nc20009.png cmd/sc_insertindexesentry.png
sw/res/nc20010.png cmd/sc_shownote.png
sw/res/nc20011.png cmd/sc_insertdraw.png
+sw/res/nc20012.png cmd/sc_insertfootnote.png
+sw/res/nc20013.png cmd/sc_insertendnote.png
sw/res/one_left.png cmd/sc_prevrecord.png
sw/res/one_right.png cmd/sc_nextrecord.png
sw/res/page_break.png cmd/lc_insertpagebreak.png
diff --git a/icon-themes/sifr_dark/links.txt b/icon-themes/sifr_dark/links.txt
index 8ccc0e851cd4..0e165149c4a6 100644
--- a/icon-themes/sifr_dark/links.txt
+++ b/icon-themes/sifr_dark/links.txt
@@ -2584,6 +2584,8 @@ sw/res/nc20008.png cmd/sc_insertreferencefield.png
sw/res/nc20009.png cmd/sc_insertindexesentry.png
sw/res/nc20010.png cmd/sc_shownote.png
sw/res/nc20011.png cmd/sc_insertdraw.png
+sw/res/nc20012.png cmd/sc_insertfootnote.png
+sw/res/nc20013.png cmd/sc_insertendnote.png
sw/res/one_left.png cmd/sc_prevrecord.png
sw/res/one_right.png cmd/sc_nextrecord.png
sw/res/page_break.png cmd/lc_insertpagebreak.png
diff --git a/icon-themes/sukapura/links.txt b/icon-themes/sukapura/links.txt
index 9a173df7eea0..014ab097278d 100644
--- a/icon-themes/sukapura/links.txt
+++ b/icon-themes/sukapura/links.txt
@@ -2498,6 +2498,8 @@ sw/res/nc20008.png cmd/sc_insertreferencefield.png
sw/res/nc20009.png cmd/sc_insertindexesentry.png
sw/res/nc20010.png cmd/sc_shownote.png
sw/res/nc20011.png cmd/sc_insertdraw.png
+sw/res/nc20012.png cmd/sc_insertfootnote.png
+sw/res/nc20013.png cmd/sc_insertendnote.png
sw/res/sc20171.png cmd/sc_downsearch.png
sw/res/sc20172.png cmd/sc_prevrecord.png
sw/res/sc20173.png cmd/sc_nextrecord.png
diff --git a/officecfg/registry/schema/org/openoffice/Office/Writer.xcs b/officecfg/registry/schema/org/openoffice/Office/Writer.xcs
index 89c63d849cf7..c3301435b7f1 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Writer.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Writer.xcs
@@ -5415,6 +5415,13 @@
</info>
<value>true</value>
</prop>
+ <prop oor:name="EndnoteTracking" oor:type="xs:boolean" oor:nillable="false">
+ <info>
+ <desc>Specifies if Endnote tracking is active.</desc>
+ <label>Endnote tracking on/off</label>
+ </info>
+ <value>true</value>
+ </prop>
<prop oor:name="NavigateOnSelect" oor:type="xs:boolean" oor:nillable="false">
<info>
<desc>Specifies if navigate on entry select is active.</desc>
diff --git a/sw/inc/bitmaps.hlst b/sw/inc/bitmaps.hlst
index 91de45e5d4fb..015e0d7424c3 100644
--- a/sw/inc/bitmaps.hlst
+++ b/sw/inc/bitmaps.hlst
@@ -90,7 +90,8 @@ inline constexpr OUStringLiteral RID_BMP_NAVI_INDEX = u"sw/res/nc20009.png";
inline constexpr OUStringLiteral RID_BMP_NAVI_POSTIT = u"sw/res/nc20010.png";
inline constexpr OUStringLiteral RID_BMP_NAVI_DRAWOBJECT = u"sw/res/nc20011.png";
inline constexpr OUStringLiteral RID_BMP_NAVI_TEXTFIELD = u"sw/res/nc20005.png";
-inline constexpr OUStringLiteral RID_BMP_NAVI_FOOTNOTE = u"sw/res/nc20000.png";
+inline constexpr OUStringLiteral RID_BMP_NAVI_FOOTNOTE = u"sw/res/nc20012.png";
+inline constexpr OUStringLiteral RID_BMP_NAVI_ENDNOTE = u"sw/res/nc20013.png";
inline constexpr OUStringLiteral RID_BMP_DROP_REGION = u"sw/res/sc20235.png";
inline constexpr OUStringLiteral RID_BMP_DROP_LINK = u"sw/res/sc20238.png";
inline constexpr OUStringLiteral RID_BMP_DROP_COPY = u"sw/res/sc20239.png";
diff --git a/sw/inc/strings.hrc b/sw/inc/strings.hrc
index b518a9bd7b0c..1c5dbf0c5bfe 100644
--- a/sw/inc/strings.hrc
+++ b/sw/inc/strings.hrc
@@ -371,7 +371,8 @@
#define STR_CONTENT_TYPE_INDEX NC_("STR_CONTENT_TYPE_INDEX", "Indexes")
#define STR_CONTENT_TYPE_DRAWOBJECT NC_("STR_CONTENT_TYPE_DRAWOBJECT", "Drawing objects")
#define STR_CONTENT_TYPE_TEXTFIELD NC_("STR_CONTENT_TYPE_TEXTFIELD", "Fields")
-#define STR_CONTENT_TYPE_FOOTNOTE NC_("STR_CONTENT_TYPE_FOOTNOTE", "Footnotes and Endnotes")
+#define STR_CONTENT_TYPE_FOOTNOTE NC_("STR_CONTENT_TYPE_FOOTNOTE", "Footnotes")
+#define STR_CONTENT_TYPE_ENDNOTE NC_("STR_CONTENT_TYPE_ENDNOTE", "Endnotes")
#define STR_CONTENT_TYPE_POSTIT NC_("STR_CONTENT_TYPE_POSTIT", "Comments")
#define STR_IDXEXAMPLE_IDXTXT_HEADING1 NC_("STR_IDXEXAMPLE_IDXTXT_HEADING1", "Chapter 1")
#define STR_IDXEXAMPLE_IDXTXT_ENTRY1 NC_("STR_IDXEXAMPLE_IDXTXT_ENTRY1", "This is the content from the first chapter. This is a user directory entry.")
@@ -401,7 +402,8 @@
#define STR_CONTENT_TYPE_SINGLE_POSTIT NC_("STR_CONTENT_TYPE_SINGLE_POSTIT", "Comment")
#define STR_CONTENT_TYPE_SINGLE_DRAWOBJECT NC_("STR_CONTENT_TYPE_SINGLE_DRAWOBJECT", "Draw object")
#define STR_CONTENT_TYPE_SINGLE_TEXTFIELD NC_("STR_CONTENT_TYPE_SINGLE_TEXTFIELD", "Field")
-#define STR_CONTENT_TYPE_SINGLE_FOOTNOTE NC_("STR_CONTENT_TYPE_SINGLE_FOOTNOTE", "Footnote or Endnote")
+#define STR_CONTENT_TYPE_SINGLE_FOOTNOTE NC_("STR_CONTENT_TYPE_SINGLE_FOOTNOTE", "Footnote")
+#define STR_CONTENT_TYPE_SINGLE_ENDNOTE NC_("STR_CONTENT_TYPE_SINGLE_ENDNOTE", "Endnote")
#define STR_CONTENT_FOOTNOTE NC_("STR_CONTENT_FOOTNOTE", "Footnote")
#define STR_CONTENT_ENDNOTE NC_("STR_CONTENT_ENDNOTE", "Endnote")
#define STR_FOOTNOTE_ENDNOTE_SEPARATOR_TIP NC_("STR_FOOTNOTE_ENDNOTE_SEPARATOR_TIP", "Footnotes are listed above this line and Endnotes are listed below")
diff --git a/sw/source/uibase/inc/swcont.hxx b/sw/source/uibase/inc/swcont.hxx
index 751c4549a484..a965b0fadbc6 100644
--- a/sw/source/uibase/inc/swcont.hxx
+++ b/sw/source/uibase/inc/swcont.hxx
@@ -42,7 +42,8 @@ enum class ContentTypeId
DRAWOBJECT = 11,
TEXTFIELD = 12,
FOOTNOTE = 13,
- LAST = FOOTNOTE,
+ ENDNOTE = 14,
+ LAST = ENDNOTE,
UNKNOWN = -1
};
diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx
index 44c02ffe2447..e9d4468d1df7 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -240,7 +240,8 @@ const TranslateId STR_CONTENT_TYPE_ARY[] =
STR_CONTENT_TYPE_POSTIT,
STR_CONTENT_TYPE_DRAWOBJECT,
STR_CONTENT_TYPE_TEXTFIELD,
- STR_CONTENT_TYPE_FOOTNOTE
+ STR_CONTENT_TYPE_FOOTNOTE,
+ STR_CONTENT_TYPE_ENDNOTE
};
const TranslateId STR_CONTENT_TYPE_SINGLE_ARY[] =
@@ -258,7 +259,8 @@ const TranslateId STR_CONTENT_TYPE_SINGLE_ARY[] =
STR_CONTENT_TYPE_SINGLE_POSTIT,
STR_CONTENT_TYPE_SINGLE_DRAWOBJECT,
STR_CONTENT_TYPE_SINGLE_TEXTFIELD,
- STR_CONTENT_TYPE_SINGLE_FOOTNOTE
+ STR_CONTENT_TYPE_SINGLE_FOOTNOTE,
+ STR_CONTENT_TYPE_SINGLE_ENDNOTE
};
namespace
@@ -341,6 +343,7 @@ SwContentType::SwContentType(SwWrtShell* pShell, ContentTypeId nType, sal_uInt8
m_bDelete = true;
break;
case ContentTypeId::FOOTNOTE:
+ case ContentTypeId::ENDNOTE:
m_bEdit = true;
m_bDelete = false;
break;
@@ -696,32 +699,33 @@ void SwContentType::FillMemberList(bool* pbContentChanged)
}
}
break;
+ // We will separate footnotes and endnotes here.
case ContentTypeId::FOOTNOTE:
+ case ContentTypeId::ENDNOTE:
{
const SwFootnoteIdxs& rFootnoteIdxs = m_pWrtShell->GetDoc()->GetFootnoteIdxs();
if (rFootnoteIdxs.size() == 0)
break;
- size_t nFootnoteCount = 0;
- for (const SwTextFootnote* pTextFootnote : rFootnoteIdxs)
- if (!pTextFootnote->GetFootnote().IsEndNote())
- ++nFootnoteCount;
- // insert a separator bar between footnote and endnote entries
- auto pSeparatorBar(make_unique<SwTextFootnoteContent>(this,
- "-------------------------------", nullptr, nFootnoteCount + 1));
- pSeparatorBar->SetInvisible();
- m_pMember->insert(std::move(pSeparatorBar));
// insert footnotes and endnotes
tools::Long nPos = 0;
for (const SwTextFootnote* pTextFootnote : rFootnoteIdxs)
{
- const SwFormatFootnote& rFormatFootnote = pTextFootnote->GetFootnote();
- const OUString& sText = rFormatFootnote.GetViewNumStr(*m_pWrtShell->GetDoc(),
- m_pWrtShell->GetLayout(), true) + " " + lcl_GetFootnoteText(*pTextFootnote);
- auto pCnt(make_unique<SwTextFootnoteContent>(this, sText, pTextFootnote,
- rFormatFootnote.IsEndNote() ? nPos + nFootnoteCount + 2 : ++nPos));
- if (!pTextFootnote->GetTextNode().getLayoutFrame(m_pWrtShell->GetLayout()))
- pCnt->SetInvisible();
- m_pMember->insert(std::move(pCnt));
+ if ((!pTextFootnote->GetFootnote().IsEndNote()
+ && m_nContentType == ContentTypeId::FOOTNOTE)
+ || (pTextFootnote->GetFootnote().IsEndNote()
+ && m_nContentType == ContentTypeId::ENDNOTE))
+ {
+ const SwFormatFootnote& rFormatFootnote = pTextFootnote->GetFootnote();
+ const OUString& sText
+ = rFormatFootnote.GetViewNumStr(*m_pWrtShell->GetDoc(),
+ m_pWrtShell->GetLayout(), true)
+ + " " + lcl_GetFootnoteText(*pTextFootnote);
+ auto pCnt(make_unique<SwTextFootnoteContent>(
+ this, sText, pTextFootnote, ++nPos));
+ if (!pTextFootnote->GetTextNode().getLayoutFrame(m_pWrtShell->GetLayout()))
+ pCnt->SetInvisible();
+ m_pMember->insert(std::move(pCnt));
+ }
}
}
break;
@@ -1555,6 +1559,7 @@ IMPL_LINK(SwContentTree, CommandHdl, const CommandEvent&, rCEvt, bool)
bool bRemoveDrawingObjectTracking = true;
bool bRemoveFieldTracking = true;
bool bRemoveFootnoteTracking = true;
+ bool bRemoveEndnoteTracking = true;
bool bRemoveSortEntry = true;
@@ -1568,7 +1573,8 @@ IMPL_LINK(SwContentTree, CommandHdl, const CommandEvent&, rCEvt, bool)
m_xTreeView->get_id(*xEntry))->GetParent();
const ContentTypeId nContentType = pType->GetType();
- if (nContentType != ContentTypeId::FOOTNOTE && nContentType != ContentTypeId::POSTIT)
+ if (nContentType != ContentTypeId::FOOTNOTE && nContentType != ContentTypeId::ENDNOTE
+ && nContentType != ContentTypeId::POSTIT)
{
bRemoveSortEntry = false;
xPop->set_active("sort", pType->GetSortType());
@@ -1629,6 +1635,10 @@ IMPL_LINK(SwContentTree, CommandHdl, const CommandEvent&, rCEvt, bool)
aIdent = "footnotetracking";
bRemoveFootnoteTracking = false;
break;
+ case ContentTypeId::ENDNOTE:
+ aIdent = "endnotetracking";
+ bRemoveEndnoteTracking = false;
+ break;
default: break;
}
if (!aIdent.isEmpty())
@@ -1658,7 +1668,7 @@ IMPL_LINK(SwContentTree, CommandHdl, const CommandEvent&, rCEvt, bool)
ContentTypeId::INDEX == nContentType ||
ContentTypeId::DRAWOBJECT == nContentType);
- if (ContentTypeId::FOOTNOTE == nContentType)
+ if (ContentTypeId::FOOTNOTE == nContentType || ContentTypeId::ENDNOTE == nContentType)
{
void* pUserData = weld::fromId<void*>(m_xTreeView->get_id(*xEntry));
const SwTextFootnote* pFootnote =
@@ -1872,7 +1882,8 @@ IMPL_LINK(SwContentTree, CommandHdl, const CommandEvent&, rCEvt, bool)
xPop->remove("fieldtracking");
if (bRemoveFootnoteTracking)
xPop->remove("footnotetracking");
-
+ if (bRemoveEndnoteTracking)
+ xPop->remove("endnotetracking");
if (bRemoveSortEntry)
xPop->remove("sort");
@@ -2246,6 +2257,9 @@ namespace
case ContentTypeId::FOOTNOTE:
sResId = RID_BMP_NAVI_FOOTNOTE;
break;
+ case ContentTypeId::ENDNOTE:
+ sResId = RID_BMP_NAVI_ENDNOTE;
+ break;
case ContentTypeId::UNKNOWN:
SAL_WARN("sw.ui", "ContentTypeId::UNKNOWN has no bitmap preview");
break;
@@ -3408,6 +3422,7 @@ static void lcl_SelectByContentTypeAndAddress(SwContentTree* pThis, weld::TreeVi
switch( nType )
{
case ContentTypeId::FOOTNOTE:
+ case ContentTypeId::ENDNOTE:
{
assert(dynamic_cast<SwTextFootnoteContent*>(static_cast<SwTypeNumber*>(pUserData)));
SwTextFootnoteContent* pCnt = static_cast<SwTextFootnoteContent*>(pUserData);
@@ -3670,12 +3685,17 @@ void SwContentTree::UpdateTracking()
}
// footnotes and endnotes
if (SwContentAtPos aContentAtPos(IsAttrAtPos::Ftn);
- m_pActiveShell->GetContentAtPos(m_pActiveShell->GetCursorDocPos(), aContentAtPos) &&
- !(m_bIsRoot && m_nRootType != ContentTypeId::FOOTNOTE))
+ m_pActiveShell->GetContentAtPos(m_pActiveShell->GetCursorDocPos(), aContentAtPos)
+ && !(m_bIsRoot
+ && (m_nRootType != ContentTypeId::FOOTNOTE
+ && m_nRootType != ContentTypeId::ENDNOTE)))
{
if (mTrackContentType[ContentTypeId::FOOTNOTE])
lcl_SelectByContentTypeAndAddress(this, *m_xTreeView, ContentTypeId::FOOTNOTE,
aContentAtPos.pFndTextAttr);
+ if (mTrackContentType[ContentTypeId::ENDNOTE])
+ lcl_SelectByContentTypeAndAddress(this, *m_xTreeView, ContentTypeId::ENDNOTE,
+ aContentAtPos.pFndTextAttr);
return;
}
// bookmarks - track first bookmark at cursor
@@ -4259,12 +4279,12 @@ IMPL_LINK(SwContentTree, QueryTooltipHdl, const weld::TreeIter&, rEntry, OUStrin
}
break;
case ContentTypeId::FOOTNOTE:
+ case ContentTypeId::ENDNOTE:
{
assert(dynamic_cast<SwTextFootnoteContent*>(static_cast<SwTypeNumber*>(pUserData)));
const SwTextFootnote* pFootnote =
static_cast<const SwTextFootnoteContent*>(pUserData)->GetTextFootnote();
- if (!pFootnote)
- return SwResId(STR_FOOTNOTE_ENDNOTE_SEPARATOR_TIP);
+
sEntry = pFootnote->GetFootnote().IsEndNote() ? SwResId(STR_CONTENT_ENDNOTE) :
SwResId(STR_CONTENT_FOOTNOTE);
}
@@ -4281,8 +4301,6 @@ IMPL_LINK(SwContentTree, QueryTooltipHdl, const weld::TreeIter&, rEntry, OUStrin
else
{
size_t nMemberCount = static_cast<SwContentType*>(pUserData)->GetMemberCount();
- if (nMemberCount && nType == ContentTypeId::FOOTNOTE)
- --nMemberCount; // account for horizontal footnote endnote separator entry
sEntry = OUString::number(nMemberCount) + " " +
(nMemberCount == 1
? static_cast<SwContentType*>(pUserData)->GetSingleName()
@@ -4326,7 +4344,8 @@ void SwContentTree::ExecuteContextMenuAction(const OString& rSelectedPopupEntry)
{"commenttracking", ContentTypeId::POSTIT},
{"drawingobjecttracking", ContentTypeId::DRAWOBJECT},
{"fieldtracking", ContentTypeId::TEXTFIELD},
- {"footnotetracking", ContentTypeId::FOOTNOTE}
+ {"footnotetracking", ContentTypeId::FOOTNOTE},
+ {"endnotetracking", ContentTypeId::ENDNOTE}
};
if (mPopupEntryToContentTypeId.count(rSelectedPopupEntry))
@@ -4943,6 +4962,7 @@ void SwContentTree::EditEntry(const weld::TreeIter& rEntry, EditEntryMode nMode)
nSlot = FN_NAME_SHAPE;
break;
case ContentTypeId::FOOTNOTE:
+ case ContentTypeId::ENDNOTE:
if (EditEntryMode::EDIT == nMode)
nSlot = FN_FORMAT_FOOTNOTE_DLG;
break;
@@ -5108,6 +5128,7 @@ void SwContentTree::GotoContent(const SwContent* pCnt)
}
break;
case ContentTypeId::FOOTNOTE:
+ case ContentTypeId::ENDNOTE:
{
const SwTextFootnote* pFootnote =
static_cast<const SwTextFootnoteContent*>(pCnt)->GetTextFootnote();
diff --git a/sw/source/uibase/utlui/navicfg.cxx b/sw/source/uibase/utlui/navicfg.cxx
index 2639c1ed52c6..0170a8f68a97 100644
--- a/sw/source/uibase/utlui/navicfg.cxx
+++ b/sw/source/uibase/utlui/navicfg.cxx
@@ -44,7 +44,8 @@ namespace {
{"CommentTracking", ContentTypeId::POSTIT},
{"DrawingObjectTracking", ContentTypeId::DRAWOBJECT},
{"FieldTracking", ContentTypeId::TEXTFIELD},
- {"FootnoteTracking", ContentTypeId::FOOTNOTE}
+ {"FootnoteTracking", ContentTypeId::FOOTNOTE},
+ {"EndnoteTracking", ContentTypeId::ENDNOTE}
};
}
@@ -72,6 +73,7 @@ Sequence<OUString> SwNavigationConfig::GetPropertyNames()
OUString("DrawingObjectTracking"),
OUString("FieldTracking"),
OUString("FootnoteTracking"),
+ OUString("EndnoteTracking"),
OUString("NavigateOnSelect")};
}
@@ -137,13 +139,13 @@ void SwNavigationConfig::Load()
case 6: m_bIsGlobalActive = *o3tl::doAccess<bool>(pValues[nProp]); break;
case 7: pValues[nProp] >>= m_nOutlineTracking; break;
case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16:
- case 17: case 18: case 19: case 20:
+ case 17: case 18: case 19: case 20: case 21:
{
mContentTypeTrack[mPropNameToContentTypeId[aNames[nProp]]] =
*o3tl::doAccess<bool>(pValues[nProp]);
break;
}
- case 21: m_bIsNavigateOnSelect = *o3tl::doAccess<bool>(pValues[nProp]); break;
+ case 22: m_bIsNavigateOnSelect = *o3tl::doAccess<bool>(pValues[nProp]); break;
}
}
}
@@ -172,12 +174,12 @@ void SwNavigationConfig::ImplCommit()
case 6: pValues[nProp] <<= m_bIsGlobalActive; break;
case 7: pValues[nProp] <<= m_nOutlineTracking; break;
case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16:
- case 17: case 18: case 19: case 20:
+ case 17: case 18: case 19: case 20: case 21:
{
pValues[nProp] <<= mContentTypeTrack[mPropNameToContentTypeId[aNames[nProp]]];
break;
}
- case 21: pValues[nProp] <<= m_bIsNavigateOnSelect; break;
+ case 22: pValues[nProp] <<= m_bIsNavigateOnSelect; break;
}
}
PutProperties(aNames, aValues);
diff --git a/sw/uiconfig/swriter/ui/navigatorcontextmenu.ui b/sw/uiconfig/swriter/ui/navigatorcontextmenu.ui
index d7619e643fd0..7a2c972df971 100644
--- a/sw/uiconfig/swriter/ui/navigatorcontextmenu.ui
+++ b/sw/uiconfig/swriter/ui/navigatorcontextmenu.ui
@@ -324,6 +324,14 @@
</object>
</child>
<child>
+ <object class="GtkCheckMenuItem" id="endnotetracking">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="label" translatable="yes" context="navigatorcontextmenu|STR_ENDNOTE_TRACKING">Endnote Tracking</property>
+ <property name="use-underline">True</property>
+ </object>
+ </child>
+ <child>
<object class="GtkCheckMenuItem" id="sort">
<property name="visible">True</property>
<property name="can-focus">False</property>