From 15a5bd6f0d07acd4dc1e6bf344e57718bb19b964 Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Mon, 6 Jul 2020 11:06:41 +0200 Subject: [PATCH] Added check for headings in footers and headers --- Redaction/Configuration.xba | 2 +- Redaction/Translations.xba | 60 +++++++++++++++++++++ Redaction/Validation.xba | 102 +++++++++++++++++++++++++++++++++++- build.gradle | 2 +- description.xml | 2 +- releasenotes.txt | 1 + translations.ods | Bin 25964 -> 26643 bytes 7 files changed, 164 insertions(+), 5 deletions(-) diff --git a/Redaction/Configuration.xba b/Redaction/Configuration.xba index 73ad8b3..0b43673 100644 --- a/Redaction/Configuration.xba +++ b/Redaction/Configuration.xba @@ -1,7 +1,7 @@ Public Const redactionExtensionName As String = "cleanAndValidate" -Public Const redactionExtensionVersion = "0.8.3" +Public Const redactionExtensionVersion = "0.8.4" Function initRedactionConfiguration() On Error Goto exceptionHandler Dim regFactory As Object diff --git a/Redaction/Translations.xba b/Redaction/Translations.xba index 66d2221..a61d3b3 100644 --- a/Redaction/Translations.xba +++ b/Redaction/Translations.xba @@ -218,6 +218,18 @@ Function getRussian(identifier As String) As String Case "isInTable" getRussian = "находится внутри таблицы." Exit Function + Case "foundHeadingIn" + getRussian = "Найден заголовок в" + Exit Function + Case "inHeader" + getRussian = "верхнем колонтитуле" + Exit Function + Case "inFooter" + getRussian = "нижнем колонтитуле" + Exit Function + Case "inPageStyle" + getRussian = "стиля страниц" + Exit Function Case Else getRussian = "Перевод не найден" End Select @@ -418,6 +430,18 @@ Function getEnglish(identifier As String) As String Case "isInTable" getEnglish = "located inside the table." Exit Function + Case "foundHeadingIn" + getEnglish = "Found heading in" + Exit Function + Case "inHeader" + getEnglish = "header" + Exit Function + Case "inFooter" + getEnglish = "footer" + Exit Function + Case "inPageStyle" + getEnglish = "of page style" + Exit Function Case Else getEnglish = "No translation" End Select @@ -617,6 +641,18 @@ Function getCroatian(identifier As String) As String Case "isInTable" getCroatian = "smještene unutar stola." Exit Function + Case "foundHeadingIn" + getCroatian = "Naslov pronađen u" + Exit Function + Case "inHeader" + getCroatian = "zaglavlje" + Exit Function + Case "inFooter" + getCroatian = "podnožje" + Exit Function + Case "inPageStyle" + getCroatian = "stil stranice" + Exit Function Case Else getCroatian = "No translation" End Select @@ -816,6 +852,18 @@ Function getSerbian(identifier As String) As String Case "isInTable" getSerbian = "смештене унутар стола." Exit Function + Case "foundHeadingIn" + getSerbian = "Наслов пронађен у" + Exit Function + Case "inHeader" + getSerbian = "хеадер" + Exit Function + Case "inFooter" + getSerbian = "фоотер" + Exit Function + Case "inPageStyle" + getSerbian = "стил странице" + Exit Function Case Else getSerbian = "No translation" End Select @@ -1015,6 +1063,18 @@ Function getBosnian(identifier As String) As String Case "isInTable" getBosnian = "smještene unutar stola." Exit Function + Case "foundHeadingIn" + getBosnian = "Naslov pronađen u" + Exit Function + Case "inHeader" + getBosnian = "zaglavlje" + Exit Function + Case "inFooter" + getBosnian = "podnožje" + Exit Function + Case "inPageStyle" + getBosnian = "stil stranice" + Exit Function Case Else getBosnian = "No translation" End Select diff --git a/Redaction/Validation.xba b/Redaction/Validation.xba index 270d267..30d75bb 100644 --- a/Redaction/Validation.xba +++ b/Redaction/Validation.xba @@ -1,6 +1,6 @@ -Sub markval6 +Sub markval7 End Sub @@ -26,6 +26,7 @@ Sub validateButton Dim footnotesReport As String Dim graphicsReport As String Dim sectionsReport As String + Dim outlinePageStylesReport As String Dim outlineInNotesReport As String Dim badText As Boolean Dim badNumberings As Boolean @@ -38,9 +39,14 @@ Sub validateButton graphicsReport = checkGraphics sectionsReport = checkSectionsInTables outlineInNotesReport = checkNotesOutline() + outlinePageStylesReport = checkHeadingsInHeadersFooters If outlineInNotesReport <> "" Then MsgBox outlineInNotesReport EndIf + If outlinePageStylesReport <> "" Then + MsgBox outlinePageStylesReport + EndIf + If footnotesReport <> "" Then MsgBox footnotesReport EndIf @@ -62,7 +68,7 @@ Sub validateButton printNumberingSymbols(needExtendedInfo) - If badText OR badNumberings OR footnotesReport <> "" OR graphicsReport <> "" Or outlineInNotesReport <> "" Or sectionsReport <> "" Then + If badText OR badNumberings OR footnotesReport <> "" OR graphicsReport <> "" Or outlineInNotesReport <> "" Or sectionsReport <> "" OR outlinePageStylesReport <> "" Then MsgBox getTranslation("validationWarning") If badText Then MsgBox getTranslation("validationBadSymbolsNotification") @@ -225,6 +231,98 @@ Function checkSectionsInTables As String checkSectionsInTables = result End Function +Function checkHeadingsInHeadersFooters As String + Dim result As String + Dim count As Integer + Dim oStyle As Object + Dim i As Integer + result = "" + Dim pageStyles As Object + pageStyles = ThisComponent.StyleFamilies.getByName("PageStyles") + count = pageStyles.count - 1 + For i = 0 to count + oStyle = pageStyles.getByIndex(i) + If oStyle.isInUse Then + If oStyle.HeaderIsOn Then + If oStyle.HeaderIsShared Then + If isHeadingsInText(oStyle.HeaderText) Then + result = result & getTranslation("foundHeadingIn") & " " & getTranslation("inHeader") & " " & getTranslation("inPageStyle") & " " & oStyle.getName() & chr(10) + EndIf + Else + If isHeadingsInText(oStyle.HeaderTextLeft) Then + result = result & getTranslation("foundHeadingIn") & " " & getTranslation("inHeader") & " " & getTranslation("inPageStyle") & " " & oStyle.getName() & chr(10) + EndIf + If isHeadingsInText(oStyle.HeaderTextRight) Then + result = result & getTranslation("foundHeadingIn") & " " & getTranslation("inHeader") & " " & getTranslation("inPageStyle") & " " & oStyle.getName() & chr(10) + EndIf + EndIf + If NOT oStyle.FirstIsShared Then + If isHeadingsInText(oStyle.HeaderTextFirst) Then + result = result & getTranslation("foundHeadingIn") & " " & getTranslation("inHeader") & " " & getTranslation("inPageStyle") & " " & oStyle.getName() & chr(10) + EndIf + EndIf + EndIf + If oStyle.FooterIsOn Then + If oStyle.FooterIsShared Then + If isHeadingsInText(oStyle.FooterText) Then + result = result & getTranslation("foundHeadingIn") & " " & getTranslation("inFooter") & " " & getTranslation("inPageStyle") & " " & oStyle.getName() & chr(10) + EndIf + Else + If isHeadingsInText(oStyle.FooterTextLeft) Then + result = result & getTranslation("foundHeadingIn") & " " & getTranslation("inFooter") & " " & getTranslation("inPageStyle") & " " & oStyle.getName() & chr(10) + EndIf + If isHeadingsInText(oStyle.FooterTextRight) Then + result = result & getTranslation("foundHeadingIn") & " " & getTranslation("inFooter") & " " & getTranslation("inPageStyle") & " " & oStyle.getName() & chr(10) + EndIf + EndIf + If NOT oStyle.FirstIsShared Then + If isHeadingsInText(oStyle.FooterTextFirst) Then + result = result & getTranslation("foundHeadingIn") & " " & getTranslation("inFooter") & " " & getTranslation("inPageStyle") & " " & oStyle.getName() & chr(10) + EndIf + EndIf + EndIf + EndIf + Next i + checkHeadingsInHeadersFooters = result +End Function + +Function isHeadingsInText(oText As Object) As Boolean + Dim enum1Element As Object + Dim enum1 As Object + Dim enum2 As Object + Dim thisPortion As Object + Dim footnoteText As Object + Dim label As String + Dim labelNum As Integer + Dim i As Integer + Dim count As Integer + Dim cell As Object + Dim cellText As Object + enum1 = oText.Text.createEnumeration + While enum1.hasMoreElements + enum1Element = enum1.nextElement + If enum1Element.supportsService("com.sun.star.text.Paragraph") Then + If enum1Element.OutlineLevel > 0 Then + isHeadingsInText = true + Exit Function + EndIf + + ElseIf enum1Element.supportsService("com.sun.star.text.TextTable") Then + cellNames = enum1Element.cellNames + For i = LBound(cellNames) To Ubound(cellNames) + cell = enum1Element.getCellByName(cellNames(i)) + cellText = cell.getText() + If isHeadingsInText(cellText) Then + isHeadingsInText = true + Exit Function + EndIf + Next i + EndIf + Wend + isHeadingsInText = false +End Function + + Private Sub printNumberingSymbols(needExtendedInfo) Dim families As Object Dim numStyles As Object diff --git a/build.gradle b/build.gradle index 631222b..e16a9e1 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -def releaseVersion = "0.8.3" +def releaseVersion = "0.8.4" task oxt(type: Zip) { dependsOn = [ 'setVersion','setVersionInBasicCode' ] from './' diff --git a/description.xml b/description.xml index 4f5bc5d..1601ebd 100644 --- a/description.xml +++ b/description.xml @@ -1,7 +1,7 @@ - + Cleaning and validation documents for publishing in html and epub with pagination diff --git a/releasenotes.txt b/releasenotes.txt index 3222606..d3b962e 100644 --- a/releasenotes.txt +++ b/releasenotes.txt @@ -1,3 +1,4 @@ +0.8.4 Added check for headings in footers and headers 0.8.3 Added check for sections in tables 0.7.19 Do not try to clean in read only mode 0.7.16 Added timestamp to document properties after cleaning diff --git a/translations.ods b/translations.ods index d3849c98dd19170e4e1fdd270fe58762b60d1871..9adcef20adc73d436c536124ff2e3e28cb6600ec 100644 GIT binary patch delta 22929 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
  • Z}Gw|Q;#p^C{;Fq|ApMRPk*XWmTCrj?N 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 Njv!3H6NlU2{{aq}!>|AV