include/svx/ClassificationDialog.hxx | 1 include/svx/svxids.hrc | 2 officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu | 5 + svx/sdi/svx.sdi | 18 ++++++ svx/source/dialog/ClassificationDialog.cxx | 7 ++ svx/uiconfig/ui/classificationdialog.ui | 30 +++++++++- sw/sdi/_basesh.sdi | 6 ++ sw/source/uibase/app/docsh2.cxx | 14 ++++ sw/source/uibase/shells/basesh.cxx | 5 + sw/source/uibase/shells/textsh1.cxx | 17 ----- sw/uiconfig/swriter/toolbar/classificationbar.xml | 1 11 files changed, 87 insertions(+), 19 deletions(-)
New commits: commit 86c5c812b030cea6753b298a70146375c5d58175 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Sat Sep 23 21:31:38 2017 -0400 TSCP: paragraph classification dialog Change-Id: I3a5f201f9ed28452ee7392cb30aebf21955f3620 Reviewed-on: https://gerrit.libreoffice.org/42737 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/include/svx/ClassificationDialog.hxx b/include/svx/ClassificationDialog.hxx index c0612124df99..9b315c997381 100644 --- a/include/svx/ClassificationDialog.hxx +++ b/include/svx/ClassificationDialog.hxx @@ -27,6 +27,7 @@ class SVX_DLLPUBLIC ClassificationDialog : public ModalDialog { private: VclPtr<ClassificationEditView> m_pEditWindow; + VclPtr<PushButton> m_pSignButton; VclPtr<PushButton> m_pBoldButton; VclPtr<ListBox> m_pClassificationListBox; VclPtr<ListBox> m_pInternationalClassificationListBox; diff --git a/include/svx/svxids.hrc b/include/svx/svxids.hrc index 6300b67b6b19..84103287e776 100644 --- a/include/svx/svxids.hrc +++ b/include/svx/svxids.hrc @@ -973,7 +973,7 @@ #define SID_DRAW_MEASURELINE ( SID_SVX_START + 1167 ) #define SID_AUTHOR_COLOR ( SID_SVX_START + 1168 ) #define SID_BMPMASK_COLOR ( SID_SVX_START + 1169 ) -#define SID_PARA_SIGNATURE_ADD ( SID_SVX_START + 1170 ) +#define SID_PARAGRAPH_SIGN_CLASSIFY_DLG ( SID_SVX_START + 1170 ) #define SID_CLASSIFICATION_DIALOG ( SID_SVX_START + 1171 ) // IMPORTANT NOTE: adjust SID_SVX_FIRSTFREE, when adding new slot id diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu index f7a6f30818ce..3b127de80501 100644 --- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu +++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu @@ -6404,6 +6404,11 @@ <value xml:lang="en-US">Classification Dialog</value> </prop> </node> + <node oor:name=".uno:ParagraphClassificationDialog" oor:op="replace"> + <prop oor:name="Label" oor:type="xs:string"> + <value xml:lang="en-US">Paragraph Classification Dialog</value> + </prop> + </node> <node oor:name=".uno:EditSelectMenu" oor:op="replace"> <prop oor:name="Label" oor:type="xs:string"> <value xml:lang="en-US">Select</value> diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi index 0bc0412023bf..9b9c45297574 100644 --- a/svx/sdi/svx.sdi +++ b/svx/sdi/svx.sdi @@ -4391,6 +4391,24 @@ SfxVoidItem ClassificationDialog SID_CLASSIFICATION_DIALOG GroupId = SfxGroupId::Document; ] +SfxVoidItem ParagraphClassificationDialog SID_PARAGRAPH_SIGN_CLASSIFY_DLG +() +[ + AutoUpdate = TRUE, + FastCall = TRUE, + ReadOnlyDoc = FALSE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; + Asynchron; + + AccelConfig = TRUE, + MenuConfig = TRUE, + ToolBoxConfig = TRUE, + GroupId = SfxGroupId::Document; +] + SfxBoolItem Init3D SID_3D_INIT [ diff --git a/svx/source/dialog/ClassificationDialog.cxx b/svx/source/dialog/ClassificationDialog.cxx index 478c6469a6ce..7f0b33ec7813 100644 --- a/svx/source/dialog/ClassificationDialog.cxx +++ b/svx/source/dialog/ClassificationDialog.cxx @@ -37,6 +37,7 @@ ClassificationDialog::ClassificationDialog(vcl::Window* pParent) , maInternationalHelper(SfxObjectShell::Current()->getDocProperties(), /*bUseLocalizedPolicy*/ false) { get(m_pEditWindow, "classificationEditWindow"); + get(m_pSignButton, "signButton"); get(m_pBoldButton, "boldButton"); get(m_pClassificationListBox, "classificationCB"); get(m_pInternationalClassificationListBox, "internationalClassificationCB"); @@ -46,6 +47,7 @@ ClassificationDialog::ClassificationDialog(vcl::Window* pParent) get(m_pIntellectualPropertyPartAddButton, "intellectualPropertyPartAddButton"); get(m_pIntellectualPropertyPartEdit, "intellectualPropertyPartEntry"); + m_pSignButton->SetClickHdl(LINK(this, ClassificationDialog, ButtonClicked)); m_pBoldButton->SetClickHdl(LINK(this, ClassificationDialog, ButtonClicked)); m_pIntellectualPropertyPartAddButton->SetClickHdl(LINK(this, ClassificationDialog, ButtonClicked)); @@ -83,6 +85,7 @@ ClassificationDialog::~ClassificationDialog() void ClassificationDialog::dispose() { m_pEditWindow.clear(); + m_pSignButton.clear(); m_pBoldButton.clear(); m_pClassificationListBox.clear(); m_pInternationalClassificationListBox.clear(); @@ -252,6 +255,10 @@ IMPL_LINK(ClassificationDialog, ButtonClicked, Button*, pButton, void) { m_pEditWindow->InvertSelectionWeight(); } + else if (pButton == m_pSignButton) + { + //TODO sign current paragraph + } else if (pButton == m_pIntellectualPropertyPartAddButton) { insertField(ClassificationType::INTELLECTUAL_PROPERTY_PART, m_pIntellectualPropertyPartEdit->GetText()); diff --git a/svx/uiconfig/ui/classificationdialog.ui b/svx/uiconfig/ui/classificationdialog.ui index 02d2afdb644b..bb1297dd76ec 100644 --- a/svx/uiconfig/ui/classificationdialog.ui +++ b/svx/uiconfig/ui/classificationdialog.ui @@ -183,6 +183,34 @@ <property name="spacing">6</property> <property name="homogeneous">True</property> <child> + <object class="GtkButton" id="signButton"> + <property name="label" context="classificationdialog|signButton" translatable="yes">Sign Paragraph</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + <property name="width">2</property> + </packing> + </child> + <child> + <object class="GtkBox"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="valign">end</property> + <property name="vexpand">True</property> + <property name="spacing">6</property> + <property name="homogeneous">True</property> + <child> <object class="GtkButton" id="boldButton"> <property name="label" context="classificationdialog|boldButton" translatable="yes">Bold</property> <property name="visible">True</property> @@ -198,7 +226,7 @@ </object> <packing> <property name="left_attach">0</property> - <property name="top_attach">3</property> + <property name="top_attach">4</property> <property name="width">2</property> </packing> </child> diff --git a/sw/sdi/_basesh.sdi b/sw/sdi/_basesh.sdi index c3275e247d75..23f4d0e5dfdf 100644 --- a/sw/sdi/_basesh.sdi +++ b/sw/sdi/_basesh.sdi @@ -383,6 +383,12 @@ interface BaseTextSelection StateMethod = StateStyle ; ] + SID_PARAGRAPH_SIGN_CLASSIFY_DLG + [ + ExecMethod = Execute ; + StateMethod = StateStyle ; + ] + SID_WATERMARK [ ExecMethod = Execute ; diff --git a/sw/source/uibase/app/docsh2.cxx b/sw/source/uibase/app/docsh2.cxx index eae9c158ff91..0064f54f0622 100644 --- a/sw/source/uibase/app/docsh2.cxx +++ b/sw/source/uibase/app/docsh2.cxx @@ -1178,6 +1178,20 @@ void SwDocShell::Execute(SfxRequest& rReq) pDialog.disposeAndClear(); } break; + case SID_PARAGRAPH_SIGN_CLASSIFY_DLG: + { + ScopedVclPtr<svx::ClassificationDialog> pDialog(VclPtr<svx::ClassificationDialog>::Create(nullptr)); + + SwWrtShell* pShell = GetWrtShell(); + std::vector<svx::ClassificationResult> aInput = pShell->CollectAdvancedClassification(); + pDialog->setupValues(aInput); + + if (RET_OK == pDialog->Execute()) + pShell->ApplyAdvancedClassification(pDialog->getResult()); + + pDialog.disposeAndClear(); + } + break; case SID_WATERMARK: { SwWrtShell* pSh = GetWrtShell(); diff --git a/sw/source/uibase/shells/basesh.cxx b/sw/source/uibase/shells/basesh.cxx index e2c87f6bb156..c2180b12e39a 100644 --- a/sw/source/uibase/shells/basesh.cxx +++ b/sw/source/uibase/shells/basesh.cxx @@ -957,6 +957,11 @@ void SwBaseShell::Execute(SfxRequest &rReq) GetView().GetDocShell()->Execute(rReq); } break; + case SID_PARAGRAPH_SIGN_CLASSIFY_DLG: + { + GetView().GetDocShell()->Execute(rReq); + } + break; case SID_WATERMARK: { GetView().GetDocShell()->Execute(rReq); diff --git a/sw/source/uibase/shells/textsh1.cxx b/sw/source/uibase/shells/textsh1.cxx index fb8be7dd5cae..ab61baa6bc4c 100644 --- a/sw/source/uibase/shells/textsh1.cxx +++ b/sw/source/uibase/shells/textsh1.cxx @@ -1090,23 +1090,6 @@ void SwTextShell::Execute(SfxRequest &rReq) } } break; - case SID_PARA_SIGNATURE_ADD: - { - SwPaM* pPaM = nullptr; - if (pArgs) - { - const SfxPoolItem* pPaMItem = nullptr; - pArgs->GetItemState(GetPool().GetWhich(FN_PARAM_PAM), false, &pPaMItem); - if (pPaMItem) - pPaM = static_cast< const SwPaMItem* >(pPaMItem)->GetValue(); - } - - if (!pPaM) - pPaM = rWrtSh.GetCursor(); - - rWrtSh.SignParagraph(pPaM); - } - break; case FN_NUM_CONTINUE: { OUString sContinuedListId; diff --git a/sw/uiconfig/swriter/toolbar/classificationbar.xml b/sw/uiconfig/swriter/toolbar/classificationbar.xml index f176c094273a..b1ec27a87cf6 100644 --- a/sw/uiconfig/swriter/toolbar/classificationbar.xml +++ b/sw/uiconfig/swriter/toolbar/classificationbar.xml @@ -10,4 +10,5 @@ <toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar"> <toolbar:toolbaritem xlink:href=".uno:ClassificationApply"/> <toolbar:toolbaritem xlink:href=".uno:ClassificationDialog"/> + <toolbar:toolbaritem xlink:href=".uno:ParagraphClassificationDialog"/> </toolbar:toolbar> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits