summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrafaelhlima <rafael.palma.lima@gmail.com>2022-01-18 11:25:59 -0300
committerRafael Lima <rafael.palma.lima@gmail.com>2022-01-24 18:16:09 +0100
commit2e1a38ceb6866248ec30f6fe58cd3adc1b910eec (patch)
treec00cd2f96a31995b04a16fcdf7adf1bf5783639f
parent7679820af5739d3b6d5de0c4cb771d081407f406 (diff)
tdf#146893 Rework Manage Changes dialog
This patch reworks the "Manage Changes" dialog (In Writer, Edit > Track Changes > Manage) so that the buttons "Accept", "Accept all", "Reject", "Reject all" and "Undo" only appear in the List tab, since they're not needed in the Filter tab. A help button is also added and HID constants are defined for both tabs. Change-Id: I12da7811635dfc142d5d0a66d3275d3d170692e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128563 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
-rw-r--r--include/svx/ctredlin.hxx6
-rw-r--r--sc/source/ui/miscdlgs/acredlin.cxx2
-rw-r--r--svx/inc/helpids.h4
-rw-r--r--svx/source/dialog/ctredlin.cxx62
-rw-r--r--svx/uiconfig/ui/acceptrejectchangesdialog.ui192
-rw-r--r--svx/uiconfig/ui/redlineviewpage.ui214
-rw-r--r--sw/inc/helpids.h2
-rw-r--r--sw/source/uibase/misc/redlndlg.cxx3
8 files changed, 239 insertions, 246 deletions
diff --git a/include/svx/ctredlin.hxx b/include/svx/ctredlin.hxx
index 57059f8e249a..ed12b6d10f9f 100644
--- a/include/svx/ctredlin.hxx
+++ b/include/svx/ctredlin.hxx
@@ -274,7 +274,6 @@ private:
bool bEnableClearFormat;
bool bEnableClearFormatAll;
- weld::Window* m_pDialog;
std::unique_ptr<weld::Button> m_xAccept;
std::unique_ptr<weld::Button> m_xReject;
std::unique_ptr<weld::Button> m_xAcceptAll;
@@ -284,9 +283,8 @@ private:
DECL_DLLPRIVATE_LINK( PbClickHdl, weld::Button&, void );
- void EnableClearFormatButton(weld::Button&, bool bFlag);
public:
- SvxTPView(weld::Container* pParent, weld::Window* pDialog, weld::Builder* pTopLevel);
+ SvxTPView(weld::Container* pParent);
virtual ~SvxTPView() override;
SvxRedlinTable* GetTableControl() { return m_xViewData.get(); }
@@ -329,7 +327,7 @@ private:
DECL_DLLPRIVATE_LINK(DeactivatePageHdl, const OString&, bool);
public:
- SvxAcceptChgCtr(weld::Container* pParent, weld::Window* pDialog, weld::Builder* pTopLevel);
+ SvxAcceptChgCtr(weld::Container* pParent);
~SvxAcceptChgCtr();
void ShowFilterPage();
diff --git a/sc/source/ui/miscdlgs/acredlin.cxx b/sc/source/ui/miscdlgs/acredlin.cxx
index 1d0ab68a3313..cec8465ae93e 100644
--- a/sc/source/ui/miscdlgs/acredlin.cxx
+++ b/sc/source/ui/miscdlgs/acredlin.cxx
@@ -99,7 +99,7 @@ ScAcceptChgDlg::ScAcceptChgDlg(SfxBindings* pB, SfxChildWindow* pCW, weld::Windo
, m_xPopup(m_xBuilder->weld_menu("calcmenu"))
, m_xSortMenu(m_xBuilder->weld_menu("calcsortmenu"))
{
- m_xAcceptChgCtr.reset(new SvxAcceptChgCtr(m_xContentArea.get(), m_xDialog.get(), m_xBuilder.get()));
+ m_xAcceptChgCtr.reset(new SvxAcceptChgCtr(m_xContentArea.get()));
nAcceptCount=0;
nRejectCount=0;
aReOpenIdle.SetInvokeHandler(LINK( this, ScAcceptChgDlg, ReOpenTimerHdl ));
diff --git a/svx/inc/helpids.h b/svx/inc/helpids.h
index cd7f3e1281c7..625cc4304059 100644
--- a/svx/inc/helpids.h
+++ b/svx/inc/helpids.h
@@ -57,6 +57,10 @@ inline constexpr OStringLiteral HID_GRID_TRAVEL_NEW = "SVX_HID_GRID_TRAVEL_NEW";
inline constexpr OStringLiteral HID_GRID_TRAVEL_ABSOLUTE = "SVX_HID_GRID_TRAVEL_ABSOLUTE";
inline constexpr OStringLiteral HID_GRID_NUMBEROFRECORDS = "SVX_HID_GRID_NUMBEROFRECORDS";
+// Help IDs for Manage Track Changes
+inline constexpr OStringLiteral HID_REDLINE_CTRL_VIEW = "SVX_HID_REDLINE_CTRL_VIEW";
+inline constexpr OStringLiteral HID_REDLINE_CTRL_FILTER = "SVX_HID_REDLINE_CTRL_FILTER";
+
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/dialog/ctredlin.cxx b/svx/source/dialog/ctredlin.cxx
index 02046957ae5b..3ce4e81bb8e7 100644
--- a/svx/source/dialog/ctredlin.cxx
+++ b/svx/source/dialog/ctredlin.cxx
@@ -27,6 +27,8 @@
#include <svtools/ctrlbox.hxx>
#include <unotools/textsearch.hxx>
+#include <helpids.h>
+
#include <svx/ctredlin.hxx>
#include <svx/dialmgr.hxx>
#include <svx/strings.hrc>
@@ -298,7 +300,7 @@ void SvxTPage::ActivatePage()
{
}
-SvxTPView::SvxTPView(weld::Container* pParent, weld::Window* pDialog, weld::Builder* pTopLevel)
+SvxTPView::SvxTPView(weld::Container* pParent)
: SvxTPage(pParent, "svx/ui/redlineviewpage.ui", "RedlineViewPage")
, bEnableAccept(true)
, bEnableAcceptAll(true)
@@ -307,18 +309,14 @@ SvxTPView::SvxTPView(weld::Container* pParent, weld::Window* pDialog, weld::Buil
, bEnableUndo(true)
, bEnableClearFormat(false)
, bEnableClearFormatAll(false)
- , m_pDialog(pDialog)
- , m_xAccept(pTopLevel->weld_button("accept"))
- , m_xReject(pTopLevel->weld_button("reject"))
- , m_xAcceptAll(pTopLevel->weld_button("acceptall"))
- , m_xRejectAll(pTopLevel->weld_button("rejectall"))
- , m_xUndo(pTopLevel->weld_button("undo"))
+ , m_xAccept(m_xBuilder->weld_button("accept"))
+ , m_xReject(m_xBuilder->weld_button("reject"))
+ , m_xAcceptAll(m_xBuilder->weld_button("acceptall"))
+ , m_xRejectAll(m_xBuilder->weld_button("rejectall"))
+ , m_xUndo(m_xBuilder->weld_button("undo"))
, m_xViewData(new SvxRedlinTable(m_xBuilder->weld_tree_view("writerchanges"),
m_xBuilder->weld_tree_view("calcchanges")))
{
- Size aControlSize(80, 65);
- m_xViewData->set_size_request(aControlSize.Width(), aControlSize.Height());
-
Link<weld::Button&,void> aLink=LINK( this, SvxTPView, PbClickHdl);
m_xAccept->connect_clicked(aLink);
@@ -366,6 +364,7 @@ void SvxRedlinTable::SetWriterView()
o3tl::narrowing<int>(nDigitWidth * 20)
};
pTreeView->set_column_fixed_widths(aWidths);
+ pTreeView->set_size_request(400, -1);
}
void SvxRedlinTable::SetCalcView()
@@ -385,6 +384,7 @@ void SvxRedlinTable::SetCalcView()
o3tl::narrowing<int>(nDigitWidth * 20)
};
pTreeView->set_column_fixed_widths(aWidths);
+ pTreeView->set_size_request(400, -1);
}
void SvxTPView::EnableAccept(bool bFlag)
@@ -411,40 +411,10 @@ void SvxTPView::EnableRejectAll(bool bFlag)
m_xRejectAll->set_sensitive(bFlag);
}
-void SvxTPView::EnableClearFormatButton(weld::Button& rButton, bool bFlag)
-{
- OUString sText = rButton.get_label();
- OUString sClearFormat = SvxResId(RID_SVXSTR_CLEARFORM);
- sal_Int32 nPos = sText.indexOf(sClearFormat);
-
- // add or remove "Clear formatting" to get "Reject" or "Reject/Clear formatting"
- if (bFlag)
- {
- if (nPos == -1)
- {
- rButton.set_label(sText + "/" + sClearFormat);
- }
- }
- else
- {
- if (nPos > 0)
- {
- rButton.set_label(sText.copy(0, nPos - 1));
- }
- }
-
- if (m_pDialog)
- {
- // tdf#127218 allow dialog to shrink
- m_pDialog->resize_to_request();
- }
-}
-
void SvxTPView::EnableClearFormat(bool bFlag)
{
if (bEnableClearFormat == bFlag)
return;
- EnableClearFormatButton(*m_xReject, bFlag);
bEnableClearFormat = bFlag;
}
@@ -452,7 +422,6 @@ void SvxTPView::EnableClearFormatAll(bool bFlag)
{
if (bEnableClearFormatAll == bFlag)
return;
- EnableClearFormatButton(*m_xRejectAll, bFlag);
bEnableClearFormatAll = bFlag;
}
@@ -991,7 +960,7 @@ IMPL_LINK_NOARG(SvxTPFilter, RefHandle, weld::Button&, void)
aRefLink.Call(this);
}
-SvxAcceptChgCtr::SvxAcceptChgCtr(weld::Container* pParent, weld::Window* pDialog, weld::Builder* pTopLevel)
+SvxAcceptChgCtr::SvxAcceptChgCtr(weld::Container* pParent)
: m_xBuilder(Application::CreateBuilder(pParent, "svx/ui/redlinecontrol.ui"))
, m_xTabCtrl(m_xBuilder->weld_notebook("tabcontrol"))
{
@@ -999,9 +968,10 @@ SvxAcceptChgCtr::SvxAcceptChgCtr(weld::Container* pParent, weld::Window* pDialog
m_xTabCtrl->connect_leave_page(LINK(this, SvxAcceptChgCtr, DeactivatePageHdl));
m_xTPFilter.reset(new SvxTPFilter(m_xTabCtrl->get_page("filter")));
- m_xTPView.reset(new SvxTPView(m_xTabCtrl->get_page("view"), pDialog, pTopLevel));
+ m_xTPView.reset(new SvxTPView(m_xTabCtrl->get_page("view")));
m_xTPFilter->SetRedlinTable(m_xTPView->GetTableControl());
m_xTabCtrl->set_current_page("view");
+ m_xTabCtrl->set_help_id(HID_REDLINE_CTRL_VIEW);
m_xTabCtrl->show();
}
@@ -1019,9 +989,15 @@ void SvxAcceptChgCtr::ShowFilterPage()
IMPL_LINK(SvxAcceptChgCtr, ActivatePageHdl, const OString&, rPage, void)
{
if (rPage == "filter")
+ {
m_xTPFilter->ActivatePage();
+ m_xTabCtrl->set_help_id(HID_REDLINE_CTRL_FILTER);
+ }
else if (rPage == "view")
+ {
m_xTPView->ActivatePage();
+ m_xTabCtrl->set_help_id(HID_REDLINE_CTRL_VIEW);
+ }
}
IMPL_LINK(SvxAcceptChgCtr, DeactivatePageHdl, const OString&, rPage, bool)
diff --git a/svx/uiconfig/ui/acceptrejectchangesdialog.ui b/svx/uiconfig/ui/acceptrejectchangesdialog.ui
index 9b48a6bbe9b7..58d1e10bdfcb 100644
--- a/svx/uiconfig/ui/acceptrejectchangesdialog.ui
+++ b/svx/uiconfig/ui/acceptrejectchangesdialog.ui
@@ -1,35 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.36.0 -->
+<!-- Generated with glade 3.38.2 -->
<interface domain="svx">
<requires lib="gtk+" version="3.20"/>
<object class="GtkDialog" id="AcceptRejectChangesDialog">
- <property name="can_focus">False</property>
- <property name="border_width">6</property>
+ <property name="can-focus">False</property>
+ <property name="border-width">6</property>
<property name="title" translatable="yes" context="acceptrejectchangesdialog|AcceptRejectChangesDialog">Manage Changes</property>
- <property name="default_width">0</property>
- <property name="default_height">0</property>
- <property name="type_hint">dialog</property>
+ <property name="default-width">0</property>
+ <property name="default-height">0</property>
+ <property name="type-hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area1">
- <property name="can_focus">False</property>
- <property name="layout_style">end</property>
+ <property name="can-focus">False</property>
+ <property name="layout-style">end</property>
<child>
- <object class="GtkButton" id="accept">
- <property name="label" translatable="yes" context="acceptrejectchangesdialog|accept">_Accept</property>
+ <object class="GtkButton" id="help">
+ <property name="label" translatable="yes" context="stock">_Help</property>
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="accept-atkobject">
- <property name="AtkObject::accessible-description" translatable="yes" context="acceptrejectchangesdialog|extended_tip|accept">Accepts the selected change and removes the highlighting from the change in the document.</property>
- </object>
- </child>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="use-underline">True</property>
</object>
<packing>
<property name="expand">False</property>
@@ -39,93 +34,13 @@
</packing>
</child>
<child>
- <object class="GtkButton" id="reject">
- <property name="label" translatable="yes" context="acceptrejectchangesdialog|reject">_Reject</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="reject-atkobject">
- <property name="AtkObject::accessible-description" translatable="yes" context="acceptrejectchangesdialog|extended_tip|reject">Rejects the selected change and removes the highlighting from the change in the document.</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- <property name="secondary">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="acceptall">
- <property name="label" translatable="yes" context="acceptrejectchangesdialog|acceptall">A_ccept All</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="acceptall-atkobject">
- <property name="AtkObject::accessible-description" translatable="yes" context="acceptrejectchangesdialog|extended_tip|acceptall">Accepts all of the changes and removes the highlighting from the document.</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- <property name="secondary">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="rejectall">
- <property name="label" translatable="yes" context="acceptrejectchangesdialog|rejectall">R_eject All</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="rejectall-atkobject">
- <property name="AtkObject::accessible-description" translatable="yes" context="acceptrejectchangesdialog|extended_tip|rejectall">Rejects all of the changes and removes the highlighting from the document.</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- <property name="secondary">True</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="undo">
- <property name="label" translatable="yes" context="acceptrejectchangesdialog|undo">_Undo</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="no_show_all">True</property>
- <property name="use_underline">True</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="undo-atkobject">
- <property name="AtkObject::accessible-description" translatable="yes" context="acceptrejectchangesdialog|extended_tip|undo">Reverse the last Accept or Reject command.</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">4</property>
- <property name="secondary">True</property>
- </packing>
- </child>
- <child>
<object class="GtkButton" id="close">
<property name="label" translatable="yes" context="stock">_Close</property>
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="can_default">True</property>
- <property name="has_default">True</property>
- <property name="receives_default">True</property>
+ <property name="can-focus">True</property>
+ <property name="can-default">True</property>
+ <property name="has-default">True</property>
+ <property name="receives-default">True</property>
<property name="use-underline">True</property>
</object>
<packing>
@@ -138,7 +53,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="pack_type">end</property>
+ <property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
@@ -148,24 +63,17 @@
</object>
</child>
<action-widgets>
- <action-widget response="105">accept</action-widget>
- <action-widget response="104">reject</action-widget>
- <action-widget response="103">acceptall</action-widget>
- <action-widget response="102">rejectall</action-widget>
- <action-widget response="101">undo</action-widget>
+ <action-widget response="-11">help</action-widget>
<action-widget response="-7">close</action-widget>
</action-widgets>
- <child type="titlebar">
- <placeholder/>
- </child>
</object>
<object class="GtkMenu" id="calcmenu">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<child>
<object class="GtkMenuItem" id="calcedit">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|calcedit">Edit Comment...</property>
<child internal-child="accessible">
<object class="AtkObject" id="calcedit-atkobject">
@@ -177,54 +85,54 @@
<child>
<object class="GtkMenuItem" id="calcsort">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|calcsort">Sorting</property>
- <property name="use_underline">True</property>
+ <property name="use-underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="calcsortmenu">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<child>
<object class="GtkRadioMenuItem" id="calcsort0">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|calcaction">Action</property>
- <property name="use_underline">True</property>
+ <property name="use-underline">True</property>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="calcsort1">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|calcposition">Position</property>
- <property name="use_underline">True</property>
+ <property name="use-underline">True</property>
<property name="group">calcsort0</property>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="calcsort2">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|calcauthor">Author</property>
- <property name="use_underline">True</property>
+ <property name="use-underline">True</property>
<property name="group">calcsort0</property>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="calcsort3">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|calcdate">Date</property>
- <property name="use_underline">True</property>
+ <property name="use-underline">True</property>
<property name="group">calcsort0</property>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="calcsort4">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|calcdesc">Description</property>
- <property name="use_underline">True</property>
+ <property name="use-underline">True</property>
<property name="group">calcsort0</property>
</object>
</child>
@@ -235,11 +143,11 @@
</object>
<object class="GtkMenu" id="writermenu">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<child>
<object class="GtkMenuItem" id="writeredit">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|writeredit">Edit Comment...</property>
<child internal-child="accessible">
<object class="AtkObject" id="writeredit-atkobject">
@@ -251,54 +159,54 @@
<child>
<object class="GtkMenuItem" id="writersort">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|writersort">Sort By</property>
- <property name="use_underline">True</property>
+ <property name="use-underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="writersortmenu">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<child>
<object class="GtkRadioMenuItem" id="writersort0">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|writeraction">Action</property>
- <property name="use_underline">True</property>
+ <property name="use-underline">True</property>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="writersort1">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|writerauthor">Author</property>
- <property name="use_underline">True</property>
+ <property name="use-underline">True</property>
<property name="group">writersort0</property>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="writersort2">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|writerdate">Date</property>
- <property name="use_underline">True</property>
+ <property name="use-underline">True</property>
<property name="group">writersort0</property>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="writersort3">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|writerdesc">Comment</property>
- <property name="use_underline">True</property>
+ <property name="use-underline">True</property>
<property name="group">writersort0</property>
</object>
</child>
<child>
<object class="GtkRadioMenuItem" id="writersort4">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="label" translatable="yes" context="acceptrejectchangesdialog|writerposition">Document Position</property>
- <property name="use_underline">True</property>
+ <property name="use-underline">True</property>
<property name="group">writersort0</property>
</object>
</child>
diff --git a/svx/uiconfig/ui/redlineviewpage.ui b/svx/uiconfig/ui/redlineviewpage.ui
index 263fb2b6932e..ee49056c02c8 100644
--- a/svx/uiconfig/ui/redlineviewpage.ui
+++ b/svx/uiconfig/ui/redlineviewpage.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.36.0 -->
+<!-- Generated with glade 3.38.2 -->
<interface domain="svx">
<requires lib="gtk+" version="3.20"/>
<object class="GtkTreeStore" id="liststore1">
@@ -40,66 +40,57 @@
</object>
<object class="GtkBox" id="RedlineViewPage">
<property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
- <property name="border_width">6</property>
+ <property name="border-width">6</property>
<property name="orientation">vertical</property>
+ <property name="spacing">12</property>
<child>
<object class="GtkScrolledWindow">
- <property name="can_focus">True</property>
+ <property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
- <property name="shadow_type">in</property>
+ <property name="shadow-type">in</property>
<child>
- <object class="GtkTreeView" id="calcchanges">
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
+ <object class="GtkTreeView" id="writerchanges">
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
- <property name="model">liststore1</property>
- <property name="search_column">0</property>
+ <property name="model">liststore2</property>
+ <property name="search-column">0</property>
<child internal-child="selection">
- <object class="GtkTreeSelection" id="Macro Library List-selection1"/>
+ <object class="GtkTreeSelection" id="Macro Library List-selection2"/>
</child>
<child>
- <object class="GtkTreeViewColumn" id="treeviewcolumn0">
+ <object class="GtkTreeViewColumn" id="treeviewcolumn00">
<property name="resizable">True</property>
<property name="spacing">6</property>
<property name="title" translatable="yes" context="redlineviewpage|action">Action</property>
<property name="clickable">True</property>
<child>
- <object class="GtkCellRendererText" id="cellrenderer0"/>
+ <object class="GtkCellRendererPixbuf" id="cellrenderertext45"/>
<attributes>
- <attribute name="text">0</attribute>
- <attribute name="foreground-rgba">6</attribute>
+ <attribute name="pixbuf">0</attribute>
</attributes>
</child>
- </object>
- </child>
- <child>
- <object class="GtkTreeViewColumn" id="treeviewcolumn1">
- <property name="resizable">True</property>
- <property name="spacing">6</property>
- <property name="title" translatable="yes" context="redlineviewpage|position">Position</property>
- <property name="clickable">True</property>
<child>
- <object class="GtkCellRendererText" id="cellrenderer1"/>
+ <object class="GtkCellRendererText" id="cellrenderertext25"/>
<attributes>
<attribute name="text">1</attribute>
- <attribute name="foreground-rgba">6</attribute>
</attributes>
</child>
</object>
</child>
<child>
- <object class="GtkTreeViewColumn" id="treeviewcolumn2">
+ <object class="GtkTreeViewColumn" id="treeviewcolumn20">
<property name="resizable">True</property>
<property name="spacing">6</property>
<property name="title" translatable="yes" context="redlineviewpage|author">Author</property>
<property name="clickable">True</property>
<child>
- <object class="GtkCellRendererText" id="cellrenderer2"/>
+ <object class="GtkCellRendererText" id="cellrenderer29"/>
<attributes>
<attribute name="text">2</attribute>
<attribute name="foreground-rgba">6</attribute>
@@ -108,13 +99,13 @@
</object>
</child>
<child>
- <object class="GtkTreeViewColumn" id="treeviewcolumn3">
+ <object class="GtkTreeViewColumn" id="treeviewcolumn30">
<property name="resizable">True</property>
<property name="spacing">6</property>
<property name="title" translatable="yes" context="redlineviewpage|date">Date</property>
<property name="clickable">True</property>
<child>
- <object class="GtkCellRendererText" id="cellrenderer3"/>
+ <object class="GtkCellRendererText" id="cellrenderer39"/>
<attributes>
<attribute name="text">3</attribute>
<attribute name="foreground-rgba">6</attribute>
@@ -123,13 +114,13 @@
</object>
</child>
<child>
- <object class="GtkTreeViewColumn" id="treeviewcolumn4">
+ <object class="GtkTreeViewColumn" id="treeviewcolumn40">
<property name="resizable">True</property>
<property name="spacing">6</property>
<property name="title" translatable="yes" context="redlineviewpage|comment">Comment</property>
<property name="clickable">True</property>
<child>
- <object class="GtkCellRendererText" id="cellrenderer4"/>
+ <object class="GtkCellRendererText" id="cellrenderer49"/>
<attributes>
<attribute name="text">4</attribute>
<attribute name="foreground-rgba">6</attribute>
@@ -141,61 +132,71 @@
</child>
<child internal-child="accessible">
<object class="AtkObject">
- <property name="AtkObject::accessible-name" translatable="yes" context="redlineviewpage|calcchanges-atkobject">Changes</property>
+ <property name="AtkObject::accessible-name" translatable="yes" context="redlineviewpage|writerchanges-atkobject">Changes</property>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
- <property name="can_focus">True</property>
+ <property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
- <property name="shadow_type">in</property>
+ <property name="shadow-type">in</property>
<child>
- <object class="GtkTreeView" id="writerchanges">
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
+ <object class="GtkTreeView" id="calcchanges">
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
- <property name="model">liststore2</property>
- <property name="search_column">0</property>
+ <property name="model">liststore1</property>
+ <property name="search-column">0</property>
<child internal-child="selection">
- <object class="GtkTreeSelection" id="Macro Library List-selection2"/>
+ <object class="GtkTreeSelection" id="Macro Library List-selection1"/>
</child>
<child>
- <object class="GtkTreeViewColumn" id="treeviewcolumn00">
+ <object class="GtkTreeViewColumn" id="treeviewcolumn0">
<property name="resizable">True</property>
<property name="spacing">6</property>
<property name="title" translatable="yes" context="redlineviewpage|action">Action</property>
<property name="clickable">True</property>
<child>
- <object class="GtkCellRendererPixbuf" id="cellrenderertext45"/>
+ <object class="GtkCellRendererText" id="cellrenderer0"/>
<attributes>
- <attribute name="pixbuf">0</attribute>
+ <attribute name="text">0</attribute>
+ <attribute name="foreground-rgba">6</attribute>
</attributes>
</child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn" id="treeviewcolumn1">
+ <property name="resizable">True</property>
+ <property name="spacing">6</property>
+ <property name="title" translatable="yes" context="redlineviewpage|position">Position</property>
+ <property name="clickable">True</property>
<child>
- <object class="GtkCellRendererText" id="cellrenderertext25"/>
+ <object class="GtkCellRendererText" id="cellrenderer1"/>
<attributes>
<attribute name="text">1</attribute>
+ <attribute name="foreground-rgba">6</attribute>
</attributes>
</child>
</object>
</child>
<child>
- <object class="GtkTreeViewColumn" id="treeviewcolumn20">
+ <object class="GtkTreeViewColumn" id="treeviewcolumn2">
<property name="resizable">True</property>
<property name="spacing">6</property>
<property name="title" translatable="yes" context="redlineviewpage|author">Author</property>
<property name="clickable">True</property>
<child>
- <object class="GtkCellRendererText" id="cellrenderer29"/>
+ <object class="GtkCellRendererText" id="cellrenderer2"/>
<attributes>
<attribute name="text">2</attribute>
<attribute name="foreground-rgba">6</attribute>
@@ -204,13 +205,13 @@
</object>
</child>
<child>
- <object class="GtkTreeViewColumn" id="treeviewcolumn30">
+ <object class="GtkTreeViewColumn" id="treeviewcolumn3">
<property name="resizable">True</property>
<property name="spacing">6</property>
<property name="title" translatable="yes" context="redlineviewpage|date">Date</property>
<property name="clickable">True</property>
<child>
- <object class="GtkCellRendererText" id="cellrenderer39"/>
+ <object class="GtkCellRendererText" id="cellrenderer3"/>
<attributes>
<attribute name="text">3</attribute>
<attribute name="foreground-rgba">6</attribute>
@@ -219,13 +220,13 @@
</object>
</child>
<child>
- <object class="GtkTreeViewColumn" id="treeviewcolumn40">
+ <object class="GtkTreeViewColumn" id="treeviewcolumn4">
<property name="resizable">True</property>
<property name="spacing">6</property>
<property name="title" translatable="yes" context="redlineviewpage|comment">Comment</property>
<property name="clickable">True</property>
<child>
- <object class="GtkCellRendererText" id="cellrenderer49"/>
+ <object class="GtkCellRendererText" id="cellrenderer4"/>
<attributes>
<attribute name="text">4</attribute>
<attribute name="foreground-rgba">6</attribute>
@@ -237,7 +238,7 @@
</child>
<child internal-child="accessible">
<object class="AtkObject">
- <property name="AtkObject::accessible-name" translatable="yes" context="redlineviewpage|writerchanges-atkobject">Changes</property>
+ <property name="AtkObject::accessible-name" translatable="yes" context="redlineviewpage|calcchanges-atkobject">Changes</property>
</object>
</child>
</object>
@@ -247,6 +248,115 @@
<property name="position">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkButtonBox" id="button_box_1">
+ <property name="visible">True</property>
+ <property name="can-focus">False</property>
+ <property name="spacing">3</property>
+ <property name="homogeneous">True</property>
+ <property name="layout-style">start</property>
+ <child>
+ <object class="GtkButton" id="accept">
+ <property name="label" translatable="yes" context="acceptrejectchangesdialog|accept">_Accept</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="use-underline">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="accept-atkobject">
+ <property name="AtkObject::accessible-description" translatable="yes" context="acceptrejectchangesdialog|extended_tip|accept">Accepts the selected change and removes the highlighting from the change in the document.</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="reject">
+ <property name="label" translatable="yes" context="acceptrejectchangesdialog|reject">_Reject</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="use-underline">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="reject-atkobject">
+ <property name="AtkObject::accessible-description" translatable="yes" context="acceptrejectchangesdialog|extended_tip|reject">Rejects the selected change and removes the highlighting from the change in the document.</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="acceptall">
+ <property name="label" translatable="yes" context="acceptrejectchangesdialog|acceptall">A_ccept All</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="use-underline">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="acceptall-atkobject">
+ <property name="AtkObject::accessible-description" translatable="yes" context="acceptrejectchangesdialog|extended_tip|acceptall">Accepts all of the changes and removes the highlighting from the document.</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="rejectall">
+ <property name="label" translatable="yes" context="acceptrejectchangesdialog|rejectall">R_eject All</property>
+ <property name="visible">True</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="use-underline">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="rejectall-atkobject">
+ <property name="AtkObject::accessible-description" translatable="yes" context="acceptrejectchangesdialog|extended_tip|rejectall">Rejects all of the changes and removes the highlighting from the document.</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="undo">
+ <property name="label" translatable="yes" context="acceptrejectchangesdialog|undo">_Undo</property>
+ <property name="can-focus">True</property>
+ <property name="receives-default">True</property>
+ <property name="no-show-all">True</property>
+ <property name="use-underline">True</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="undo-atkobject">
+ <property name="AtkObject::accessible-description" translatable="yes" context="acceptrejectchangesdialog|extended_tip|undo">Reverse the last Accept or Reject command.</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">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
<child internal-child="accessible">
<object class="AtkObject" id="RedlineViewPage-atkobject">
<property name="AtkObject::accessible-description" translatable="yes" context="redlineviewpage|extended_tip|RedlineViewPage">Accept or reject individual changes.</property>
diff --git a/sw/inc/helpids.h b/sw/inc/helpids.h
index c5fa052b817a..65c49e22f311 100644
--- a/sw/inc/helpids.h
+++ b/sw/inc/helpids.h
@@ -37,8 +37,6 @@ inline constexpr OStringLiteral HID_NAVIGATOR_GLOB_TREELIST = "SW_HID_NAVIGATOR_
// TabPage Help-IDs
-inline constexpr OStringLiteral HID_REDLINE_CTRL = "SW_HID_REDLINE_CTRL";
-
inline constexpr OStringLiteral HID_LINGU_AUTOCORR = "SW_HID_LINGU_AUTOCORR";
inline constexpr OStringLiteral HID_LINGU_REPLACE = "SW_HID_LINGU_REPLACE";
inline constexpr OStringLiteral HID_LINGU_IGNORE_SELECTION = "SW_HID_LINGU_IGNORE_SELECTION"; // grammar check context menu
diff --git a/sw/source/uibase/misc/redlndlg.cxx b/sw/source/uibase/misc/redlndlg.cxx
index 2aed5f72bf37..12f9bdb1f101 100644
--- a/sw/source/uibase/misc/redlndlg.cxx
+++ b/sw/source/uibase/misc/redlndlg.cxx
@@ -150,11 +150,10 @@ SwRedlineAcceptDlg::SwRedlineAcceptDlg(const std::shared_ptr<weld::Window>& rPar
, m_bOnlyFormatedRedlines(false)
, m_bRedlnAutoFormat(bAutoFormat)
, m_bInhibitActivate(false)
- , m_xTabPagesCTRL(new SvxAcceptChgCtr(pContentArea, m_xParentDlg.get(), pBuilder))
+ , m_xTabPagesCTRL(new SvxAcceptChgCtr(pContentArea))
, m_xPopup(pBuilder->weld_menu("writermenu"))
, m_xSortMenu(pBuilder->weld_menu("writersortmenu"))
{
- m_xTabPagesCTRL->set_help_id(HID_REDLINE_CTRL);
m_pTPView = m_xTabPagesCTRL->GetViewPage();
m_pTable = m_pTPView->GetTableControl();