mirror of
https://gitee.com/kekingcn/file-online-preview.git
synced 2026-03-14 13:13:47 +08:00
优化项目结构、优化 maven 结构
This commit is contained in:
@@ -0,0 +1,677 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
||||
<!--***********************************************************
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
***********************************************************-->
|
||||
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="DialogModul" script:language="StarBasic">Option Explicit
|
||||
|
||||
Public Const bDebugWizard = True
|
||||
|
||||
Public Const SBFIRSTAPPLCHECKED = 0
|
||||
Public Const SBSECONDAPPLCHECKED = 1
|
||||
Public Const SBTHIRDAPPLCHECKED = 2
|
||||
Public Const SBFOURTHAPPLCHECKED = 3
|
||||
Public bFilterTracingAvailable as Boolean
|
||||
Public WizardMode as String
|
||||
Public Const SBMICROSOFTMODE = "MS"
|
||||
Public Const SBXMLMODE = "SO"
|
||||
' The absolute maximal Number of possible Applications
|
||||
Public Const Twip = 425
|
||||
Public Const SBMAXAPPLCOUNT = 4
|
||||
Public MaxApplCount as Integer
|
||||
Public CurOffice As Integer
|
||||
Public SOBitmapPath As String
|
||||
Public SOWorkPath As String
|
||||
Public SOTemplatePath as String
|
||||
Public bCancelTask As Boolean
|
||||
Public bDoKeepApplValues as Boolean
|
||||
Public iApplSection as Integer
|
||||
Public oUcb as Object
|
||||
Public PathSeparator as String
|
||||
|
||||
Public ApplCount as Integer
|
||||
Public sKeyName(SBMAXAPPLCOUNT-1) as String
|
||||
Public sValueName(SBMAXAPPLCOUNT-1) as String
|
||||
Public sCRLF as String
|
||||
Public MSFilterName(5,4) as String
|
||||
Public XMLFilterName(7,3) as String 'Number of different formats
|
||||
Public FilterTracingLogPath(2) as String
|
||||
Public bMSApplFilterTracingAvailable(2) as String
|
||||
Public bTakeOverTargetName(2) as Boolean
|
||||
Public bTakeOverPathName(2) as Boolean
|
||||
|
||||
' e.g.:
|
||||
' XMLFilterName(x,0) = "sdw" ' in documents we take the extensions; in SO-templates the appropriate Filtername
|
||||
' XMLFilterName(x,1) = "swriter: StarWriter 5.0" ' the filtername of the target-format
|
||||
' XMLFilterName(x,2) = "sxw" ' the target extension
|
||||
|
||||
Public Applications(SBMAXAPPLCOUNT-1,9)
|
||||
|
||||
Public Const SBAPPLCONVERT = 0
|
||||
Public Const SBDOCCONVERT = 1
|
||||
Public Const SBDOCRECURSIVE = 2
|
||||
Public Const SBDOCSOURCE = 3
|
||||
Public Const SBDOCTARGET = 4
|
||||
Public Const SBTEMPLCONVERT = 5
|
||||
Public Const SBTEMPLRECURSIVE = 6
|
||||
Public Const SBTEMPLSOURCE = 7
|
||||
Public Const SBTEMPLTARGET = 8
|
||||
Public Const SBAPPLKEY = 9
|
||||
Public XMLTemplateList()
|
||||
|
||||
' Application-relating Data are stored in this Array
|
||||
' according to the following structure:
|
||||
' Applications(X,0) = True/False (Application is to be converted)
|
||||
' Applications(X,1) = True/False (Documents are to be converted)
|
||||
' Applications(X,2) = True/False (Including Subdirectories)
|
||||
' Applications(X,3) = "File:///..." (SourceUrl of the documents)
|
||||
' Applications(X,4) = "File///:..." (TargetUrl of the documents)
|
||||
' Applications(X,5) = True/False (Templates are to be converted)
|
||||
' Applications(X,6) = True/False (Including Subdirectories)
|
||||
' Applications(X,7) = "File:///..." (SourceUrl of the templates)
|
||||
' Applications(X,8) = "File:///..." (TargetUrl of the templates)
|
||||
' Applications(X,9) = 0 (Key to the original Index of the Applications)
|
||||
|
||||
Public Const SBMAXEXTENSIONLENGTH = 17
|
||||
|
||||
|
||||
Sub FillStep_Welcome()
|
||||
Dim i as Integer
|
||||
' bDoKeepApplValues = False
|
||||
ImportDialogArea.Title = sTitle
|
||||
With ImportDialog
|
||||
.cmdHelp.Label = sHelpButton
|
||||
.cmdCancel.Label = sCancelButton
|
||||
.cmdBack.Label = sBackButton
|
||||
.cmdGoOn.Label = sNextButton
|
||||
.WelcomeTextLabel.Label = sWelcomeTextLabel1
|
||||
.WelcomeTextLabel2.Label = sWelcomeTextLabel2
|
||||
.WelcomeTextLabel3.Label = sWelcomeTextLabel3
|
||||
|
||||
.optMSDocuments.Label = sContainerName(0)
|
||||
.chkMSApplication1.Label = sMsDocumentCheckbox(0)
|
||||
.chkMSApplication2.Label = sMsDocumentCheckbox(1)
|
||||
.chkMSApplication3.Label = sMsDocumentCheckbox(2)
|
||||
|
||||
.optSODocuments.Label = sContainerName(1)
|
||||
.chkSOApplication1.Label = sSODocumentCheckbox(0)
|
||||
.chkSOApplication2.Label = sSODocumentCheckbox(1)
|
||||
.chkSOApplication3.Label = sSODocumentCheckbox(2)
|
||||
.chkSOApplication4.Label = sSODocumentCheckbox(3)
|
||||
.cmdBack.Enabled = False
|
||||
.Step = 1
|
||||
|
||||
If Not oFactoryKey.hasbyName("com.sun.star.text.TextDocument") Then
|
||||
.chkLogfile.State = 0
|
||||
.chkLogfile.Enabled = False
|
||||
End If
|
||||
End With
|
||||
CheckModuleInstallation()
|
||||
ToggleNextButton()
|
||||
End Sub
|
||||
|
||||
|
||||
Sub FillStep_InputPaths(OfficeIndex as Integer, bStartup as Boolean)
|
||||
Dim Index as Integer
|
||||
Dim oNullObject as Object
|
||||
If bStartup And Not bDoKeepApplValues Then
|
||||
If ImportDialog.optMSDocuments.State = 1 Then
|
||||
SetupMSConfiguration()
|
||||
Else
|
||||
SetupXMLConfiguration()
|
||||
End If
|
||||
FillUpApplicationList()
|
||||
End If
|
||||
CurOffice = OfficeIndex
|
||||
Index = Applications(CurOffice,SBAPPLKEY)
|
||||
InitializePathsforCurrentApplication(Index)
|
||||
With ImportDialog
|
||||
.chkTemplatePath.Label = sTemplateCheckbox(Index)
|
||||
.chkDocumentPath.State = Abs(Applications(CurOffice,SBDOCCONVERT))
|
||||
.chkDocumentSearchSubDir.State = Abs(Applications(CurOffice,SBDOCRECURSIVE))
|
||||
.txtDocumentImportPath.Text = ConvertFromUrl(Applications(CurOffice,SBDOCSOURCE))
|
||||
.txtDocumentExportPath.Text = ConvertFromUrl(Applications(CurOffice,SBDOCTARGET))
|
||||
.hlnDocuments.Label = sProgressMoreDocs
|
||||
If WizardMode = SBXMLMODE Then
|
||||
ImportDialogArea.Title = sTitle & " - " & sSODocumentCheckBox(Index)
|
||||
Else
|
||||
ImportDialogArea.Title = sTitle & " - " & sMSDocumentCheckBox(Index)
|
||||
End If
|
||||
If WizardMode = SBXMLMODE AND Index = 3 Then
|
||||
' Note: SO-Helper Applications are partly treated like templates although they only have documents
|
||||
.hlnTemplates.Label = sProgressMoreDocs
|
||||
.chkTemplatePath.Label = sSOHelperDocuments(0,0)
|
||||
.chkTemplatePath.Enabled = oFactoryKey.HasByName(sSOHelperDocuments(0,1))
|
||||
.chkDocumentPath.Label = sSOHelperDocuments(1,0)
|
||||
.chkDocumentPath.Enabled = oFactoryKey.HasByName(sSOHelperDocuments(1,1))
|
||||
Else
|
||||
.chkTemplatePath.Enabled = True
|
||||
.chkDocumentPath.Enabled = True
|
||||
.chkTemplatePath.Label = sTemplateCheckbox(Index)
|
||||
.chkDocumentPath.Label = sDocumentCheckbox(Index)
|
||||
.hlnTemplates.Label = sProgressMoreTemplates
|
||||
End If
|
||||
.chkTemplatePath.State = Abs(Applications(CurOffice,SBTEMPLCONVERT))
|
||||
ToggleInputPaths(oNullObject,"Template")
|
||||
ToggleInputPaths(oNullObject,"Document")
|
||||
.chkTemplateSearchSubDir.State = Abs(Applications(CurOffice,SBTEMPLRECURSIVE))
|
||||
.txtTemplateImportPath.Text = ConvertFromUrl(Applications(CurOffice,SBTEMPLSOURCE))
|
||||
.txtTemplateExportPath.Text = ConvertFromUrl(Applications(CurOffice,SBTEMPLTARGET))
|
||||
.cmdGoOn.Label = sNextButton
|
||||
.cmdBack.Enabled = True
|
||||
ImportDialog.Step = 2
|
||||
End With
|
||||
ImportDialogArea.GetControl("chkTemplatePath").SetFocus()
|
||||
ToggleNextButton()
|
||||
End Sub
|
||||
|
||||
|
||||
Sub FillUpApplicationList()
|
||||
Dim i as Integer
|
||||
Dim a as Integer
|
||||
Dim BoolValue as Boolean
|
||||
If Not bDoKeepApplValues Then
|
||||
a = 0
|
||||
For i = 1 To ApplCount
|
||||
If ImportDialog.optMSDocuments.State = 1 Then
|
||||
BoolValue = ImportDialogArea.GetControl("chkMSApplication" & i).Model.State = 1
|
||||
Else
|
||||
BoolValue = ImportDialogArea.GetControl("chkSOApplication" & i).Model.State = 1
|
||||
End If
|
||||
Applications(a,SBAPPLCONVERT) = BoolValue
|
||||
Applications(a,SBDOCCONVERT) = BoolValue
|
||||
Applications(a,SBDOCRECURSIVE) = BoolValue
|
||||
Applications(a,SBDOCSOURCE) = "" ' GetDefaultPath(i)
|
||||
Applications(a,SBDOCTARGET) = "" ' SOWorkPath
|
||||
Applications(a,SBTEMPLCONVERT) = BoolValue
|
||||
Applications(a,SBTEMPLRECURSIVE) = BoolValue
|
||||
Applications(a,SBTEMPLSOURCE) = "" ' GetTemplateDefaultPath(i)
|
||||
Applications(a,SBTEMPLTARGET) = "" ' GetTargetTemplatePath(i)
|
||||
Applications(a,SBAPPLKEY) = i-1
|
||||
If BoolValue Then
|
||||
a = a + 1
|
||||
End If
|
||||
Next i
|
||||
ApplCount = a
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Sub InitializePathsforCurrentApplication(i as Integer)
|
||||
AssignPathToCurrentApplication(SBDOCSOURCE, GetDefaultPath(i))
|
||||
AssignPathToCurrentApplication(SBDOCTARGET, SOWorkPath)
|
||||
AssignPathToCurrentApplication(SBTEMPLSOURCE, GetTemplateDefaultPath(i))
|
||||
AssignPathToCurrentApplication(SBTEMPLTARGET, GetTargetTemplatePath(i))
|
||||
End Sub
|
||||
|
||||
|
||||
Sub AssignPathToCurrentApplication(Index as Integer, NewPath as String)
|
||||
If Applications(CurOffice,Index) = "" Then
|
||||
If CurOffice > 0 Then
|
||||
Applications(CurOffice,Index) = Applications(CurOffice-1,Index)
|
||||
Else
|
||||
Applications(CurOffice,Index) = NewPath
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Sub SaveStep_InputPath()
|
||||
Applications(CurOffice,SBDOCCONVERT) = ImportDialog.chkDocumentPath.State = 1
|
||||
Applications(CurOffice,SBDOCRECURSIVE) = ImportDialog.chkDocumentSearchSubDir.State = 1
|
||||
Applications(CurOffice,SBDOCSOURCE) = ConvertToURL(ImportDialog.txtDocumentImportPath.Text)
|
||||
Applications(CurOffice,SBDOCTARGET) = ConvertToUrl(ImportDialog.txtDocumentExportPath.Text)
|
||||
Applications(CurOffice,SBTEMPLCONVERT) = ImportDialog.chkTemplatePath.State = 1
|
||||
Applications(CurOffice,SBTEMPLRECURSIVE) = ImportDialog.chkTemplateSearchSubDir.State = 1
|
||||
Applications(CurOffice,SBTEMPLSOURCE) = ConvertToURL(ImportDialog.txtTemplateImportPath.Text)
|
||||
Applications(CurOffice,SBTEMPLTARGET) = ConvertToURL(ImportDialog.txtTemplateExportPath.Text)
|
||||
End Sub
|
||||
|
||||
|
||||
Sub ToggleInputPaths(aEvent as Object, Optional sDocType)
|
||||
Dim bDoEnable as Boolean
|
||||
Dim sLocDocType as String
|
||||
Dim oCheckBox as Object
|
||||
If Not IsNull(aEvent) Then
|
||||
sLocDocType = aEvent.Source.Model.Tag
|
||||
Else
|
||||
sLocDocType = sDocType
|
||||
End If
|
||||
With ImportDialogArea
|
||||
oCheckBox = .GetControl("chk" & sLocDocType & "Path").Model
|
||||
bDoEnable = oCheckBox.State = 1 And oCheckBox.Enabled
|
||||
.GetControl("lbl" & sLocDocType & "Import").Model.Enabled = bDoEnable
|
||||
.GetControl("lbl" & sLocDocType & "Export").Model.Enabled = bDoEnable
|
||||
.GetControl("txt" & sLocDocType & "ImportPath").Model.Enabled = bDoEnable
|
||||
.GetControl("txt" & sLocDocType & "ExportPath").Model.Enabled = bDoEnable
|
||||
.GetControl("chk" & sLocDocType & "SearchSubDir").Model.Enabled = bDoEnable
|
||||
.GetControl("cmd" & sLocDocType & "Import").Model.Enabled = bDoEnable
|
||||
.GetControl("cmd" & sLocDocType & "Export").Model.Enabled = bDoEnable
|
||||
End With
|
||||
ToggleNextButton()
|
||||
End Sub
|
||||
|
||||
|
||||
Function MakeSummaryString()
|
||||
Dim sTmpText As String
|
||||
Dim i as Integer
|
||||
Dim Index as Integer
|
||||
Dim sAddText as String
|
||||
For i = 0 To ApplCount -1
|
||||
Index = Applications(i,SBAPPLKEY)
|
||||
GetFilterTracingLogPath(i, Index)
|
||||
If Applications(i,SBTEMPLCONVERT) Then
|
||||
' Templates are to be converted
|
||||
sAddText = ""
|
||||
If WizardMode = SBMICROSOFTMODE Then
|
||||
sAddText = sSumMSTemplates(Index) & sCRLF
|
||||
Else
|
||||
sAddText = sSumSOTemplates(Index) & sCRLF
|
||||
End If
|
||||
sTmpText = sTmpText & sAddText & ConvertFromUrl(Applications(i,SBTEMPLSOURCE)) & sCRLF
|
||||
If Applications(i,SBTEMPLRECURSIVE) Then
|
||||
' Including Subdirectories
|
||||
sTmpText = sTmpText & sSumInclusiveSubDir & sCRLF
|
||||
End If
|
||||
sTmpText = sTmpText & sSumSaveDocuments & sCRLF
|
||||
sTmpText = sTmpText & ConvertFromUrl(Applications(i,SBTEMPLTARGET)) & sCRLF
|
||||
sTmpText = sTmpText & sCRLF
|
||||
End If
|
||||
|
||||
If Applications(i,SBDOCCONVERT) Then
|
||||
' Documents are to be converted
|
||||
If WizardMode = SBMICROSOFTMODE Then
|
||||
sAddText = sSumMSDocuments(Index) & sCRLF
|
||||
Else
|
||||
sAddText = sSumSODocuments(Index) & sCRLF
|
||||
End If
|
||||
sTmpText = sTmpText & sAddText & ConvertFromUrl(Applications(i,SBDOCSOURCE)) & sCRLF
|
||||
|
||||
If Applications(i,SBDOCRECURSIVE) Then
|
||||
' Including Subdirectories
|
||||
sTmpText = sTmpText & sSumInclusiveSubDir & sCRLF
|
||||
End If
|
||||
|
||||
sTmpText = sTmpText & sSumSaveDocuments & sCRLF
|
||||
sTmpText = sTmpText & ConvertFromUrl(Applications(i,SBDOCTARGET)) & sCRLF
|
||||
sTmpText = sTmpText & sCRLF
|
||||
End If
|
||||
Next i
|
||||
MakeSummaryString = sTmpText
|
||||
End Function
|
||||
|
||||
|
||||
Sub FillStep_Summary()
|
||||
ImportDialogArea.Title = sTitle
|
||||
With ImportDialog
|
||||
.SummaryTextbox.Text = MakeSummaryString()
|
||||
.cmdGoOn.Enabled = .SummaryTextbox.Text <> ""
|
||||
.cmdGoOn.Label = sBeginButton
|
||||
.SummaryHeaderLabel.Label = sSummaryHeader
|
||||
.Step = 3
|
||||
End With
|
||||
ImportDialogArea.GetControl("SummaryHeaderLabel").SetFocus()
|
||||
End Sub
|
||||
|
||||
|
||||
Sub FillStep_Progress()
|
||||
With ImportDialog
|
||||
.cmdBack.Enabled = False
|
||||
.cmdGoOn.Enabled = False
|
||||
.hlnProgress.Label = sProgressPage_1
|
||||
.LabelRetrieval.FontWeight = com.sun.star.awt.FontWeight.BOLD
|
||||
.LabelRetrieval.Label = sProgressPage_2
|
||||
.LabelCurProgress.Label = sProgressPage_3
|
||||
.LabelCurDocumentRetrieval.Label = ""
|
||||
.LabelCurTemplateRetrieval.Label = ""
|
||||
.LabelCurDocument.Label = ""
|
||||
.Step = 4
|
||||
End With
|
||||
ImportDialogArea.GetControl("LabelRetrieval").SetFocus()
|
||||
If ImportDialog.chkLogfile.State = 1 Then
|
||||
ImportDialog.cmdShowLogFile.DefaultButton = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Sub GetFilterTracingLogPath(i as Integer, Index as Integer)
|
||||
Dim aNodePath(0) as new com.sun.star.beans.PropertyValue
|
||||
Dim oMasterKey
|
||||
Dim oImportKey
|
||||
Dim oWordKey
|
||||
Dim oExcelkey
|
||||
Dim oPowerpointKey
|
||||
Dim oFilterService
|
||||
aNodePath(0).Name = "nodepath"
|
||||
aNodePath(0).Value = "org.openoffice.Office.Tracing"
|
||||
oFilterService = createUnoService("com.sun.star.util.FilterTracer")
|
||||
bFilterTracingAvailable = Not IsNull(oFilterService)
|
||||
If bFilterTracingAvailable Then
|
||||
oMasterkey = GetRegistryKeyContent("org.openoffice.Office.Tracing/")
|
||||
If oMasterKey.hasbyName("Import") Then
|
||||
oImportKey = GetRegistryKeyContent("org.openoffice.Office.Tracing/Import")
|
||||
bMSApplFilterTracingAvailable(i) = CheckMSImportAvailability(oImportkey, MSFiltername(Index, 4), FilterTracingLogPath(i), bTakeOverTargetName(i), bTakeOverPathName(i))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Function CheckMSImportAvailability(oImportkey, MSApplName as String, MSLogPath as String, bTakeOverTargetname as String, bTakeOverpathName as String) as Boolean
|
||||
Dim bApplIsAvailable as Boolean
|
||||
Dim oApplKey
|
||||
Dim LocApplName as String
|
||||
Dim LocApplPath as String
|
||||
bApplIsAvailable = oImportKey.hasbyName(MSApplName)
|
||||
If bApplIsAvailable Then
|
||||
oApplKey = oImportKey.getByName(MSApplName)
|
||||
bApplIsAvailable = oApplKey.On
|
||||
LocApplName = oApplKey.Name
|
||||
LocApplPath = oApplKey.Path
|
||||
bTakeOverTargetName = (LocApplName = "")
|
||||
bTakeOverPathName = (LocApplPath = "")
|
||||
MSLogPath = LocApplPath & "/" & LocApplName & ".log"
|
||||
End If
|
||||
CheckMSImportAvailability() = bApplIsAvailable
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Sub SetupMSConfiguration()
|
||||
iApplSection = 0
|
||||
Wizardmode = SBMICROSOFTMODE
|
||||
MaxApplCount = 3
|
||||
ApplCount = 3
|
||||
' chkTemplatePath-Captions
|
||||
GetApplResourceArray(1009 + iApplSection, ApplCount, sTemplateCheckBox())
|
||||
' DocumentCheckbox- Captions
|
||||
GetApplResourceArray(1009 + iApplSection + ApplCount, ApplCount, sDocumentCheckBox())
|
||||
|
||||
sKeyName(0) = "Software\Microsoft\Office\8.0\Word\Options"
|
||||
sKeyName(1) = "Software\Microsoft\Office\8.0\Excel\Microsoft Excel"
|
||||
sKeyName(2) = "Software\Microsoft\Office\8.0\PowerPoint\Recent Folder List\Default"
|
||||
|
||||
sValueName(0) = "DOC-PATH"
|
||||
sValueName(1) = "DefaultPath"
|
||||
sValueName(2) = ""
|
||||
|
||||
' See definition of Filtername-Array about meaning of fields
|
||||
MSFilterName(0,0) = "doc|docx|docm"
|
||||
MSFilterName(0,1) = "writer8|writer8|writer8"
|
||||
MSFilterName(0,2) = "odt|odt|odt"
|
||||
MSFilterName(0,3) = sMSDocumentCheckBox(0)
|
||||
MSFilterName(0,4) = "Word"
|
||||
|
||||
|
||||
MSFilterName(1,0) = "xls|xlsx|xlsm"
|
||||
MSFilterName(1,1) = "calc8|calc8|calc8"
|
||||
MSFilterName(1,2) = "ods|ods|ods"
|
||||
MSFilterName(1,3) = sMSDocumentCheckBox(1)
|
||||
MSFilterName(1,4) = "Excel"
|
||||
|
||||
MSFilterName(2,0) = "ppt|pps|pptx|pptm"
|
||||
MSFilterName(2,1) = "impress8|impress8|impress8|impress8"
|
||||
MSFilterName(2,2) = "odp|odp|odp|odp"
|
||||
MSFilterName(2,3) = sMSDocumentCheckBox(2)
|
||||
MSFilterName(2,4) = "PowerPoint"
|
||||
|
||||
MSFilterName(3,0) = "dot|dotx|dotm"
|
||||
MSFilterName(3,1) = "writer8_template|writer8_template|writer8_template"
|
||||
MSFilterName(3,2) = "ott|ott|ott"
|
||||
MSFilterName(3,3) = sMSTemplateCheckBox(0)
|
||||
MSFilterName(3,4) = "Word"
|
||||
|
||||
MSFilterName(4,0) = "xlt|xltx|xltm"
|
||||
MSFilterName(4,1) = "calc8_template|calc8_template|calc8_template"
|
||||
MSFilterName(4,2) = "ots|ots|ots"
|
||||
MSFilterName(4,3) = sMSTemplateCheckBox(1)
|
||||
MSFilterName(4,4) = "Excel"
|
||||
|
||||
MSFilterName(5,0) = "pot|potx|potm"
|
||||
MSFilterName(5,1) = "impress8_template|impress8_template|impress8_template"
|
||||
MSFilterName(5,2) = "otp|otp|otp"
|
||||
MSFilterName(5,3) = sMSTemplateCheckBox(2)
|
||||
MSFilterName(5,4) = "PowerPoint"
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
' This is an extract from "http://util.openoffice.org/source/browse/util/sot/source/base/exchange.cxx?rev=1.25&content-type=text/x-cvsweb-markup"
|
||||
' about the listed defined mimetypes that are required to define binary StarOffice templates that have for all applications the same extension ".vor"
|
||||
|
||||
' 26 SOT_FORMATSTR_ID_STARWRITER_30*/ { "application/x-openoffice-starwriter-30;windows_formatname=\"StarWriter 3.0\"", "StarWriter 3.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
' 27 SOT_FORMATSTR_ID_STARWRITER_40*/ { "application/x-openoffice-starwriter-40;windows_formatname=\"StarWriter 4.0\"", "StarWriter 4.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
' 28 SOT_FORMATSTR_ID_STARWRITER_50*/ { "application/x-openoffice-starwriter-50;windows_formatname=\"StarWriter 5.0\"", "StarWriter 5.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
|
||||
' 29 SOT_FORMATSTR_ID_STARWRITERWEB_40*/ { "application/x-openoffice-starwriterweb-40;windows_formatname=\"StarWriter/Web 4.0\"", "StarWriter/Web 4.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
' 30 SOT_FORMATSTR_ID_STARWRITERWEB_50*/ { "application/x-openoffice-starwriterweb-50;windows_formatname=\"StarWriter/Web 5.0\"", "StarWriter/Web 5.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
|
||||
' 31 SOT_FORMATSTR_ID_STARWRITERGLOB_40*/ { "application/x-openoffice-starwriterglob-40;windows_formatname=\"StarWriter/Global 4.0\"", "StarWriter/Global 4.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
' 32 SOT_FORMATSTR_ID_STARWRITERGLOB_50*/ { "application/x-openoffice-starwriterglob-50;windows_formatname=\"StarWriter/Global 5.0\"", "StarWriter/Global 5.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
|
||||
' 33 SOT_FORMATSTR_ID_STARDRAW*/ { "application/x-openoffice-stardraw;windows_formatname=\"StarDrawDocument\"", "StarDrawDocument", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
' 34 SOT_FORMATSTR_ID_STARDRAW_40*/ { "application/x-openoffice-stardraw-40;windows_formatname=\"StarDrawDocument 4.0\"", "StarDrawDocument 4.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
' 36 SOT_FORMATSTR_ID_STARDRAW_50*/ { "application/x-openoffice-stardraw-50;windows_formatname=\"StarDraw 5.0\"", "StarDraw 5.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
|
||||
' 35 SOT_FORMATSTR_ID_STARIMPRESS_50*/ { "application/x-openoffice-starimpress-50;windows_formatname=\"StarImpress 5.0\"", "StarImpress 5.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
|
||||
' 37 SOT_FORMATSTR_ID_STARCALC*/ { "application/x-openoffice-starcalc;windows_formatname=\"StarCalcDocument\"", "StarCalcDocument", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
' 38 SOT_FORMATSTR_ID_STARCALC_40*/ { "application/x-openoffice-starcalc-40;windows_formatname=\"StarCalc 4.0\"", "StarCalc 4.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
' 39 SOT_FORMATSTR_ID_STARCALC_50*/ { "application/x-openoffice-starcalc-50;windows_formatname=\"StarCalc 5.0\"", "StarCalc 5.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
|
||||
' 40 SOT_FORMATSTR_ID_STARCHART*/ { "application/x-openoffice-starchart;windows_formatname=\"StarChartDocument\"", "StarChartDocument", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
' 41 SOT_FORMATSTR_ID_STARCHART_40*/ { "application/x-openoffice-starchart-40;windows_formatname=\"StarChartDocument 4.0\"", "StarChartDocument 4.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
' 42 SOT_FORMATSTR_ID_STARCHART_50*/ { "application/x-openoffice-starchart-50;windows_formatname=\"StarChart 5.0\"", "StarChart 5.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
|
||||
' 46 SOT_FORMATSTR_ID_STARMATH*/ { "application/x-openoffice-starmath;windows_formatname=\"StarMath\"", "StarMath", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
' 47 SOT_FORMATSTR_ID_STARMATH_40*/ { "application/x-openoffice-starmath-40;windows_formatname=\"StarMathDocument 4.0\"", "StarMathDocument 4.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
' 48 SOT_FORMATSTR_ID_STARMATH_50*/ { "application/x-openoffice-starmath-50;windows_formatname=\"StarMath 5.0\"", "StarMath 5.0", &::getCppuType( (const Sequence< sal_Int8 >*) 0 ) },
|
||||
|
||||
|
||||
Sub SetupXMLConfiguration()
|
||||
iApplSection = 1000
|
||||
Wizardmode = SBXMLMODE
|
||||
ApplCount = 4
|
||||
MaxApplCount = 4
|
||||
XMLTemplateList = Array("vor", "sti", "stw" , "stc" , "std")
|
||||
' chkTemplatePath-Captions
|
||||
GetApplResourceArray(1009 + iApplSection, ApplCount, sTemplateCheckBox())
|
||||
' DocumentCheckbox- Captions
|
||||
GetApplResourceArray(1009 + iApplSection + ApplCount, ApplCount, sDocumentCheckBox())
|
||||
|
||||
XMLFilterName(0,0) = "sdw|sxw"
|
||||
XMLFilterName(0,1) = "writer8|writer8"
|
||||
XMLFilterName(0,2) = "odt|odt"
|
||||
XMLFilterName(0,3) = sDocumentCheckBox(0)
|
||||
|
||||
XMLFilterName(1,0) = "sdc|sxc"
|
||||
XMLFilterName(1,1) = "calc8|calc8"
|
||||
XMLFilterName(1,2) = "ods|ods"
|
||||
XMLFilterName(1,3) = sDocumentCheckBox(1)
|
||||
|
||||
If oFactoryKey.HasByName("com.sun.star.drawing.DrawingDocument") and oFactoryKey.HasByName("com.sun.star.presentation.PresentationDocument") Then
|
||||
XMLFilterName(2,0) = "sdd|sda|sxi|sxd"
|
||||
XMLFilterName(2,1) = "impress8|draw8|impress8|draw8"
|
||||
XMLFilterName(2,2) = "odp|odg|odp|odg"
|
||||
Elseif oFactoryKey.HasByName("com.sun.star.drawing.DrawingDocument") Then
|
||||
XMLFilterName(2,0) = "sda|sxd"
|
||||
XMLFilterName(2,1) = "draw8|draw8"
|
||||
XMLFilterName(2,2) = "odg|odg"
|
||||
Elseif oFactoryKey.HasByName("com.sun.star.presentation.PresentationDocument") Then
|
||||
XMLFilterName(2,0) = "sdd|sxi"
|
||||
XMLFilterName(2,1) = "impress8|impress8"
|
||||
XMLFilterName(2,2) = "odp|odp"
|
||||
End If
|
||||
XMLFilterName(2,3) = sDocumentCheckBox(2)
|
||||
|
||||
|
||||
XMLFilterName(3,0) = "smf|sxm"
|
||||
XMLFilterName(3,1) = "math8|math8"
|
||||
XMLFilterName(3,2) = "odf|odf"
|
||||
XMLFilterName(3,3) = sDocumentCheckBox(3)
|
||||
|
||||
XMLFilterName(4,0) = "application/x-openoffice-starwriter|application/vnd.stardivision.writer/web|application/vnd.sun.xml.writer|application/vnd.sun.xml.writerweb"
|
||||
XMLFilterName(4,1) = "writer8_template|writerweb8_writer_template|writer8_template|writerweb8_writer_template"
|
||||
XMLFilterName(4,2) = "ott|oth|ott|oth"
|
||||
XMLFilterName(4,3) = sTemplateCheckBox(0)
|
||||
|
||||
|
||||
XMLFilterName(5,0) = "application/x-openoffice-starcalc|application/vnd.sun.xml.calc"
|
||||
XMLFilterName(5,1) = "calc8_template|calc8_template"
|
||||
XMLFilterName(5,2) = "ots|ots"
|
||||
XMLFilterName(5,3) = sTemplateCheckBox(1)
|
||||
|
||||
' due to bug #108942# impress templates of the version 4.0 have to be handled in a special way because their mimetype
|
||||
' falsely points to the draw application.
|
||||
If oFactoryKey.HasByName("com.sun.star.drawing.DrawingDocument") and oFactoryKey.HasByName("com.sun.star.presentation.PresentationDocument") Then
|
||||
XMLFilterName(6,0) = "application/x-openoffice-starimpress|application/x-openoffice-stardraw-40|application/x-openoffice-stardraw|application/vnd.sun.xml.impress|application/vnd.sun.xml.draw"
|
||||
XMLFilterName(6,1) = "impress8_template|impress8_template|draw8_template|impress8_template|draw8_template"
|
||||
XMLFilterName(6,2) = "otp|otp|otg|otp|otg"
|
||||
Elseif oFactoryKey.HasByName("com.sun.star.drawing.DrawingDocument") Then
|
||||
XMLFilterName(6,0) = "application/x-openoffice-stardraw|application/vnd.sun.xml.draw"
|
||||
XMLFilterName(6,1) = "draw8_template|draw8_template"
|
||||
XMLFilterName(6,2) = "otg|otg"
|
||||
Elseif oFactoryKey.HasByName("com.sun.star.presentation.PresentationDocument") Then
|
||||
XMLFilterName(6,0) = "application/x-openoffice-starimpress|application/x-openoffice-stardraw-40|application/vnd.sun.xml.impress"
|
||||
XMLFilterName(6,1) = "impress8_template|impress8_template|impress8_template"
|
||||
XMLFilterName(6,2) = "otp|otp|otp"
|
||||
End If
|
||||
XMLFilterName(6,3) = sTemplateCheckBox(2)
|
||||
|
||||
If oFactoryKey.HasByName("com.sun.star.text.GlobalDocument") Then
|
||||
XMLFilterName(7,0) = "sgl|sxg"
|
||||
XMLFilterName(7,1) = "writerglobal8|writerglobal8"
|
||||
XMLFilterName(7,2) = "odm|odm"
|
||||
XMLFilterName(7,3) = sTemplateCheckBox(3)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Function CheckControlPath(oCheckbox as Object, oTextBox as Object, ByVal bDoEnable as Boolean)
|
||||
Dim sPath as String
|
||||
If Not bDoEnable Then
|
||||
CheckControlPath = False
|
||||
ElseIf oCheckbox.State = 0 Then
|
||||
CheckControlPath = True
|
||||
Else
|
||||
sPath = ConvertToUrl(Trim(oTextBox.Text)
|
||||
CheckControlPath = oUcb.Exists(sPath)
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
||||
Function CheckInputPaths() as Boolean
|
||||
Dim bChangePage as Boolean
|
||||
bChangePage = CheckTextBoxPath(ImportDialog.txtTemplateImportPath, True, False, sTitle, False)
|
||||
bChangePage = CheckTextBoxPath(ImportDialog.txtTemplateExportPath, bChangePage, True, sTitle, False)
|
||||
bChangePage = CheckTextBoxPath(ImportDialog.txtDocumentImportPath, bChangePage, False, sTitle, False)
|
||||
bChangePage = CheckTextBoxPath(ImportDialog.txtDocumentExportPath, bChangePage, True, sTitle, False)
|
||||
CheckInputPaths = bChangePage
|
||||
End Function
|
||||
|
||||
|
||||
Function CheckTextBoxPath(oTextBox as Object, ByVal bCheck as Boolean, bCreateNew as Boolean, sTitle as String, bgetResources as Boolean) as Boolean
|
||||
Dim iCreate as Integer
|
||||
Dim sQueryMessage as String
|
||||
Dim sUrlPath as String
|
||||
Dim sMessageNoDir as String
|
||||
Dim sShowPath as String
|
||||
Dim oLocUcb as Object
|
||||
oLocUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
|
||||
If bGetResources Then
|
||||
If InitResources("ImportWizard","imp") then
|
||||
sNoDirCreation = GetResText(1050)
|
||||
sMsgDirNotThere = GetResText(1051)
|
||||
sQueryForNewCreation = GetResText(1052)
|
||||
Else
|
||||
CheckTextBoxPath() = False
|
||||
Exit Function
|
||||
End If
|
||||
End If
|
||||
If oTextBox.Enabled Then
|
||||
If bCheck Then
|
||||
sShowPath = oTextBox.Text
|
||||
sUrlPath = ConvertToUrl(sShowPath)
|
||||
If Not oLocUcb.Exists(sUrlPath) Then
|
||||
If Not bCreateNew Then
|
||||
' Sourcedirectories must be existing, Targetdirectories may be created new
|
||||
sQueryMessage = ReplaceString(sMsgDirNotThere, sShowPath,"%1")
|
||||
Msgbox(sQueryMessage,16,sTitle)
|
||||
CheckTextBoxPath() = False
|
||||
Exit Function
|
||||
Else
|
||||
sQueryMessage = ReplaceString(sMsgDirNotThere, sShowPath,"%1")
|
||||
sQueryMessage = sQueryMessage & Chr(13) & sQueryForNewCreation
|
||||
iCreate = Msgbox (sQueryMessage, 36, sTitle)
|
||||
If iCreate = 6 Then
|
||||
On Local Error Goto NOVALIDPATH
|
||||
CreateFolder(sUrlPath)
|
||||
If Not oLocUcb.Exists(sUrlPath) Then
|
||||
Goto NOVALIDPATH
|
||||
End If
|
||||
Else
|
||||
CheckTextBoxPath() = False
|
||||
Exit Function
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
CheckTextBoxPath() = True
|
||||
Else
|
||||
CheckTextBoxPath() = False
|
||||
End If
|
||||
Else
|
||||
CheckTextBoxPath() = True
|
||||
End If
|
||||
Exit Function
|
||||
NOVALIDPATH:
|
||||
sMessageNoDir = ReplaceString(sNoDirCreation, sShowPath, "%1")
|
||||
Msgbox(sMessageNoDir, 16, sTitle)
|
||||
CheckTextBoxPath() = False
|
||||
End Function
|
||||
|
||||
|
||||
Sub InitializeProgressPage(oDialog as Object)
|
||||
oDialog.LabelRetrieval.FontWeight = com.sun.star.awt.FontWeight.NORMAL
|
||||
oDialog.LabelCurProgress.FontWeight = com.sun.star.awt.FontWeight.BOLD
|
||||
End Sub
|
||||
|
||||
|
||||
Sub SetProgressDisplay(AbsFound as Integer)
|
||||
ImportDialog.LabelRetrieval.Label = sProgressPage_2 & " " & ReplaceString(sProgressPage_5, Str(AbsFound) & " ", "%1")
|
||||
ImportDialog.LabelCurDocumentRetrieval.Label = sProgressFound & " " & CStr(AbsDocuFound) & " " & sProgressMoreDocs
|
||||
ImportDialog.LabelCurTemplateRetrieval.Label = sProgressFound & " " & CStr(AbsTemplateFound) & " " & sProgressMoreTemplates
|
||||
End Sub
|
||||
|
||||
Sub TakoverFolderName(aEvent as Object)
|
||||
Dim RefControlName as String
|
||||
Dim oRefControl
|
||||
RefControlName = aEvent.Source.Model.Tag
|
||||
oRefControl = ImportDialogArea.GetControl(RefControlName)
|
||||
GetFolderName(oRefControl.Model)
|
||||
ToggleNextButton()
|
||||
End Sub
|
||||
|
||||
|
||||
Sub FinalizeDialogButtons()
|
||||
ImportDialog.cmdShowLogFile.Enabled = ((Isnull(oLogDocument) = False) And (ImportDialog.chkLogfile.State = 1))
|
||||
ImportDialog.cmdCancel.Enabled = False
|
||||
ImportDialog.cmdGoOn.Label = sCloseButton
|
||||
ImportDialog.cmdGoOn.Enabled = True
|
||||
End Sub
|
||||
</script:module>
|
||||
Reference in New Issue
Block a user