diff --git a/ePublishing/TOCLinks.xba b/ePublishing/TOCLinks.xba index 1781e80..4fd5119 100644 --- a/ePublishing/TOCLinks.xba +++ b/ePublishing/TOCLinks.xba @@ -18,6 +18,7 @@ Sub makeLinksWithLevel(level) Dim outline() As Object Dim oAnchor1Name As String Dim oAnchor2Name As String + Dim message As String Dim i As Integer heading = getHeadingWithLevel(level) outline = getOutlineWithLevel(level) @@ -31,7 +32,10 @@ Sub makeLinksWithLevel(level) createLink(outline(i),"",oAnchor2Name) Next i Else - MsgBox getTranslation("TOCErrorContentsNotMatchHeadings1") & " " & level & " (" & (Ubound(outline)+1) & getTranslation("TOCErrorContentsNotMatchHeadings2") & " " & level & " " & getTranslation("TOCErrorContentsNotMatchHeadings3") & (Ubound(heading)+1) & ")" + message = getTranslation("TOCErrorContentsNotMatchHeadings1") & " " & level & " (" & (Ubound(outline)+1) &") " & _ + getTranslation("TOCErrorContentsNotMatchHeadings2") & " " & level & " " & _ + getTranslation("TOCErrorContentsNotMatchHeadings3") & " (" & (Ubound(heading)+1) & ")" + showTOCLinksDialog(message, heading(), outline() ) EndIf ElseIf Ubound(outline) = -1 Then ' MsgBox (getTranslation("TOCErrorNoContents1") & " " & level & " " & getTranslation("TOCErrorNoContents2")) @@ -131,6 +135,93 @@ Function getOutlineWithLevel(curNum) getOutlineWithLevel = par() End Function + +Sub showTOCLinksDialog(message As String, heading() As Object, outline() As Object) + Dim pDialog As Object + Dim grid As Object + Dim headingsColumn As Object + Dim tocColumn As Object + Dim oGridControl As Object + Dim oColumnModel As Object + Dim oDataModel As Object + Dim i As Integer + Dim j As Integer + Dim outlineCell As String + Dim headingCell As String + DialogLibraries.LoadLibrary("ePublishing") + pDialog = CreateUnoDialog( DialogLibraries.ePublishing.toc_links ) + + 'grid = pDialog.getControl("grid") + grid = pDialog.Model.createInstance("com.sun.star.awt.grid.UnoControlGridModel") + grid.Name = "tocGrid" + grid.ShowColumnHeader = True + grid.ShowRowHeader = false + grid.VScroll = true + grid.Sizeable = true + grid.Step = 0 + + oColumnModel = createUnoService( "com.sun.star.awt.grid.DefaultGridColumnModel") + + tocColumn = createUnoService( "com.sun.star.awt.grid.GridColumn") + tocColumn.Title = getTranslation("tocItemText") + tocColumn.ColumnWidth = 100 + tocColumn.Resizeable = true + 'tocColumn.Flexibility = true + + oColumnModel.addColumn( tocColumn ) + + headingsColumn = createUnoService( "com.sun.star.awt.grid.GridColumn") + headingsColumn.Title = getTranslation("headingItemText") + headingsColumn.ColumnWidth = 100 + headingsColumn.Resizeable = true + 'headingsColumn.Flexibility = true + + oColumnModel.addColumn( headingsColumn ) + + grid.ColumnModel = oColumnModel + 'grid.Sizeable = False + 'gridStep = 0 + + oDataModel = createUnoService( "com.sun.star.awt.grid.DefaultGridDataModel") + If Ubound(outline) > Ubound(heading) Then + For i = 0 To (Ubound(outline)) + outlineCell = outline(i).getString() + j = i MOD (Ubound(heading) + 1) + headingCell = heading(j).getString() + oDataModel.addRow ( i+1 , Array(outlineCell, headingCell) ) + Next + Else + For i = 0 To (Ubound(heading)) + headingCell = heading(i).getString() + If i > Ubound(outline) Then + outlineCell = "" + Else + outlineCell = outline(i).getString() + EndIf + oDataModel.addRow ( i+1 , Array(outlineCell, headingCell) ) + Next i + EndIf + grid.GridDataModel = oDataModel + + oGridControl = createUnoService("com.sun.star.awt.grid.UnoControlGrid") + oGridControl.setModel(grid) + pDialog.addControl("gridtab", oGridControl) + oGridControl.setPosSize(10,40,850,550, 15) + + + + + pDialog.getControl("Ok").Label = getTranslation("buttonOk") + pDialog.getControl("message").SetText(message) + pDialog.Title = getTranslation("tocDialogLabel") + pDialog.Execute() + pDialog.dispose() +End Sub + + + + + Sub addToArray(xArray(),vNextElement) Dim iUB As Integer Dim iLB As Integer @@ -146,4 +237,4 @@ Sub addToArray(xArray(),vNextElement) xArray(iUB) = vNextElement End Sub - \ No newline at end of file + diff --git a/ePublishing/Translations.xba b/ePublishing/Translations.xba index a47b9e3..fac044c 100644 --- a/ePublishing/Translations.xba +++ b/ePublishing/Translations.xba @@ -29,7 +29,7 @@ End Function Function getRussian(identifier As String) As String Select Case identifier Case "buttonOk" - getRussian = "Применить" + getRussian = "OK" Exit Function Case "buttonCancel" getRussian = "Отмена" @@ -140,10 +140,10 @@ Function getRussian(identifier As String) As String getRussian = "Число параграфов со стилем Оглавление " Exit Function Case "TOCErrorContentsNotMatchHeadings2" - getRussian = ") не кратно числу Заголовоков" + getRussian = " не кратно числу Заголовоков" Exit Function Case "TOCErrorContentsNotMatchHeadings3" - getRussian = "уровня (" + getRussian = "уровня " Exit Function Case "complileJournalIssueConfirmation" getRussian = "Вы уверены, что хотите запустить сборку выпуска ?" @@ -295,6 +295,15 @@ Function getRussian(identifier As String) As String Case "EndnotesConversionTwoOptions" getRussian = "Найдены и стандартные и ручные концевые сноски. Можно сконвертировать стандартные в ручные (установите курсор в нужном параграфе) или ручные в стандартные" Exit Function + Case "tocDialogLabel" + getRussian = "Ошибка" + Exit Function + Case "tocItemText" + getRussian = "Текст оглавления" + Exit Function + Case "headingItemText" + getRussian = "Текст заголовка" + Exit Function Case Else getRussian = "Перевод не найден" End Select @@ -415,10 +424,10 @@ Function getEnglish(identifier As String) As String getEnglish = "Number of paras with style Contents " Exit Function Case "TOCErrorContentsNotMatchHeadings2" - getEnglish = ") dosn't match number of headings with " + getEnglish = " dosn't match number of headings with " Exit Function Case "TOCErrorContentsNotMatchHeadings3" - getEnglish = "level (" + getEnglish = "level " Exit Function Case "complileJournalIssueConfirmation" getEnglish = "Compile journal issue from articles?" @@ -570,6 +579,15 @@ Function getEnglish(identifier As String) As String Case "EndnotesConversionTwoOptions" getEnglish = "Both standard and manual endnotes are found. You can convert standard to manual (place the cursor in the desired paragraph) or manual to standard" Exit Function + Case "tocDialogLabel" + getEnglish = "Error" + Exit Function + Case "tocItemText" + getEnglish = "Contents item text" + Exit Function + Case "headingItemText" + getEnglish = "Heading text" + Exit Function Case Else getEnglish = "No translation" End Select @@ -689,10 +707,10 @@ Function getFrench(identifier As String) As String getFrench = "Nombre de paragraphes avec style Table des matières." Exit Function Case "TOCErrorContentsNotMatchHeadings2" - getFrench = ") n'est pas un multiple du nombre de titres" + getFrench = " n'est pas un multiple du nombre de titres" Exit Function Case "TOCErrorContentsNotMatchHeadings3" - getFrench = "au niveau (" + getFrench = "au niveau " Exit Function Case "complileJournalIssueConfirmation" getFrench = "Êtes-vous sûr de vouloir compiler un journal à partir d'articles ?" @@ -844,6 +862,15 @@ Function getFrench(identifier As String) As String Case "EndnotesConversionTwoOptions" getFrench = "Des notes de fin standard et manuelles sont trouvées. Vous pouvez convertir standard en manuel (placez le curseur dans le paragraphe souhaité) ou manuel en standard" Exit Function + Case "tocDialogLabel" + getFrench = "Erreur" + Exit Function + Case "tocItemText" + getFrench = "Texte de l'élément de contenu" + Exit Function + Case "headingItemText" + getFrench = "Texte d'en-tête" + Exit Function Case Else getFrench = "No translation" End Select @@ -963,10 +990,10 @@ Function getCroatian(identifier As String) As String getCroatian = "Broj paragrafa sa stilom Sadržaj" Exit Function Case "TOCErrorContentsNotMatchHeadings2" - getCroatian = ") nije višestruko od broja Zaglavlja" + getCroatian = " nije višestruko od broja Zaglavlja" Exit Function Case "TOCErrorContentsNotMatchHeadings3" - getCroatian = "Nivoa (" + getCroatian = "Nivoa " Exit Function Case "complileJournalIssueConfirmation" getCroatian = "Da li ste sigurni da želite da pokrenete gradnju izdanja ?" @@ -1118,6 +1145,15 @@ Function getCroatian(identifier As String) As String Case "EndnotesConversionTwoOptions" getCroatian = "Pronađene su i standardne i ručne bilješke. Možete pretvoriti standardni u ručni (postavite kursor u željeni odlomak) ili ručni u standardni" Exit Function + Case "tocDialogLabel" + getCroatian = "Pogreška" + Exit Function + Case "tocItemText" + getCroatian = "Sadržaj teksta stavke" + Exit Function + Case "headingItemText" + getCroatian = "Tekst zaglavlja" + Exit Function Case Else getCroatian = "No translation" End Select @@ -1237,10 +1273,10 @@ Function getSerbian(identifier As String) As String getSerbian = "Број параграфа са стилом Садржај" Exit Function Case "TOCErrorContentsNotMatchHeadings2" - getSerbian = ") није вишеструко од броја Заглавља" + getSerbian = " није вишеструко од броја Заглавља" Exit Function Case "TOCErrorContentsNotMatchHeadings3" - getSerbian = "Нивоа (" + getSerbian = "Нивоа " Exit Function Case "complileJournalIssueConfirmation" getSerbian = "Да ли сте сигурни да желите да покренете градњу издања ?" @@ -1392,6 +1428,15 @@ Function getSerbian(identifier As String) As String Case "EndnotesConversionTwoOptions" getSerbian = "Пронађене су и стандардне и ручне белешке. Можете претворити стандардни у ручни (поставите курсор у жељени одломак) или ручни у стандардни" Exit Function + Case "tocDialogLabel" + getSerbian = "Грешка" + Exit Function + Case "tocItemText" + getSerbian = "Садржај текста ставке" + Exit Function + Case "headingItemText" + getSerbian = "Текст заглавља" + Exit Function Case Else getSerbian = "No translation" End Select @@ -1511,10 +1556,10 @@ Function getBosnian(identifier As String) As String getBosnian = "Broj paragrafa sa stilom Sadržaj" Exit Function Case "TOCErrorContentsNotMatchHeadings2" - getBosnian = ") nije višestruko od broja Zaglavlja" + getBosnian = " nije višestruko od broja Zaglavlja" Exit Function Case "TOCErrorContentsNotMatchHeadings3" - getBosnian = "Nivoa (" + getBosnian = "Nivoa " Exit Function Case "complileJournalIssueConfirmation" getBosnian = "Da li ste sigurni da želite da pokrenete gradnju izdanja ?" @@ -1666,6 +1711,15 @@ Function getBosnian(identifier As String) As String Case "EndnotesConversionTwoOptions" getBosnian = "Pronađene su i standardne i ručne bilješke. Možete pretvoriti standardni u ručni (postavite kursor u željeni odlomak) ili ručni u standardni" Exit Function + Case "tocDialogLabel" + getBosnian = "Greška" + Exit Function + Case "tocItemText" + getBosnian = "Sadržaj teksta stavke" + Exit Function + Case "headingItemText" + getBosnian = "Tekst zaglavlja" + Exit Function Case Else getBosnian = "No translation" End Select diff --git a/ePublishing/dialog.xlb b/ePublishing/dialog.xlb index a461644..9d58d22 100644 --- a/ePublishing/dialog.xlb +++ b/ePublishing/dialog.xlb @@ -5,4 +5,5 @@ + \ No newline at end of file diff --git a/ePublishing/toc_links.xdl b/ePublishing/toc_links.xdl new file mode 100644 index 0000000..9e0bff5 --- /dev/null +++ b/ePublishing/toc_links.xdl @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/translations.ods b/translations.ods index b7b2ce0..b56e958 100644 Binary files a/translations.ods and b/translations.ods differ