sw/source/uibase/misc/redlndlg.cxx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
New commits: commit d16ac2a8ed46bdc0f20d49850b9c4989697acd49 Author: Jim Raykowski <rayk...@gmail.com> AuthorDate: Sun Jul 14 09:59:48 2024 -0800 Commit: Jim Raykowski <rayk...@gmail.com> CommitDate: Mon Jul 15 06:25:47 2024 +0200 Resolves tdf#162018 Unexpected loss in focus in the "Manage Changes" window when adding a change in the document (Track changes mode) Change-Id: Iecb49346cfe5d4f447b07ec5451c753c90dddb44 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170460 Tested-by: Jenkins Reviewed-by: Jim Raykowski <rayk...@gmail.com> diff --git a/sw/source/uibase/misc/redlndlg.cxx b/sw/source/uibase/misc/redlndlg.cxx index 26b40b917e50..178c2bc0f2e5 100644 --- a/sw/source/uibase/misc/redlndlg.cxx +++ b/sw/source/uibase/misc/redlndlg.cxx @@ -413,6 +413,10 @@ void SwRedlineAcceptDlg::Activate() if (!pSh) return; + // tdf#162018 keep the selected entry selected + weld::TreeView& rTreeView = m_pTable->GetWidget(); + const OUString& rId = rTreeView.get_selected_id(); + SwRedlineTable::size_type nCount = pSh->GetRedlineCount(); // check the number of pointers @@ -477,7 +481,6 @@ void SwRedlineAcceptDlg::Activate() } // check comment - weld::TreeView& rTreeView = m_pTable->GetWidget(); bool bIsShowChangesInMargin = SW_MOD()->GetUsrPref(false)->IsShowChangesInMargin(); for (SwRedlineTable::size_type i = 0; i < nCount; i++) { @@ -501,6 +504,12 @@ void SwRedlineAcceptDlg::Activate() } InitAuthors(); + + // tdf#162018 keep the selected entry selected + rTreeView.select_id(rId); + std::unique_ptr<weld::TreeIter> xEntry(rTreeView.make_iterator()); + if (rTreeView.get_selected(xEntry.get())) + rTreeView.set_cursor(*xEntry); } void SwRedlineAcceptDlg::Notify(SfxBroadcaster& /*rBC*/, const SfxHint& rHint)