Fixed conversion links to footnotes

This commit is contained in:
Georgy Litvinov 2021-05-20 18:07:13 +02:00
parent edeef39f82
commit df65b5efe1

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="Archive" script:language="StarBasic" script:moduleType="normal">Sub archMark19
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Archive" script:language="StarBasic" script:moduleType="normal">Sub archMark20
End Sub
@ -445,7 +445,7 @@ End Sub
Sub adjustLastLine(anchor As Object)
anchor.ParaAdjust = 2
&apos;anchor.ParaLastLineAdjust = 2
&apos;balancePara(anchor)
balancePara(anchor)
End Sub
Sub adjustFirstLine(anchor As Object)
@ -614,9 +614,7 @@ Sub convertLinkToFootnote(forwardLink,backwardLink)
backward = bookmarks.getByName(backwardLink)
oViewCursor.goToRange(forward.Anchor,false)
footNoteSign = oViewCursor.getString()
backspace
backspace
SendRM
removeTextInFootnote()
oTextCursor = oViewCursor.Text.createTextCursorByRange(oViewCursor)
oTextCursor.gotoEndOfParagraph(false)
oTextCursor.gotoStartOfParagraph(true)
@ -624,13 +622,100 @@ Sub convertLinkToFootnote(forwardLink,backwardLink)
unoCut()
SendRM
oViewCursor.goToRange(backward.Anchor,false)
backspace
removeFootnoteSignInText
createFootnote
unoPaste()
oViewCursor.getText.setLabel(footNoteSign)
forward.dispose()
backward.dispose()
End sub
End Sub
Sub removeTextInFootnote
Dim oViewCursor As Object
Dim character As String
oViewCursor = ThisComponent.CurrentController.getViewCursor()
oViewCursor.goRight(1,true)
character = oViewCursor.String
Do While isLinkCharacter(character)
oViewCursor.String = &quot;&quot;
oViewCursor.goRight(1,true)
character = oViewCursor.String
Loop
If oViewCursor.String = &quot; &quot; Then
oViewCursor.String = &quot;&quot;
Else
oViewCursor.goLeft(1,false)
EndIf
oViewCursor.goLeft(1,true)
character = oViewCursor.String
Do While isLinkCharacter(character)
oViewCursor.String = &quot;&quot;
oViewCursor.goLeft(1,true)
character = oViewCursor.String
Loop
oViewCursor.goRight(1,false)
End Sub
Sub removeFootnoteSignInText
Dim oViewCursor As Object
Dim character As String
oViewCursor = ThisComponent.CurrentController.getViewCursor()
oViewCursor.goLeft(1,true)
character = oViewCursor.String
Do While isLinkCharacter(character)
oViewCursor.String = &quot;&quot;
oViewCursor.goLeft(1,true)
character = oViewCursor.String
Loop
oViewCursor.goRight(1,false)
End Sub
Function isLinkCharacter(character As String) As Boolean
Select Case character
Case &quot;[&quot;
isLinkCharacter = true
Exit Function
Case &quot;]&quot;
isLinkCharacter = true
Exit Function
Case &quot;0&quot;
isLinkCharacter = true
Exit Function
Case &quot;1&quot;
isLinkCharacter = true
Exit Function
Case &quot;2&quot;
isLinkCharacter = true
Exit Function
Case &quot;3&quot;
isLinkCharacter = true
Exit Function
Case &quot;4&quot;
isLinkCharacter = true
Exit Function
Case &quot;5&quot;
isLinkCharacter = true
Exit Function
Case &quot;6&quot;
isLinkCharacter = true
Exit Function
Case &quot;7&quot;
isLinkCharacter = true
Exit Function
Case &quot;8&quot;
isLinkCharacter = true
Exit Function
Case &quot;9&quot;
isLinkCharacter = true
Exit Function
Case Else
isLinkCharacter = false
End Select
End Function
sub unoCut