diff options
author | Yousuf Philips <philipz85@hotmail.com> | 2015-09-12 22:59:41 +0400 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-09-12 19:57:02 +0000 |
commit | 512ac2ae57bd4f10d5af446c01461974bd6b7aca (patch) | |
tree | e95a6efc4ef568e972a8982c8d9bba3da03d02c0 /helpauthoring | |
parent | 01ef2e43cc66ad43b5fa06bc22eb9981b60de0fb (diff) |
View help file source, unhide paragraph ids and reorganize menu
Change-Id: I1994e2481a87a627667a4a06c4b8a61782174c63
Reviewed-on: https://gerrit.libreoffice.org/18518
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'helpauthoring')
-rw-r--r-- | helpauthoring/Addons.xcu | 61 | ||||
-rw-r--r-- | helpauthoring/HelpAuthoring/Helpers.xba | 19 | ||||
-rw-r--r-- | helpauthoring/HelpAuthoring/_Main.xba | 128 |
3 files changed, 189 insertions, 19 deletions
diff --git a/helpauthoring/Addons.xcu b/helpauthoring/Addons.xcu index 69745099..e4268ac1 100644 --- a/helpauthoring/Addons.xcu +++ b/helpauthoring/Addons.xcu @@ -166,7 +166,16 @@ </prop> <prop oor:name="Title" oor:type="xs:string"> <value/> - <value xml:lang="en-US">Open <Embed> or <Link> Help File </value> + <value xml:lang="en-US">Open <Embed> or <Link> File </value> + </prop> + </node> + <node oor:name="m14" oor:op="replace"> + <prop oor:name="URL" oor:type="xs:string"> + <value>vnd.sun.star.script:HelpAuthoring._Main.OpenLinkSource?language=Basic&location=application</value> + </prop> + <prop oor:name="Title" oor:type="xs:string"> + <value/> + <value xml:lang="en-US">View <Embed> or <Link> File Source</value> </prop> </node> @@ -218,7 +227,7 @@ </prop> <prop oor:name="Title" oor:type="xs:string"> <value/> - <value xml:lang="en-US">Insert Variable (<variable>) </value> + <value xml:lang="en-US">Insert Variable (<variable>/<var>) </value> </prop> </node> @@ -243,7 +252,7 @@ </prop> <prop oor:name="Title" oor:type="xs:string"> <value/> - <value xml:lang="en-US">Insert Extended Tip (<avis>/<ahis>) </value> + <value xml:lang="en-US">Insert Extended Tip (<ahelp>/<avis>/<ahid>) </value> </prop> </node> <node oor:name="m33" oor:op="replace"> @@ -360,22 +369,21 @@ </node> </node> - <!-- Functions that are least used --> - <node oor:name="m80" oor:op="replace"> + <node oor:name="m70" oor:op="replace"> <prop oor:name="URL" oor:type="xs:string"> <value>private:separator</value> </prop> </node> - <node oor:name="m81" oor:op="replace"> + <node oor:name="m71" oor:op="replace"> <prop oor:name="URL" oor:type="xs:string"> - <value>vnd.sun.star.script:HelpAuthoring.Meta.Main?language=Basic&location=application</value> + <value>vnd.sun.star.script:HelpAuthoring.OtherElements.ToggleParaL10NStatus?language=Basic&location=application</value> </prop> <prop oor:name="Title" oor:type="xs:string"> <value/> - <value xml:lang="en-US">Edit Meta Data </value> + <value xml:lang="en-US">Toggle Paragraph L10N Status (localize="...") </value> </prop> </node> - <node oor:name="m82" oor:op="replace"> + <node oor:name="m72" oor:op="replace"> <prop oor:name="URL" oor:type="xs:string"> <value>vnd.sun.star.script:HelpAuthoring.Helpers.InsertNewParaData?language=Basic&location=application</value> </prop> @@ -384,16 +392,32 @@ <value xml:lang="en-US">Assign Paragraph ID </value> </prop> </node> - <node oor:name="m83" oor:op="replace"> + <node oor:name="m73" oor:op="replace"> <prop oor:name="URL" oor:type="xs:string"> - <value>vnd.sun.star.script:HelpAuthoring.OtherElements.ToggleParaL10NStatus?language=Basic&location=application</value> + <value>vnd.sun.star.script:HelpAuthoring._Main.UnhideParaIDs?language=Basic&location=application</value> </prop> <prop oor:name="Title" oor:type="xs:string"> <value/> - <value xml:lang="en-US">Toggle L10N (localize="...") </value> + <value xml:lang="en-US">Unhide Paragraph IDs </value> </prop> </node> - <node oor:name="m84" oor:op="replace"> + + <!-- Functions that are least used --> + <node oor:name="m80" oor:op="replace"> + <prop oor:name="URL" oor:type="xs:string"> + <value>private:separator</value> + </prop> + </node> + <node oor:name="m81" oor:op="replace"> + <prop oor:name="URL" oor:type="xs:string"> + <value>vnd.sun.star.script:HelpAuthoring.Meta.Main?language=Basic&location=application</value> + </prop> + <prop oor:name="Title" oor:type="xs:string"> + <value/> + <value xml:lang="en-US">Edit Meta Data </value> + </prop> + </node> + <node oor:name="m82" oor:op="replace"> <prop oor:name="URL" oor:type="xs:string"> <value>vnd.sun.star.script:HelpAuthoring.Validate.Validate?language=Basic&location=application</value> </prop> @@ -402,7 +426,7 @@ <value xml:lang="en-US">Validate Help File </value> </prop> </node> - <node oor:name="m86" oor:op="replace"> + <node oor:name="m83" oor:op="replace"> <prop oor:name="URL" oor:type="xs:string"> <value>vnd.sun.star.script:HelpAuthoring._Main.ReloadXHP?language=Basic&location=application</value> </prop> @@ -411,6 +435,15 @@ <value xml:lang="en-US">Reload File</value> </prop> </node> + <node oor:name="m84" oor:op="replace"> + <prop oor:name="URL" oor:type="xs:string"> + <value>vnd.sun.star.script:HelpAuthoring._Main.OpenXHPText?language=Basic&location=application</value> + </prop> + <prop oor:name="Title" oor:type="xs:string"> + <value/> + <value xml:lang="en-US">View File Source</value> + </prop> + </node> <!-- Functions that maybe opened by the user only once --> <node oor:name="m90" oor:op="replace"> diff --git a/helpauthoring/HelpAuthoring/Helpers.xba b/helpauthoring/HelpAuthoring/Helpers.xba index fdd56bf8..25d533e1 100644 --- a/helpauthoring/HelpAuthoring/Helpers.xba +++ b/helpauthoring/HelpAuthoring/Helpers.xba @@ -1085,4 +1085,23 @@ Function GetUserFieldNumber(fn as String) Next a GetUserFieldNumber = fnum End Function + +'========================================== +'determine Operating System +'========================================== +Function getOS()as String + Select Case getGUIType + Case 1: + getOS="WIN" + Case 3: + getOS="MAC" + Case 4: + If fileExists( "/usr/bin/xdg-open" ) Then + getOS="UNIX" + Else + getOS="OSX" + End If + End Select +End Function + </script:module> diff --git a/helpauthoring/HelpAuthoring/_Main.xba b/helpauthoring/HelpAuthoring/_Main.xba index 4e1c0b31..be5f59c3 100644 --- a/helpauthoring/HelpAuthoring/_Main.xba +++ b/helpauthoring/HelpAuthoring/_Main.xba @@ -99,7 +99,10 @@ Sub SetMetaDataOnSave(Path as String) If desc = "" Then desc = "Help description" End If + InsertTag("AVIS_","<AVIS hid=""."">") + SetCharStyle("Default Style") InsertText( desc ) + InsertTag("_AVIS","</AVIS>") InsertNewParaData() CR() @@ -107,6 +110,7 @@ Sub SetMetaDataOnSave(Path as String) SetCharStyle("Default Style") startTyping = "Start Typing Here..." InsertText( startTyping ) + InsertNewParaData() goKey( ".uno:GoToStartOfLine" ) goLeft(1) @@ -130,7 +134,7 @@ Sub SetMetaDataOnSave(Path as String) end if goKey( ".uno:GoToEndOfDoc" ) ' will stop at end of section instead of end of doc - goRight( 1 ) + goRight( 2 ) goRight( len(startTyping), 1 ) end if @@ -275,6 +279,27 @@ Dim FileProperties(1) As New com.sun.star.beans.PropertyValue oFileDialog.Dispose() End Sub +Sub OpenXHPText( optional doc_url as string ) + If not IsHelpFile Then + msgbox( strErr_NoHelpFile ) + Exit Sub + End If + + if ismissing(doc_url) or doc_url = 0 then + document = StarDesktop.CurrentComponent + doc_url = convertfromurl( document.URL ) + end if + + Dim oSvc as Object + oSvc = createUnoService("com.sun.star.system.SystemShellExecute") + + Select Case getOS() + Case "WIN" : oSvc.execute( "explorer", doc_url, 0) + Case "OSX" : oSvc.execute( "open", doc_url, 0) ' this hasnt been tested yet + Case "UNIX" : oSvc.execute( "xdg-open", doc_url, 0) + End Select +End Sub + Sub OpenLink If not IsHelpFile Then msgbox( strErr_NoHelpFile ) @@ -283,7 +308,7 @@ Sub OpenLink oVC = ThisComponent.CurrentController.getViewCursor If oVC.isCollapsed Then - Print "Please select a <embed> or <link> tag." + msgbox "Please select a <embed> or <link> tag." Else link_start = instr(oVC.String,"<LINK") embed_start = instr(oVC.String,"<EMBED") @@ -296,6 +321,7 @@ Sub OpenLink href_end = instr( href_start + 6, oVC.String, """" ) href = mid( oVC.String, href_start + 6, href_end - href_start - 6 ) section_start = instr( href, "#" ) + section = "" If section_start Then section = mid( href, section_start + 1, len(href) - section_start ) href = mid( href, 1, section_start - 1 ) @@ -303,16 +329,57 @@ Sub OpenLink sPath = ReadConfig("HelpPrefix") + href if StarDesktop.CurrentComponent.URL = sPath then - print "Cant open currently open help file" + msgbox "Cant open currently open help file" else Dim FileProperties(1) As New com.sun.star.beans.PropertyValue FileProperties(0).Name = "FilterName" FileProperties(0).Value ="XHP_Help" oDoc = StarDesktop.loadComponentFromURL(sPath, "_blank", 0, FileProperties()) - ' would be good to add code here to jump to the link's section/variable reference location in the file + if section <> "" then + FindLink( oDoc, section ) + end if end if Else - Print "Please select a <embed> or <link> tag." + msgbox "Please select a <embed> or <link> tag." + End If + EndIf +End Sub + +Sub OpenLinkSource + If not IsHelpFile Then + msgbox( strErr_NoHelpFile ) + Exit Sub + End If + + oVC = ThisComponent.CurrentController.getViewCursor + If oVC.isCollapsed Then + msgbox "Please select a <embed> or <link> tag." + Else + link_start = instr(oVC.String,"<LINK") + embed_start = instr(oVC.String,"<EMBED") + If link_start Or embed_start Then + If link_start Then + href_start = instr( link_start, oVC.String, "href=""" ) + Else + href_start = instr( embed_start, oVC.String, "href=""" ) + End If + href_end = instr( href_start + 6, oVC.String, """" ) + href = mid( oVC.String, href_start + 6, href_end - href_start - 6 ) + section_start = instr( href, "#" ) + section = "" + If section_start Then + section = mid( href, section_start + 1, len(href) - section_start ) + href = mid( href, 1, section_start - 1 ) + End If + + sPath = ReadConfig("HelpPrefix") + href + if StarDesktop.CurrentComponent.URL = sPath then + msgbox "Cant open currently open help file" + else + OpenXHPText( sPath ) + end if + Else + msgbox "Please select a <embed> or <link> tag." End If EndIf End Sub @@ -332,4 +399,55 @@ Sub ReloadXHP document.close(-1) oDoc = StarDesktop.loadComponentFromURL(path, path, 0, FileProperties()) End Sub + +Sub UnhideParaIDs + oDoc = StarDesktop.CurrentComponent + Enum = oDoc.Text.createEnumeration + + Do While Enum.hasMoreElements + TE = Enum.nextElement + + If TE.supportsService("com.sun.star.text.Paragraph") Then + If Left(TE.ParaStyleName,4) = "hlp_" AND Not(Left(TE.ParaStyleName,8) = "hlp_aux_") Then + sText = TE.GetString + + If sText <> "" Then + TP = TE.createEnumeration + Ct = 0 + posID = 0 + + While TP.hasmoreElements + Ct = Ct+1 + TPE = TP.nextElement + If TPE.TextPortionType="TextField" Then + If TPE.TextField.TextFieldMaster.Name="ID" Then + TPE.TextField.IsVisible = TRUE + End If + End If + If TPE.String = "" Then + Ct = Ct-1 + End If + Wend + End If + End If + End If + Loop +End Sub + +Sub FindLink( oDoc, section ) + oDoc = StarDesktop.CurrentComponent + Enum = oDoc.Text.createEnumeration + + Do While Enum.hasMoreElements + TE = Enum.nextElement + + If TE.supportsService("com.sun.star.text.Paragraph") Then + if instr( lcase(TE.GetString), "id=""" + section + """" ) then + oCur = TE.getText.createTextCursorByRange(TE) + thiscomponent.getcurrentcontroller.select(oCur) + exit sub + end if + end if + Loop +End Sub </script:module> |