Moved doi check to extended cleaning

This commit is contained in:
Georgy Litvinov 2020-12-09 12:00:05 +01:00
parent b73e2b2caf
commit 9a412e73b9
5 changed files with 64 additions and 16 deletions

View file

@ -34,6 +34,7 @@ Private Sub makerUpMenu
dialog.getControl("configTables").Label = getTranslation("advancedMenuConfigTables")
dialog.getControl("configAnchors").Label = getTranslation("advancedMenuConfigAnchors")
dialog.getControl("fixMistakes").Label = getTranslation("advancedMenuFixMistakes")
dialog.getControl("fixDOI").Label = getTranslation("advancedMenuFixDOI")
dialog.getControl("removeInitPageBreak").Label = getTranslation("advancedMenuRemoveInitPageBreak")
dialog.getControl("removePageStyles").Label = getTranslation("advancedMenuRemovePageStyles")
dialog.getControl("loadStandardStyles").Label = getTranslation("advancedMenuLoadStandardStyles")
@ -108,6 +109,10 @@ Private Sub cleanAccordingTo(dialog As Object)
statusIndicator.Start(getTranslation("statusFixFrequentMistakes"),100)
fixFrequentMistakes
EndIf
If dialog.getControl("fixDOI").state = 1 Then
statusIndicator.Start(getTranslation("statusFixingDOI"),100)
fixDOI
EndIf
If dialog.getControl("removeInitPageBreak").state = 1 Then
statusIndicator.Start(getTranslation("statusRemovePageBreakAtStart"),100)
removeFirstElementPageBreak

View file

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="CleaningDialog" dlg:left="107" dlg:top="22" dlg:width="237" dlg:height="190" dlg:help-text="&amp;21.CleaningDialog.HelpText" dlg:closeable="true" dlg:moveable="true" dlg:title="&amp;22.CleaningDialog.Title">
<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="CleaningDialog" dlg:left="107" dlg:top="22" dlg:width="237" dlg:height="201" dlg:help-text="&amp;21.CleaningDialog.HelpText" dlg:closeable="true" dlg:moveable="true" dlg:title="&amp;22.CleaningDialog.Title">
<dlg:bulletinboard>
<dlg:button dlg:id="Cancel" dlg:tab-index="0" dlg:left="28" dlg:top="173" dlg:width="40" dlg:height="12" dlg:value="Отмена" dlg:button-type="cancel"/>
<dlg:button dlg:id="Cancel" dlg:tab-index="0" dlg:left="28" dlg:top="187" dlg:width="40" dlg:height="12" dlg:value="Отмена" dlg:button-type="cancel"/>
<dlg:button dlg:id="CommandButton1" dlg:tab-index="1" dlg:left="24" dlg:top="170" dlg:width="2" dlg:height="0" dlg:value="CommandButton1"/>
<dlg:button dlg:id="OK" dlg:tab-index="2" dlg:left="92" dlg:top="173" dlg:width="40" dlg:height="12" dlg:value="OK" dlg:button-type="ok"/>
<dlg:button dlg:id="OK" dlg:tab-index="2" dlg:left="92" dlg:top="187" dlg:width="40" dlg:height="12" dlg:value="OK" dlg:button-type="ok"/>
<dlg:checkbox dlg:id="fontsInStyles" dlg:tab-index="3" dlg:left="11" dlg:top="10" dlg:width="218" dlg:height="7" dlg:value="Заменить названия шрифтов в стилях" dlg:checked="false"/>
<dlg:checkbox dlg:id="removeLinks" dlg:tab-index="6" dlg:left="11" dlg:top="50" dlg:width="218" dlg:height="7" dlg:value="Удалить гиперссылки" dlg:checked="false"/>
<dlg:checkbox dlg:id="cleanFormatting" dlg:tab-index="5" dlg:left="11" dlg:top="30" dlg:width="218" dlg:height="7" dlg:value="Очистить форматирование" dlg:checked="false"/>
@ -12,17 +12,18 @@
<dlg:checkbox dlg:id="configTables" dlg:tab-index="8" dlg:left="11" dlg:top="70" dlg:width="218" dlg:height="7" dlg:value="Настроить свойства таблиц" dlg:checked="false"/>
<dlg:checkbox dlg:id="configAnchors" dlg:tab-index="9" dlg:left="11" dlg:top="80" dlg:width="218" dlg:height="7" dlg:value="Настроить привязки изображений" dlg:checked="false"/>
<dlg:checkbox dlg:id="fixMistakes" dlg:tab-index="10" dlg:left="11" dlg:top="90" dlg:width="218" dlg:height="7" dlg:value="Исправить часто встречающиеся ошибки набора" dlg:checked="false"/>
<dlg:checkbox dlg:id="removeInitPageBreak" dlg:tab-index="11" dlg:left="11" dlg:top="100" dlg:width="218" dlg:height="7" dlg:value="Удалить разрыв страницы в начале документа" dlg:checked="false"/>
<dlg:checkbox dlg:id="removePageStyles" dlg:tab-index="12" dlg:left="11" dlg:top="110" dlg:width="218" dlg:height="7" dlg:value="Удалить пользовательские стили страниц" dlg:checked="false"/>
<dlg:checkbox dlg:id="loadStandardStyles" dlg:tab-index="13" dlg:left="11" dlg:top="120" dlg:width="218" dlg:height="7" dlg:value="Загрузить стили страниц из шаблона Статья.ott" dlg:checked="false"/>
<dlg:checkbox dlg:id="removeInitPageBreak" dlg:tab-index="11" dlg:left="11" dlg:top="110" dlg:width="218" dlg:height="7" dlg:value="Удалить разрыв страницы в начале документа" dlg:checked="false"/>
<dlg:checkbox dlg:id="removePageStyles" dlg:tab-index="12" dlg:left="11" dlg:top="120" dlg:width="218" dlg:height="7" dlg:value="Удалить пользовательские стили страниц" dlg:checked="false"/>
<dlg:checkbox dlg:id="loadStandardStyles" dlg:tab-index="13" dlg:left="11" dlg:top="130" dlg:width="218" dlg:height="7" dlg:value="Загрузить стили страниц из шаблона Статья.ott" dlg:checked="false"/>
<dlg:checkbox dlg:id="symbolsConversion" dlg:tab-index="4" dlg:left="11" dlg:top="20" dlg:width="218" dlg:height="7" dlg:value="Произвести конвертацию символов" dlg:checked="false"/>
<dlg:checkbox dlg:id="removeUnusedStyles" dlg:tab-index="14" dlg:left="11" dlg:top="130" dlg:width="218" dlg:height="7" dlg:value="Удалить неиспользуемые стили" dlg:checked="false"/>
<dlg:checkbox dlg:id="removeManualPageBreaks" dlg:tab-index="15" dlg:left="11" dlg:top="140" dlg:width="218" dlg:height="7" dlg:value="Удалить все разрывы страниц" dlg:checked="false"/>
<dlg:checkbox dlg:id="removeUnusedStyles" dlg:tab-index="14" dlg:left="11" dlg:top="140" dlg:width="218" dlg:height="7" dlg:value="Удалить неиспользуемые стили" dlg:checked="false"/>
<dlg:checkbox dlg:id="removeManualPageBreaks" dlg:tab-index="15" dlg:left="11" dlg:top="150" dlg:width="218" dlg:height="7" dlg:value="Удалить все разрывы страниц" dlg:checked="false"/>
<dlg:checkbox dlg:id="replaceWhiteBackground" dlg:tab-index="16" dlg:left="11" dlg:top="40" dlg:width="218" dlg:height="7" dlg:value="Заменить белый фон символов на прозрачный" dlg:checked="false"/>
<dlg:checkbox dlg:id="removeBasic" dlg:tab-index="17" dlg:left="11" dlg:top="150" dlg:width="218" dlg:height="7" dlg:value="Удалить макросы" dlg:checked="false"/>
<dlg:button dlg:id="buttonLoad" dlg:tab-index="18" dlg:left="158" dlg:top="172" dlg:width="52" dlg:height="12" dlg:value="loadTemplate">
<dlg:checkbox dlg:id="removeBasic" dlg:tab-index="17" dlg:left="11" dlg:top="160" dlg:width="218" dlg:height="7" dlg:value="Удалить макросы" dlg:checked="false"/>
<dlg:button dlg:id="buttonLoad" dlg:tab-index="18" dlg:left="158" dlg:top="186" dlg:width="52" dlg:height="12" dlg:value="loadTemplate">
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Redaction.Configuration.setDeafultTemplate?language=Basic&amp;location=application" script:language="Script"/>
</dlg:button>
<dlg:checkbox dlg:id="removeAllFields" dlg:tab-index="19" dlg:left="11" dlg:top="160" dlg:width="218" dlg:height="7" dlg:value="Удалить все поля" dlg:checked="false"/>
<dlg:checkbox dlg:id="removeAllFields" dlg:tab-index="19" dlg:left="11" dlg:top="170" dlg:width="218" dlg:height="7" dlg:value="Удалить все поля" dlg:checked="false"/>
<dlg:checkbox dlg:id="fixDOI" dlg:tab-index="20" dlg:left="11" dlg:top="100" dlg:width="218" dlg:height="7" dlg:value="Исправить DOI" dlg:checked="false"/>
</dlg:bulletinboard>
</dlg:window>

View file

@ -263,6 +263,12 @@ Function getRussian(identifier As String) As String
Case &quot;advancedMenuRemoveAllFields&quot;
getRussian = &quot;Удалить все поля данных&quot;
Exit Function
Case &quot;advancedMenuFixDOI&quot;
getRussian = &quot;Исправить DOI&quot;
Exit Function
Case &quot;statusFixingDOI&quot;
getRussian = &quot;Исправляем DOI&quot;
Exit Function
Case Else
getRussian = &quot;Перевод не найден&quot;
End Select
@ -508,6 +514,12 @@ Function getEnglish(identifier As String) As String
Case &quot;advancedMenuRemoveAllFields&quot;
getEnglish = &quot;Remove all fields&quot;
Exit Function
Case &quot;advancedMenuFixDOI&quot;
getEnglish = &quot;Fix DOI&quot;
Exit Function
Case &quot;statusFixingDOI&quot;
getEnglish = &quot;Fixing DOI&quot;
Exit Function
Case Else
getEnglish = &quot;No translation&quot;
End Select
@ -752,6 +764,12 @@ Function getCroatian(identifier As String) As String
Case &quot;advancedMenuRemoveAllFields&quot;
getCroatian = &quot;Uklonite sva polja&quot;
Exit Function
Case &quot;advancedMenuFixDOI&quot;
getCroatian = &quot;Popravi DOI&quot;
Exit Function
Case &quot;statusFixingDOI&quot;
getCroatian = &quot;Ispravljamo DOI&quot;
Exit Function
Case Else
getCroatian = &quot;No translation&quot;
End Select
@ -996,6 +1014,12 @@ Function getSerbian(identifier As String) As String
Case &quot;advancedMenuRemoveAllFields&quot;
getSerbian = &quot;Уклоните сва поља&quot;
Exit Function
Case &quot;advancedMenuFixDOI&quot;
getSerbian = &quot;Поправи DOI&quot;
Exit Function
Case &quot;statusFixingDOI&quot;
getSerbian = &quot;Исправљамо DOI&quot;
Exit Function
Case Else
getSerbian = &quot;No translation&quot;
End Select
@ -1240,6 +1264,12 @@ Function getBosnian(identifier As String) As String
Case &quot;advancedMenuRemoveAllFields&quot;
getBosnian = &quot;Uklonite sva polja&quot;
Exit Function
Case &quot;advancedMenuFixDOI&quot;
getBosnian = &quot;Uklonite DOI&quot;
Exit Function
Case &quot;statusFixingDOI&quot;
getBosnian = &quot;Ispravljamo DOI&quot;
Exit Function
Case Else
getBosnian = &quot;No translation&quot;
End Select

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Validation" script:language="StarBasic">Sub markval20
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Validation" script:language="StarBasic">Sub markval21
End Sub
@ -73,7 +73,7 @@ Sub validateButton
If sectionsReport &lt;&gt; &quot;&quot; Then
MsgBox sectionsReport
EndIf
If isInDoc(&quot;[\uE000-\uF8FF]&quot;) Or isInDoc(&quot;(?&lt;=DOI[0-9. /XVI:ХOО?-]{1,50})[ХOО]{1,5}&quot;) Then
If isInDoc(&quot;[\uE000-\uF8FF]&quot;) Then
badText = true
EndIf
@ -145,13 +145,25 @@ End Function
Private Sub removeBadCharacters
StartTracking
AskAndReplace(&quot;[\uE000-\uF8FF]+&quot;,&quot;&quot;)
AskAndReplace(&quot;(?&lt;=DOI[0-9. /XVI:ХOО?-]{1,50})[Х]{1,5}&quot;,&quot;X&quot;)
AskAndReplace(&quot;(?&lt;=DOI[0-9. /XVI:ХOО?-]{1,50})[OО]{1,5}&quot;,&quot;0&quot;)
AskAndReplace(&quot;(?&lt;=DOI[0-9. /XVI:ХOО?-]{1,50})[‒–—−]{1,5}&quot;,&quot;-&quot;)
StopTracking
showTrackedChanges
End Sub
Private Sub fixDOI
StartTracking
replaceCharsInDOI
StopTracking
showTrackedChanges
End Sub
Sub replaceCharsInDOI
AskAndReplace(&quot;(?&lt;=DOI[0-9. /XVI:ХOО?-]{1,50})[Х]{1,5}&quot;,&quot;X&quot;)
AskAndReplace(&quot;(?&lt;=DOI[0-9. /XVI:ХOО?-]{1,50})[OО]{1,5}&quot;,&quot;0&quot;)
AskAndReplace(&quot;(?&lt;=DOI[0-9. /XVI:ХOО?-]{1,50})[‒–—−]{1,5}&quot;,&quot;-&quot;)
End sub
Private Function noteSingsCheck() As String
Dim footnotes As Object
Dim footnote As Object