diff options
Diffstat (limited to 'sfx2/source/doc/autoredactdialog.cxx')
-rw-r--r-- | sfx2/source/doc/autoredactdialog.cxx | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/sfx2/source/doc/autoredactdialog.cxx b/sfx2/source/doc/autoredactdialog.cxx index 7025baa81576..73ec02cfc420 100644 --- a/sfx2/source/doc/autoredactdialog.cxx +++ b/sfx2/source/doc/autoredactdialog.cxx @@ -528,6 +528,7 @@ void SfxAutoRedactDialog::clearTargets() SfxAutoRedactDialog::SfxAutoRedactDialog(weld::Window* pParent) : SfxDialogController(pParent, "sfx/ui/autoredactdialog.ui", "AutoRedactDialog") + , m_bIsValidState(true) , m_xRedactionTargetsLabel(m_xBuilder->weld_label("labelRedactionTargets")) , m_xTargetsBox(new TargetsTable(m_xBuilder->weld_tree_view("targets"))) , m_xLoadBtn(m_xBuilder->weld_button("btnLoadTargets")) @@ -578,6 +579,27 @@ bool SfxAutoRedactDialog::hasTargets() const return true; } +bool SfxAutoRedactDialog::moveTargets( + std::vector<std::pair<RedactionTarget*, OUString>>& r_aTargets) +{ + try + { + r_aTargets.clear(); + r_aTargets.insert(r_aTargets.end(), std::make_move_iterator(m_aTableTargets.begin()), + std::make_move_iterator(m_aTableTargets.end())); + m_aTableTargets.clear(); + m_bIsValidState = false; + } + catch (const css::uno::Exception& e) + { + SAL_WARN("sfx.doc", "Exception caught while moving redaction targets: " << e.Message); + m_bIsValidState = false; + return false; + } + + return true; +} + SfxAddTargetDialog::SfxAddTargetDialog(weld::Window* pParent, const OUString& rName) : GenericDialogController(pParent, "sfx/ui/addtargetdialog.ui", "AddTargetDialog") , m_xName(m_xBuilder->weld_entry("name")) |