tdf#142978 Remove a11y check dialog
in favor of sidebar deck
Change-Id: I2daf34edbe71341ebc44ca9b966c97f8e494d583
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149433
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index d898a9f..06fb46b9 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -27,7 +27,6 @@
#include <comphelper/diagnose_ex.hxx>
#include <sfx2/objsh.hxx>
#include <svl/stritem.hxx>
#include <svx/AccessibilityCheckDialog.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/sfxsids.hrc>
@@ -386,12 +385,6 @@ ImpPDFTabDialog::~ImpPDFTabDialog()
{
maConfigItem.WriteModifiedConfig();
maConfigI18N.WriteModifiedConfig();
if (mpAccessibilityCheckDialog)
{
// restore set_modal to its original state
mpAccessibilityCheckDialog->getDialog()->set_modal(false);
mpAccessibilityCheckDialog->response(RET_CANCEL);
}
}
void ImpPDFTabDialog::PageCreated(const OString& rId, SfxTabPage& rPage)
diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx
index 45442c5..cc6e464 100644
--- a/filter/source/pdf/impdialog.hxx
+++ b/filter/source/pdf/impdialog.hxx
@@ -21,7 +21,6 @@
#include <sfx2/tabdlg.hxx>
#include <sfx2/passwd.hxx>
#include <svx/AccessibilityCheckDialog.hxx>
#include <vcl/pdfwriter.hxx>
#include <vcl/FilterConfigItem.hxx>
@@ -129,8 +128,6 @@ class ImpPDFTabDialog final : public SfxTabDialogController
bool mbCanExtractForAccessibility;
css::uno::Reference< css::beans::XMaterialHolder > mxPreparedPasswords;
std::shared_ptr< svx::AccessibilityCheckDialog > mpAccessibilityCheckDialog;
bool mbIsRangeChecked;
OUString msPageRange;
bool mbSelectionIsChecked;
diff --git a/include/sfx2/sfxsids.hrc b/include/sfx2/sfxsids.hrc
index fab797e..bb30974 100644
--- a/include/sfx2/sfxsids.hrc
+++ b/include/sfx2/sfxsids.hrc
@@ -469,7 +469,6 @@ class SvxZoomItem;
// Used for redaction
#define SID_SHAPE_NAME (SID_SFX_START + 810)
#define SID_GRAPHIC_SIZE_CHECK (SID_SFX_START + 811)
#define SID_ACCESSIBILITY_CHECK (SID_SFX_START + 812)
#define SID_ASYNCHRON (SID_SFX_START + 813)
#define SID_ACCESSIBILITY_CHECK_ONLINE (SID_SFX_START + 814)
#define SID_THEME_DIALOG (SID_SFX_START + 815)
diff --git a/include/svx/AccessibilityCheckDialog.hxx b/include/svx/AccessibilityCheckDialog.hxx
deleted file mode 100644
index 65b1000..0000000
--- a/include/svx/AccessibilityCheckDialog.hxx
+++ /dev/null
@@ -1,67 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
*/
#ifndef INCLUDED_SVX_ACCESSIBILITYCHECKDIALOG_HXX
#define INCLUDED_SVX_ACCESSIBILITYCHECKDIALOG_HXX
#include <sfx2/AccessibilityIssue.hxx>
#include <svx/svxdllapi.h>
#include <tools/link.hxx>
#include <vcl/weld.hxx>
namespace svx
{
class AccessibilityCheckEntry final
{
private:
std::unique_ptr<weld::Builder> m_xBuilder;
std::unique_ptr<weld::Container> m_xContainer;
std::unique_ptr<weld::Label> m_xLabel;
std::unique_ptr<weld::Button> m_xGotoButton;
std::shared_ptr<sfx::AccessibilityIssue> const& m_pAccessibilityIssue;
public:
AccessibilityCheckEntry(weld::Container* pParent,
std::shared_ptr<sfx::AccessibilityIssue> const& pAccessibilityIssue);
weld::Widget* get_widget() const { return m_xContainer.get(); }
DECL_LINK(GotoButtonClicked, weld::Button&, void);
};
class SVX_DLLPUBLIC AccessibilityCheckDialog final : public weld::GenericDialogController
{
private:
sfx::AccessibilityIssueCollection m_aIssueCollection;
std::function<sfx::AccessibilityIssueCollection()> m_getIssueCollection;
std::vector<std::unique_ptr<AccessibilityCheckEntry>> m_aAccessibilityCheckEntries;
// Controls
std::unique_ptr<weld::ScrolledWindow> m_xScrolledWindow;
std::unique_ptr<weld::Box> m_xAccessibilityCheckBox;
std::unique_ptr<weld::Button> m_xRescanBtn;
DECL_LINK(RescanButtonClicked, weld::Button&, void);
void populateIssues();
public:
AccessibilityCheckDialog(weld::Window* pParent,
sfx::AccessibilityIssueCollection rIssueCollection,
std::function<sfx::AccessibilityIssueCollection()> getIssueCollection);
virtual ~AccessibilityCheckDialog() override;
};
} // end svx namespace
#endif // INCLUDED_SVX_ACCESSIBILITYCHECKDIALOG_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
index 43302cf..ff915b4 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
@@ -3411,14 +3411,6 @@
<value>1</value>
</prop>
</node>
<node oor:name=".uno:AccessibilityCheck" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">~Accessibility Check...</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int">
<value>1</value>
</prop>
</node>
<node oor:name=".uno:StylesMenu" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Styl~es</value>
diff --git a/static/CustomTarget_emscripten_fs_image.mk b/static/CustomTarget_emscripten_fs_image.mk
index 37526af..ecdfddd 100644
--- a/static/CustomTarget_emscripten_fs_image.mk
+++ b/static/CustomTarget_emscripten_fs_image.mk
@@ -1194,7 +1194,6 @@ gb_emscripten_fs_image_files += \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svt/ui/thineditcontrol.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/absrecbox.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/acceptrejectchangesdialog.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/accessibilitycheckdialog.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/accessibilitycheckentry.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/addconditiondialog.ui \
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/adddataitemdialog.ui \
diff --git a/svx/Library_svx.mk b/svx/Library_svx.mk
index 074a18d..7a8cd93 100644
--- a/svx/Library_svx.mk
+++ b/svx/Library_svx.mk
@@ -123,7 +123,6 @@ $(eval $(call gb_Library_add_exception_objects,svx,\
svx/source/customshapes/EnhancedCustomShapeEngine \
svx/source/customshapes/EnhancedCustomShapeFontWork \
svx/source/customshapes/EnhancedCustomShapeHandle \
svx/source/dialog/AccessibilityCheckDialog \
svx/source/dialog/GenericCheckDialog \
svx/source/dialog/_bmpmask \
svx/source/dialog/charmap \
diff --git a/svx/UIConfig_svx.mk b/svx/UIConfig_svx.mk
index 9f12a48..23d866c 100644
--- a/svx/UIConfig_svx.mk
+++ b/svx/UIConfig_svx.mk
@@ -12,7 +12,6 @@ $(eval $(call gb_UIConfig_UIConfig,svx))
$(eval $(call gb_UIConfig_add_uifiles,svx,\
svx/uiconfig/ui/absrecbox \
svx/uiconfig/ui/acceptrejectchangesdialog \
svx/uiconfig/ui/accessibilitycheckdialog \
svx/uiconfig/ui/accessibilitycheckentry \
svx/uiconfig/ui/addconditiondialog \
svx/uiconfig/ui/adddataitemdialog \
diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi
index d86ce1d..96505b7 100644
--- a/svx/sdi/svx.sdi
+++ b/svx/sdi/svx.sdi
@@ -12559,23 +12559,6 @@ SfxVoidItem ThemeDialog SID_THEME_DIALOG
GroupId = SfxGroupId::Modify;
]
SfxVoidItem AccessibilityCheck SID_ACCESSIBILITY_CHECK
()
[
AutoUpdate = FALSE,
FastCall = FALSE,
ReadOnlyDoc = TRUE,
Toggle = FALSE,
Container = FALSE,
RecordAbsolute = FALSE,
RecordPerSet;
AccelConfig = FALSE,
MenuConfig = FALSE,
ToolBoxConfig = FALSE,
GroupId = SfxGroupId::Modify;
]
SfxBoolItem AccessibilityCheckOnline SID_ACCESSIBILITY_CHECK_ONLINE
(SfxBoolItem Enable FN_PARAM_1)
[
diff --git a/svx/source/dialog/AccessibilityCheckDialog.cxx b/svx/source/dialog/AccessibilityCheckDialog.cxx
deleted file mode 100644
index 010f3af..0000000
--- a/svx/source/dialog/AccessibilityCheckDialog.cxx
+++ /dev/null
@@ -1,89 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
*/
#include <svx/AccessibilityCheckDialog.hxx>
#include <sfx2/AccessibilityIssue.hxx>
#include <utility>
#include <vcl/svapp.hxx>
namespace svx
{
AccessibilityCheckEntry::AccessibilityCheckEntry(
weld::Container* pParent, std::shared_ptr<sfx::AccessibilityIssue> const& rAccessibilityIssue)
: m_xBuilder(Application::CreateBuilder(pParent, "svx/ui/accessibilitycheckentry.ui"))
, m_xContainer(m_xBuilder->weld_container("accessibilityCheckEntryBox"))
, m_xLabel(m_xBuilder->weld_label("accessibilityCheckEntryLabel"))
, m_xGotoButton(m_xBuilder->weld_button("accessibilityCheckEntryGotoButton"))
, m_pAccessibilityIssue(rAccessibilityIssue)
{
m_xLabel->set_label(m_pAccessibilityIssue->m_aIssueText);
// lock in the height as including the button so all rows are the same height
m_xContainer->set_size_request(-1, m_xContainer->get_preferred_size().Height());
m_xGotoButton->set_visible(m_pAccessibilityIssue->canGotoIssue());
m_xGotoButton->connect_clicked(LINK(this, AccessibilityCheckEntry, GotoButtonClicked));
}
IMPL_LINK_NOARG(AccessibilityCheckEntry, GotoButtonClicked, weld::Button&, void)
{
m_pAccessibilityIssue->gotoIssue();
}
AccessibilityCheckDialog::AccessibilityCheckDialog(
weld::Window* pParent, sfx::AccessibilityIssueCollection aIssueCollection,
std::function<sfx::AccessibilityIssueCollection()> getIssueCollection)
: GenericDialogController(pParent, "svx/ui/accessibilitycheckdialog.ui",
"AccessibilityCheckDialog")
, m_aIssueCollection(std::move(aIssueCollection))
, m_getIssueCollection(getIssueCollection)
, m_xScrolledWindow(m_xBuilder->weld_scrolled_window("scrolledwindow"))
, m_xAccessibilityCheckBox(m_xBuilder->weld_box("accessibilityCheckBox"))
, m_xRescanBtn(m_xBuilder->weld_button("rescan"))
{
m_xRescanBtn->connect_clicked(LINK(this, AccessibilityCheckDialog, RescanButtonClicked));
populateIssues();
}
AccessibilityCheckDialog::~AccessibilityCheckDialog() {}
void AccessibilityCheckDialog::populateIssues()
{
sal_Int32 i = 0;
for (std::shared_ptr<sfx::AccessibilityIssue> const& pIssue : m_aIssueCollection.getIssues())
{
auto xEntry
= std::make_unique<AccessibilityCheckEntry>(m_xAccessibilityCheckBox.get(), pIssue);
m_xAccessibilityCheckBox->reorder_child(xEntry->get_widget(), i++);
m_aAccessibilityCheckEntries.push_back(std::move(xEntry));
}
if (!m_aAccessibilityCheckEntries.empty())
{
auto nRowHeight
= m_aAccessibilityCheckEntries.back()->get_widget()->get_preferred_size().Height();
// 6 is the spacing set in the .ui
m_xScrolledWindow->vadjustment_set_step_increment(nRowHeight + 6);
}
}
IMPL_LINK_NOARG(AccessibilityCheckDialog, RescanButtonClicked, weld::Button&, void)
{
// Remove old issue widgets
for (auto const& xEntry : m_aAccessibilityCheckEntries)
m_xAccessibilityCheckBox->move(xEntry->get_widget(), nullptr);
m_aIssueCollection = m_getIssueCollection();
populateIssues();
}
} // end svx namespace
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/uiconfig/ui/accessibilitycheckdialog.ui b/svx/uiconfig/ui/accessibilitycheckdialog.ui
deleted file mode 100644
index b19a1e3..0000000
--- a/svx/uiconfig/ui/accessibilitycheckdialog.ui
+++ /dev/null
@@ -1,148 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<interface domain="svx">
<requires lib="gtk+" version="3.20"/>
<object class="GtkDialog" id="AccessibilityCheckDialog">
<property name="width-request">640</property>
<property name="height-request">480</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="title" translatable="yes" context="accessibilitycheckdialog|AccessibilityCheckDialog">Accessibility Check</property>
<property name="type-hint">dialog</property>
<child internal-child="vbox">
<object class="GtkBox" id="dialogBox1">
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialogButtons">
<property name="can-focus">False</property>
<property name="layout-style">end</property>
<child>
<object class="GtkButton" id="rescan">
<property name="label" translatable="yes" context="AccessibleCheckDialog|btn_rescan">Rescan</property>
<property name="visible">True</property>
<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>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ok">
<property name="label" translatable="yes" context="stock">_OK</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="use-underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="cancel">
<property name="label" translatable="yes" context="stock">_Cancel</property>
<property name="visible">True</property>
<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>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<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>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
<property name="secondary">True</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack-type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<child>
<object class="GtkBox" id="accessibilityCheckBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<property name="homogeneous">True</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<action-widgets>
<action-widget response="-5">ok</action-widget>
<action-widget response="-6">cancel</action-widget>
<action-widget response="-11">help</action-widget>
</action-widgets>
</object>
</interface>
diff --git a/sw/sdi/_basesh.sdi b/sw/sdi/_basesh.sdi
index a1468ff..b338abf 100644
--- a/sw/sdi/_basesh.sdi
+++ b/sw/sdi/_basesh.sdi
@@ -605,12 +605,6 @@ interface BaseTextSelection
StateMethod = GetState;
]
SID_ACCESSIBILITY_CHECK
[
ExecMethod = ExecDlg;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
SID_GRAPHIC_SIZE_CHECK
[
ExecMethod = ExecDlg;
diff --git a/sw/source/uibase/shells/basesh.cxx b/sw/source/uibase/shells/basesh.cxx
index 61567a6..54745cd 100644
--- a/sw/source/uibase/shells/basesh.cxx
+++ b/sw/source/uibase/shells/basesh.cxx
@@ -135,7 +135,6 @@ static sal_uInt8 nFooterPos;
#include <swslots.hxx>
#include <AccessibilityCheck.hxx>
#include <svx/AccessibilityCheckDialog.hxx>
namespace
{
@@ -3029,21 +3028,6 @@ void SwBaseShell::ExecDlg(SfxRequest &rReq)
}
}
break;
case SID_ACCESSIBILITY_CHECK:
{
sw::AccessibilityCheck aCheck(rSh.GetDoc());
aCheck.check();
std::shared_ptr<svx::AccessibilityCheckDialog> aDialog
= std::make_shared<svx::AccessibilityCheckDialog>(
pMDI, aCheck.getIssueCollection(),
[&rSh]() -> sfx::AccessibilityIssueCollection {
sw::AccessibilityCheck aA11yCheck(rSh.GetDoc());
aA11yCheck.check();
return aA11yCheck.getIssueCollection();
});
weld::DialogController::runAsync(aDialog, [](int){});
}
break;
case SID_GRAPHIC_SIZE_CHECK:
{
diff --git a/sw/uiconfig/sglobal/menubar/menubar.xml b/sw/uiconfig/sglobal/menubar/menubar.xml
index 9b9d376..44d9f25 100644
--- a/sw/uiconfig/sglobal/menubar/menubar.xml
+++ b/sw/uiconfig/sglobal/menubar/menubar.xml
@@ -719,7 +719,6 @@
</menu:menupopup>
</menu:menu>
<menu:menuitem menu:id=".uno:WordCountDialog" menu:style="text"/>
<menu:menuitem menu:id=".uno:AccessibilityCheck"/>
<menu:menuitem menu:id=".uno:AccessibilityCheckOnline"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:Translate" menu:style="text"/>
diff --git a/sw/uiconfig/swriter/menubar/menubar.xml b/sw/uiconfig/swriter/menubar/menubar.xml
index 99d34c5..0fa3b2e 100644
--- a/sw/uiconfig/swriter/menubar/menubar.xml
+++ b/sw/uiconfig/swriter/menubar/menubar.xml
@@ -745,7 +745,6 @@
</menu:menupopup>
</menu:menu>
<menu:menuitem menu:id=".uno:WordCountDialog"/>
<menu:menuitem menu:id=".uno:AccessibilityCheck"/>
<menu:menuitem menu:id=".uno:AccessibilityCheckOnline"/>
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:Translate"/>
diff --git a/vcl/jsdialog/enabled.cxx b/vcl/jsdialog/enabled.cxx
index 3f18cfe..26892ed 100644
--- a/vcl/jsdialog/enabled.cxx
+++ b/vcl/jsdialog/enabled.cxx
@@ -149,7 +149,6 @@ bool isBuilderEnabled(std::u16string_view rUIFile, bool bMobile)
|| rUIFile == u"sfx/ui/managestylepage.ui"
|| rUIFile == u"sfx/ui/password.ui"
// svx
|| rUIFile == u"svx/ui/accessibilitycheckdialog.ui"
|| rUIFile == u"svx/ui/accessibilitycheckentry.ui"
|| rUIFile == u"svx/ui/findreplacedialog.ui"
|| rUIFile == u"svx/ui/fontworkgallerydialog.ui"