[Libreoffice-commits] core.git: include/svx svx/source sw/source
Ashod Nakashian
ashod.nakashian at collabora.co.uk
Tue Sep 26 11:57:50 UTC 2017
include/svx/ClassificationDialog.hxx | 5 ++++-
svx/source/dialog/ClassificationDialog.cxx | 8 ++++++--
sw/source/uibase/app/docsh2.cxx | 9 ++++++---
3 files changed, 16 insertions(+), 6 deletions(-)
New commits:
commit 0bef045346b47f45d0fbd354dd5fcb24c7c8903d
Author: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
Date: Sun Sep 24 15:01:48 2017 -0400
TSCP: sign paragraph from classification dialog
Change-Id: Iebd50de0abecb80a4de38257fa2eea10b81962b7
Reviewed-on: https://gerrit.libreoffice.org/42738
Reviewed-by: Ashod Nakashian <ashnakash at gmail.com>
Tested-by: Ashod Nakashian <ashnakash at gmail.com>
diff --git a/include/svx/ClassificationDialog.hxx b/include/svx/ClassificationDialog.hxx
index 9b315c997381..c2e48e4a760c 100644
--- a/include/svx/ClassificationDialog.hxx
+++ b/include/svx/ClassificationDialog.hxx
@@ -40,6 +40,9 @@ private:
SfxClassificationHelper maHelper;
SfxClassificationHelper maInternationalHelper;
+ const bool m_bPerParagraph;
+ const std::function<void()> m_aParagraphSignHandler;
+
DECL_LINK(ButtonClicked, Button*, void);
DECL_LINK(SelectClassificationHdl, ListBox&, void);
DECL_LINK(SelectMarkingHdl, ListBox&, void);
@@ -49,7 +52,7 @@ private:
void insertField(ClassificationType eType, OUString const & rString);
public:
- ClassificationDialog(vcl::Window* pParent);
+ ClassificationDialog(vcl::Window* pParent, bool bPerParagraph, const std::function<void()>& rParagraphSignHandler = [](){});
virtual ~ClassificationDialog() override;
virtual void dispose() override;
diff --git a/svx/source/dialog/ClassificationDialog.cxx b/svx/source/dialog/ClassificationDialog.cxx
index 7f0b33ec7813..45e83af10ae7 100644
--- a/svx/source/dialog/ClassificationDialog.cxx
+++ b/svx/source/dialog/ClassificationDialog.cxx
@@ -31,10 +31,12 @@ const SvxFieldItem* findField(editeng::Section const & rSection)
} // end anonymous namespace
-ClassificationDialog::ClassificationDialog(vcl::Window* pParent)
+ClassificationDialog::ClassificationDialog(vcl::Window* pParent, const bool bPerParagraph, const std::function<void()>& rParagraphSignHandler)
: ModalDialog(pParent, "AdvancedDocumentClassificationDialog", "svx/ui/classificationdialog.ui")
, maHelper(SfxObjectShell::Current()->getDocProperties())
, maInternationalHelper(SfxObjectShell::Current()->getDocProperties(), /*bUseLocalizedPolicy*/ false)
+ , m_bPerParagraph(bPerParagraph)
+ , m_aParagraphSignHandler(rParagraphSignHandler)
{
get(m_pEditWindow, "classificationEditWindow");
get(m_pSignButton, "signButton");
@@ -48,6 +50,8 @@ ClassificationDialog::ClassificationDialog(vcl::Window* pParent)
get(m_pIntellectualPropertyPartEdit, "intellectualPropertyPartEntry");
m_pSignButton->SetClickHdl(LINK(this, ClassificationDialog, ButtonClicked));
+ m_pSignButton->Show(m_bPerParagraph);
+
m_pBoldButton->SetClickHdl(LINK(this, ClassificationDialog, ButtonClicked));
m_pIntellectualPropertyPartAddButton->SetClickHdl(LINK(this, ClassificationDialog, ButtonClicked));
@@ -257,7 +261,7 @@ IMPL_LINK(ClassificationDialog, ButtonClicked, Button*, pButton, void)
}
else if (pButton == m_pSignButton)
{
- //TODO sign current paragraph
+ m_aParagraphSignHandler();
}
else if (pButton == m_pIntellectualPropertyPartAddButton)
{
diff --git a/sw/source/uibase/app/docsh2.cxx b/sw/source/uibase/app/docsh2.cxx
index 0064f54f0622..a3708b58df91 100644
--- a/sw/source/uibase/app/docsh2.cxx
+++ b/sw/source/uibase/app/docsh2.cxx
@@ -1166,7 +1166,7 @@ void SwDocShell::Execute(SfxRequest& rReq)
break;
case SID_CLASSIFICATION_DIALOG:
{
- ScopedVclPtr<svx::ClassificationDialog> pDialog(VclPtr<svx::ClassificationDialog>::Create(nullptr));
+ ScopedVclPtr<svx::ClassificationDialog> pDialog(VclPtr<svx::ClassificationDialog>::Create(nullptr, false));
SwWrtShell* pShell = GetWrtShell();
std::vector<svx::ClassificationResult> aInput = pShell->CollectAdvancedClassification();
@@ -1180,9 +1180,12 @@ void SwDocShell::Execute(SfxRequest& rReq)
break;
case SID_PARAGRAPH_SIGN_CLASSIFY_DLG:
{
- ScopedVclPtr<svx::ClassificationDialog> pDialog(VclPtr<svx::ClassificationDialog>::Create(nullptr));
-
SwWrtShell* pShell = GetWrtShell();
+ ScopedVclPtr<svx::ClassificationDialog> pDialog(VclPtr<svx::ClassificationDialog>::Create(nullptr, true, [pShell]()
+ {
+ pShell->SignParagraph(pShell->GetCursor());
+ }));
+
std::vector<svx::ClassificationResult> aInput = pShell->CollectAdvancedClassification();
pDialog->setupValues(aInput);
More information about the Libreoffice-commits
mailing list