1*b1cdbd2cSJim Jagielski<?xml version="1.0" encoding="UTF-8"?> 2*b1cdbd2cSJim Jagielski<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3*b1cdbd2cSJim Jagielski<!--*********************************************************** 4*b1cdbd2cSJim Jagielski * 5*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 6*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 7*b1cdbd2cSJim Jagielski * distributed with this work for additional information 8*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 9*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 10*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 11*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 14*b1cdbd2cSJim Jagielski * 15*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 16*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 17*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 18*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 19*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 20*b1cdbd2cSJim Jagielski * under the License. 21*b1cdbd2cSJim Jagielski * 22*b1cdbd2cSJim Jagielski ***********************************************************--> 23*b1cdbd2cSJim Jagielski<script:module xmlns:script="http://openoffice.org/2000/script" script:name="AutoPilotRun" script:language="StarBasic">Option Explicit 24*b1cdbd2cSJim Jagielski 25*b1cdbd2cSJim JagielskiPublic SourceDir as String 26*b1cdbd2cSJim JagielskiPublic TargetDir as String 27*b1cdbd2cSJim JagielskiPublic TargetStemDir as String 28*b1cdbd2cSJim JagielskiPublic SourceFile as String 29*b1cdbd2cSJim JagielskiPublic TargetFile as String 30*b1cdbd2cSJim JagielskiPublic Source as String 31*b1cdbd2cSJim JagielskiPublic SubstFile as String 32*b1cdbd2cSJim JagielskiPublic SubstDir as String 33*b1cdbd2cSJim JagielskiPublic NoArgs() 34*b1cdbd2cSJim JagielskiPublic TypeList(14) as String 35*b1cdbd2cSJim JagielskiPublic GoOn as Boolean 36*b1cdbd2cSJim JagielskiPublic DoUnprotect as Integer 37*b1cdbd2cSJim JagielskiPublic Password as String 38*b1cdbd2cSJim JagielskiPublic DocIndex as Integer 39*b1cdbd2cSJim JagielskiPublic oPathSettings as Object 40*b1cdbd2cSJim JagielskiPublic oUcb as Object 41*b1cdbd2cSJim JagielskiPublic TotDocCount as Integer 42*b1cdbd2cSJim JagielskiPublic sTotDocCount as String 43*b1cdbd2cSJim JagielskiPublic OpenProperties(1) as New com.sun.star.beans.PropertyValue 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielski 46*b1cdbd2cSJim JagielskiSub StartAutoPilot() 47*b1cdbd2cSJim JagielskiDim i As Integer 48*b1cdbd2cSJim JagielskiDim oFactoryKey as Object 49*b1cdbd2cSJim Jagielski BasicLibraries.LoadLibrary("Tools") 50*b1cdbd2cSJim Jagielski BasicLibraries.LoadLibrary("ImportWizard") 51*b1cdbd2cSJim Jagielski If InitResources("Euro Converter", "eur") Then 52*b1cdbd2cSJim Jagielski oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess") 53*b1cdbd2cSJim Jagielski oLocale = GetStarOfficeLocale() 54*b1cdbd2cSJim Jagielski InitializeConverter(oLocale, 2) 55*b1cdbd2cSJim Jagielski ToggleGoOnButton() 56*b1cdbd2cSJim Jagielski oFactoryKey = GetRegistryKeyContent("org.openoffice.Setup/Office/Factories") 57*b1cdbd2cSJim Jagielski DialogModel.chkTextDocuments.Enabled = oFactoryKey.hasbyName("com.sun.star.text.TextDocument") 58*b1cdbd2cSJim Jagielski DialogModel.cmdGoOn.DefaultButton = True 59*b1cdbd2cSJim Jagielski DialogModel.lstCurrencies.TabIndex = 12 60*b1cdbd2cSJim Jagielski DialogConvert.GetControl("optWholeDir").SetFocus() 61*b1cdbd2cSJim Jagielski DialogConvert.Execute() 62*b1cdbd2cSJim Jagielski DialogConvert.Dispose() 63*b1cdbd2cSJim Jagielski End If 64*b1cdbd2cSJim JagielskiEnd Sub 65*b1cdbd2cSJim Jagielski 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim JagielskiSub ConvertDocuments() 68*b1cdbd2cSJim JagielskiDim FilesList() 69*b1cdbd2cSJim JagielskiDim bDisposable as Boolean 70*b1cdbd2cSJim Jagielski 71*b1cdbd2cSJim Jagielski If Source <> "" And TargetDir <> "" Then 72*b1cdbd2cSJim Jagielski If DialogModel.optSingleFile.State = 1 Then 73*b1cdbd2cSJim Jagielski SourceFile = Source 74*b1cdbd2cSJim Jagielski TotDocCount = 1 75*b1cdbd2cSJim Jagielski Else 76*b1cdbd2cSJim Jagielski SourceDir = Source 77*b1cdbd2cSJim Jagielski TargetStemDir = TargetDir 78*b1cdbd2cSJim Jagielski TypeList(0) = "calc8" 79*b1cdbd2cSJim Jagielski TypeList(1) = "calc_StarOffice_XML_Calc" 80*b1cdbd2cSJim Jagielski TypeList(2) = "calc_StarCalc_30" 81*b1cdbd2cSJim Jagielski TypeList(3) = "calc_StarCalc_40" 82*b1cdbd2cSJim Jagielski TypeList(4) = "calc_StarCalc_50" 83*b1cdbd2cSJim Jagielski If DialogModel.chkTextDocuments.State = 1 Then 84*b1cdbd2cSJim Jagielski ReDim Preserve TypeList(13) as String 85*b1cdbd2cSJim Jagielski 86*b1cdbd2cSJim Jagielski TypeList(5) = "writer8" 87*b1cdbd2cSJim Jagielski TypeList(6) = "writerglobal8" 88*b1cdbd2cSJim Jagielski TypeList(7) = "writer_StarOffice_XML_Writer" 89*b1cdbd2cSJim Jagielski TypeList(8) = "writer_globaldocument_StarOffice_XML_Writer_GlobalDocument" 90*b1cdbd2cSJim Jagielski TypeList(9) = "writer_StarWriter_30" 91*b1cdbd2cSJim Jagielski TypeList(10) = "writer_StarWriter_40" 92*b1cdbd2cSJim Jagielski TypeList(11) = "writer_globaldocument_StarWriter_40GlobalDocument" 93*b1cdbd2cSJim Jagielski TypeList(12) = "writer_StarWriter_50" 94*b1cdbd2cSJim Jagielski TypeList(13) = "writer_globaldocument_StarWriter_50GlobalDocument" 95*b1cdbd2cSJim Jagielski End If 96*b1cdbd2cSJim Jagielski FilesList() = ReadDirectories(SourceDir, bRecursive, True, False, TypeList()) 97*b1cdbd2cSJim Jagielski TotDocCount = Ubound(FilesList(),1) + 1 98*b1cdbd2cSJim Jagielski End If 99*b1cdbd2cSJim Jagielski InitializeProgressPage(DialogModel) 100*b1cdbd2cSJim Jagielski' ChangeToNextProgressStep() 101*b1cdbd2cSJim Jagielski sTotDocCount = CStr(TotDocCount) 102*b1cdbd2cSJim Jagielski OpenProperties(0).Name = "Hidden" 103*b1cdbd2cSJim Jagielski OpenProperties(0).Value = True 104*b1cdbd2cSJim Jagielski OpenProperties(1).Name = "AsTemplate" 105*b1cdbd2cSJim Jagielski OpenProperties(1).Value = False 106*b1cdbd2cSJim Jagielski For DocIndex = 0 To TotDocCount - 1 107*b1cdbd2cSJim Jagielski If InitializeDocument(FilesList(), bDisposable) Then 108*b1cdbd2cSJim Jagielski If StoreDocument() Then 109*b1cdbd2cSJim Jagielski ConvertDocument() 110*b1cdbd2cSJim Jagielski oDocument.Store 111*b1cdbd2cSJim Jagielski End If 112*b1cdbd2cSJim Jagielski If bDisposable Then 113*b1cdbd2cSJim Jagielski oDocument.Dispose() 114*b1cdbd2cSJim Jagielski End If 115*b1cdbd2cSJim Jagielski End If 116*b1cdbd2cSJim Jagielski Next DocIndex 117*b1cdbd2cSJim Jagielski DialogModel.cmdBack.Enabled = True 118*b1cdbd2cSJim Jagielski DialogModel.cmdGoOn.Enabled = True 119*b1cdbd2cSJim Jagielski DialogModel.cmdGoOn.Label = sReady 120*b1cdbd2cSJim Jagielski DialogModel.cmdCancel.Label = sEnd 121*b1cdbd2cSJim Jagielski End If 122*b1cdbd2cSJim JagielskiEnd Sub 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski 125*b1cdbd2cSJim JagielskiFunction InitializeDocument(FilesList(), bDisposable as Boolean) as Boolean 126*b1cdbd2cSJim Jagielski' The Autopilot is started from step No. 2 127*b1cdbd2cSJim JagielskiDim sViewPath as String 128*b1cdbd2cSJim JagielskiDim bIsReadOnly as Boolean 129*b1cdbd2cSJim JagielskiDim sExtension as String 130*b1cdbd2cSJim Jagielski On Local Error Goto NEXTFILE 131*b1cdbd2cSJim Jagielski If Not bCancelTask Then 132*b1cdbd2cSJim Jagielski If DialogModel.optWholeDir.State = 1 Then 133*b1cdbd2cSJim Jagielski SourceFile = FilesList(DocIndex,0) 134*b1cdbd2cSJim Jagielski TargetFile = ReplaceString(SourceFile,TargetStemDir,SourceDir) 135*b1cdbd2cSJim Jagielski TargetDir = DirectorynameoutofPath(TargetFile, "/") 136*b1cdbd2cSJim Jagielski Else 137*b1cdbd2cSJim Jagielski SourceFile = Source 138*b1cdbd2cSJim Jagielski TargetFile = TargetDir & "/" & FileNameoutofPath(SourceFile, "/") 139*b1cdbd2cSJim Jagielski End If 140*b1cdbd2cSJim Jagielski If CreateFolder(TargetDir) Then 141*b1cdbd2cSJim Jagielski sExtension = GetFileNameExtension(SourceFile, "/") 142*b1cdbd2cSJim Jagielski oDocument = OpenDocument(SourceFile, OpenProperties(), bDisposable) 143*b1cdbd2cSJim Jagielski If (oDocument.IsReadOnly) AND (UCase(SourceFile) = UCase(TargetFile)) Then 144*b1cdbd2cSJim Jagielski bIsReadOnly = True 145*b1cdbd2cSJim Jagielski Msgbox(sMsgDOCISREADONLY, 16, GetProductName()) 146*b1cdbd2cSJim Jagielski Else 147*b1cdbd2cSJim Jagielski bIsReadOnly = False 148*b1cdbd2cSJim Jagielski RetrieveDocumentObjects() 149*b1cdbd2cSJim Jagielski sViewPath = CutPathView(SourceFile, 60) 150*b1cdbd2cSJim Jagielski DialogModel.lblCurDocument.Label = Str(DocIndex+1) & "/" & sTotDocCount & " (" & sViewPath & ")" 151*b1cdbd2cSJim Jagielski End If 152*b1cdbd2cSJim Jagielski InitializeDocument() = Not bIsReadOnly 153*b1cdbd2cSJim Jagielski Else 154*b1cdbd2cSJim Jagielski InitializeDocument() = False 155*b1cdbd2cSJim Jagielski End If 156*b1cdbd2cSJim Jagielski Else 157*b1cdbd2cSJim Jagielski InitializeDocument() = False 158*b1cdbd2cSJim Jagielski End If 159*b1cdbd2cSJim JagielskiNEXTFILE: 160*b1cdbd2cSJim Jagielski If Err <> 0 Then 161*b1cdbd2cSJim Jagielski InitializeDocument() = False 162*b1cdbd2cSJim Jagielski Resume LETSGO 163*b1cdbd2cSJim JagielskiLETSGO: 164*b1cdbd2cSJim Jagielski End If 165*b1cdbd2cSJim JagielskiEnd Function 166*b1cdbd2cSJim Jagielski 167*b1cdbd2cSJim Jagielski 168*b1cdbd2cSJim JagielskiSub ChangeToNextProgressStep() 169*b1cdbd2cSJim Jagielski DialogModel.lblCurProgress.FontWeight = com.sun.star.awt.FontWeight.NORMAL 170*b1cdbd2cSJim Jagielski DialogConvert.GetControl("lblCurProgress").Visible = True 171*b1cdbd2cSJim JagielskiEnd Sub 172*b1cdbd2cSJim Jagielski 173*b1cdbd2cSJim Jagielski 174*b1cdbd2cSJim JagielskiFunction StoreDocument() as Boolean 175*b1cdbd2cSJim JagielskiDim sCurFileExists as String 176*b1cdbd2cSJim JagielskiDim iOverWrite as Integer 177*b1cdbd2cSJim Jagielski If (TargetFile <> "") And (Not bCancelTask) Then 178*b1cdbd2cSJim Jagielski On Local Error Goto NOSAVING 179*b1cdbd2cSJim Jagielski If oUcb.Exists(TargetFile) Then 180*b1cdbd2cSJim Jagielski sCurFileExists = ReplaceString(sMsgFileExists, ConvertFromUrl(TargetFile), "<1>") 181*b1cdbd2cSJim Jagielski sCurFileExists = ReplaceString(sCurFileExists, chr(13), "<CR>") 182*b1cdbd2cSJim Jagielski iOverWrite = Msgbox (sCurFileExists, 32 + 3, sMsgDLGTITLE) 183*b1cdbd2cSJim Jagielski Select Case iOverWrite 184*b1cdbd2cSJim Jagielski Case 1 ' OK 185*b1cdbd2cSJim Jagielski Case 2 ' Abort 186*b1cdbd2cSJim Jagielski bCancelTask = True 187*b1cdbd2cSJim Jagielski StoreDocument() = False 188*b1cdbd2cSJim Jagielski Exit Function 189*b1cdbd2cSJim Jagielski Case 7 ' No 190*b1cdbd2cSJim Jagielski StoreDocument() = False 191*b1cdbd2cSJim Jagielski Exit Function 192*b1cdbd2cSJim Jagielski End Select 193*b1cdbd2cSJim Jagielski End If 194*b1cdbd2cSJim Jagielski If TargetFile <> SourceFile Then 195*b1cdbd2cSJim Jagielski oDocument.StoreAsUrl(TargetFile,NoArgs) 196*b1cdbd2cSJim Jagielski Else 197*b1cdbd2cSJim Jagielski oDocument.Store 198*b1cdbd2cSJim Jagielski End If 199*b1cdbd2cSJim Jagielski StoreDocument() = True 200*b1cdbd2cSJim Jagielski NOSAVING: 201*b1cdbd2cSJim Jagielski If Err <> 0 Then 202*b1cdbd2cSJim Jagielski StoreDocument() = False 203*b1cdbd2cSJim Jagielski Resume CLERROR 204*b1cdbd2cSJim Jagielski End If 205*b1cdbd2cSJim Jagielski CLERROR: 206*b1cdbd2cSJim Jagielski End If 207*b1cdbd2cSJim JagielskiEnd Function 208*b1cdbd2cSJim Jagielski 209*b1cdbd2cSJim Jagielski 210*b1cdbd2cSJim JagielskiSub SwapExtent() 211*b1cdbd2cSJim Jagielski DialogModel.chkRecursive.Enabled = DialogModel.optWholeDir.State = 1 212*b1cdbd2cSJim Jagielski If DialogModel.optWholeDir.State = 1 Then 213*b1cdbd2cSJim Jagielski DialogModel.lblSource.Label = sSOURCEDIR 214*b1cdbd2cSJim Jagielski If Not IsNull(SubstFile) Then 215*b1cdbd2cSJim Jagielski SubstFile = DialogModel.txtSource.Text 216*b1cdbd2cSJim Jagielski DialogModel.txtSource.Text = SubstDir 217*b1cdbd2cSJim Jagielski End If 218*b1cdbd2cSJim Jagielski Else 219*b1cdbd2cSJim Jagielski DialogModel.LblSource.Label = sSOURCEFILE 220*b1cdbd2cSJim Jagielski If Not IsNull(SubstDir) Then 221*b1cdbd2cSJim Jagielski SubstDir = DialogModel.txtSource.Text 222*b1cdbd2cSJim Jagielski DialogModel.txtSource.Text = SubstFile 223*b1cdbd2cSJim Jagielski End If 224*b1cdbd2cSJim Jagielski End If 225*b1cdbd2cSJim Jagielski ToggleGoOnButton() 226*b1cdbd2cSJim JagielskiEnd Sub 227*b1cdbd2cSJim Jagielski 228*b1cdbd2cSJim Jagielski 229*b1cdbd2cSJim JagielskiFunction InitializeThirdStep() as Boolean 230*b1cdbd2cSJim JagielskiDim TextBoxText as String 231*b1cdbd2cSJim Jagielski Source = AssignFileName(DialogModel.txtSource.Text, DialogModel.lblSource.Label, True) 232*b1cdbd2cSJim Jagielski If CheckTextBoxPath(DialogModel.txtTarget, True, True, sMsgDLGTITLE, True) Then 233*b1cdbd2cSJim Jagielski TargetDir = AssignFileName(DialogModel.txtTarget.Text, DialogModel.lblTarget.Label, False) 234*b1cdbd2cSJim Jagielski Else 235*b1cdbd2cSJim Jagielski TargetDir = "" 236*b1cdbd2cSJim Jagielski End If 237*b1cdbd2cSJim Jagielski If Source <> "" And TargetDir <> "" Then 238*b1cdbd2cSJim Jagielski bRecursive = DialogModel.chkRecursive.State = 1 239*b1cdbd2cSJim Jagielski bDoUnprotect = DialogModel.chkProtect.State = 1 240*b1cdbd2cSJim Jagielski DialogModel.lblRetrieval.FontWeight = com.sun.star.awt.FontWeight.BOLD 241*b1cdbd2cSJim Jagielski DialogModel.lblRetrieval.Label = sPrgsRETRIEVAL 242*b1cdbd2cSJim Jagielski DialogModel.lblCurProgress.Label = sPrgsCONVERTING 243*b1cdbd2cSJim Jagielski If DialogModel.optWholeDir.State = 1 Then 244*b1cdbd2cSJim Jagielski TextBoxText = sSOURCEDIR & " " & ConvertFromUrl(Source) & chr(13) 245*b1cdbd2cSJim Jagielski If DialogModel.chkRecursive.State = 1 Then 246*b1cdbd2cSJim Jagielski TextBoxText = TextBoxText & DeleteStr(sInclusiveSubDir,"~") & chr(13) 247*b1cdbd2cSJim Jagielski End If 248*b1cdbd2cSJim Jagielski Else 249*b1cdbd2cSJim Jagielski TextBoxText = sSOURCEFILE & " " & ConvertFromUrl(Source) & chr(13) 250*b1cdbd2cSJim Jagielski End If 251*b1cdbd2cSJim Jagielski TextBoxText = TextBoxText & sTARGETDIR & " " & ConvertFromUrl(TargetDir) & chr(13) 252*b1cdbd2cSJim Jagielski If DialogModel.chkProtect.State = 1 Then 253*b1cdbd2cSJim Jagielski TextBoxText = TextboxText & sPrgsUNPROTECT 254*b1cdbd2cSJim Jagielski End If 255*b1cdbd2cSJim Jagielski DialogModel.txtConfig.Text = TextBoxText 256*b1cdbd2cSJim Jagielski ToggleProgressStep() 257*b1cdbd2cSJim Jagielski DialogModel.cmdGoOn.Enabled = False 258*b1cdbd2cSJim Jagielski InitializeThirdStep() = True 259*b1cdbd2cSJim Jagielski Else 260*b1cdbd2cSJim Jagielski InitializeThirdStep() = False 261*b1cdbd2cSJim Jagielski End If 262*b1cdbd2cSJim JagielskiEnd Function 263*b1cdbd2cSJim Jagielski 264*b1cdbd2cSJim Jagielski 265*b1cdbd2cSJim JagielskiSub ToggleProgressStep(Optional aEvent as Object) 266*b1cdbd2cSJim JagielskiDim bMakeVisible as Boolean 267*b1cdbd2cSJim JagielskiDim LocStep as Integer 268*b1cdbd2cSJim Jagielski ' If the Sub is call by the 'cmdBack' Button then set the 'bMakeVisible' variable accordingly 269*b1cdbd2cSJim Jagielski bMakeVisible = IsMissing(aEvent) 270*b1cdbd2cSJim Jagielski If bMakeVisible Then 271*b1cdbd2cSJim Jagielski DialogModel.Step = 3 272*b1cdbd2cSJim Jagielski Else 273*b1cdbd2cSJim Jagielski DialogModel.Step = 2 274*b1cdbd2cSJim Jagielski End If 275*b1cdbd2cSJim Jagielski DialogConvert.GetControl("lblCurrencies").Visible = Not bMakeVisible 276*b1cdbd2cSJim Jagielski DialogConvert.GetControl("lstCurrencies").Visible = Not bMakeVisible 277*b1cdbd2cSJim Jagielski DialogConvert.GetControl("cmdBack").Visible = bMakeVisible 278*b1cdbd2cSJim Jagielski DialogConvert.GetControl("cmdGoOn").Visible = bMakeVisible 279*b1cdbd2cSJim Jagielski DialogModel.imgPreview.ImageUrl = BitmapDir & "euro_" & DialogModel.Step & ".bmp" 280*b1cdbd2cSJim JagielskiEnd Sub 281*b1cdbd2cSJim Jagielski 282*b1cdbd2cSJim Jagielski 283*b1cdbd2cSJim JagielskiSub EnableStep2DialogControls(OnValue as Boolean) 284*b1cdbd2cSJim Jagielski With DialogModel 285*b1cdbd2cSJim Jagielski .hlnExtent.Enabled = OnValue 286*b1cdbd2cSJim Jagielski .optWholeDir.Enabled = OnValue 287*b1cdbd2cSJim Jagielski .optSingleFile.Enabled = OnValue 288*b1cdbd2cSJim Jagielski .chkProtect.Enabled = OnValue 289*b1cdbd2cSJim Jagielski .cmdCallSourceDialog.Enabled = OnValue 290*b1cdbd2cSJim Jagielski .cmdCallTargetDialog.Enabled = OnValue 291*b1cdbd2cSJim Jagielski .lblSource.Enabled = OnValue 292*b1cdbd2cSJim Jagielski .lblTarget.Enabled = OnValue 293*b1cdbd2cSJim Jagielski .txtSource.Enabled = OnValue 294*b1cdbd2cSJim Jagielski .txtTarget.Enabled = OnValue 295*b1cdbd2cSJim Jagielski .imgPreview.Enabled = OnValue 296*b1cdbd2cSJim Jagielski .lstCurrencies.Enabled = OnValue 297*b1cdbd2cSJim Jagielski .lblCurrencies.Enabled = OnValue 298*b1cdbd2cSJim Jagielski If OnValue Then 299*b1cdbd2cSJim Jagielski ToggleGoOnButton() 300*b1cdbd2cSJim Jagielski .chkRecursive.Enabled = .optWholeDir.State = 1 301*b1cdbd2cSJim Jagielski Else 302*b1cdbd2cSJim Jagielski .cmdGoOn.Enabled = False 303*b1cdbd2cSJim Jagielski .chkRecursive.Enabled = False 304*b1cdbd2cSJim Jagielski End If 305*b1cdbd2cSJim Jagielski End With 306*b1cdbd2cSJim JagielskiEnd Sub 307*b1cdbd2cSJim Jagielski 308*b1cdbd2cSJim Jagielski 309*b1cdbd2cSJim JagielskiSub InitializeProgressPage() 310*b1cdbd2cSJim Jagielski DialogConvert.GetControl("lblRetrieval").Visible = False 311*b1cdbd2cSJim Jagielski DialogConvert.GetControl("lblCurProgress").Visible = False 312*b1cdbd2cSJim Jagielski DialogModel.lblRetrieval.FontWeight = com.sun.star.awt.FontWeight.NORMAL 313*b1cdbd2cSJim Jagielski DialogModel.lblCurProgress.FontWeight = com.sun.star.awt.FontWeight.BOLD 314*b1cdbd2cSJim Jagielski DialogConvert.GetControl("lblRetrieval").Visible = True 315*b1cdbd2cSJim Jagielski DialogConvert.GetControl("lblCurProgress").Visible = True 316*b1cdbd2cSJim JagielskiEnd Sub 317*b1cdbd2cSJim Jagielski 318*b1cdbd2cSJim Jagielski 319*b1cdbd2cSJim JagielskiFunction AssignFileName(sPath as String, ByVal HeaderString, bCheckFileType as Boolean) as String 320*b1cdbd2cSJim JagielskiDim bIsValid as Boolean 321*b1cdbd2cSJim JagielskiDim sLocMimeType as String 322*b1cdbd2cSJim JagielskiDim sNoDirMessage as String 323*b1cdbd2cSJim Jagielski HeaderString = DeleteStr(HeaderString, ":") 324*b1cdbd2cSJim Jagielski sPath = ConvertToUrl(Trim(sPath)) 325*b1cdbd2cSJim Jagielski bIsValid = oUcb.Exists(sPath) 326*b1cdbd2cSJim Jagielski If bIsValid Then 327*b1cdbd2cSJim Jagielski If DialogModel.optSingleFile.State = 1 Then 328*b1cdbd2cSJim Jagielski If bCheckFileType Then 329*b1cdbd2cSJim Jagielski sLocMimeType = GetRealFileContent(sPath) 330*b1cdbd2cSJim Jagielski If DialogModel.chkTextDocuments.State = 1 Then 331*b1cdbd2cSJim Jagielski If (Instr(1, sLocMimeType, "text") = 0) And (Instr(1, sLocMimeType, "calc") = 0) Then 332*b1cdbd2cSJim Jagielski Msgbox(sMsgFileInvalid, 48, sMsgDLGTITLE) 333*b1cdbd2cSJim Jagielski bIsValid = False 334*b1cdbd2cSJim Jagielski End If 335*b1cdbd2cSJim Jagielski Else 336*b1cdbd2cSJim Jagielski If (Instr(1, sLocMimeType, "spreadsheet") = 0) And (Instr(1, sLocMimeType, "calc")) = 0 Then 337*b1cdbd2cSJim Jagielski Msgbox(sMsgFileInvalid, 48, sMsgDLGTITLE) 338*b1cdbd2cSJim Jagielski bIsValid = False 339*b1cdbd2cSJim Jagielski End If 340*b1cdbd2cSJim Jagielski End If 341*b1cdbd2cSJim Jagielski End If 342*b1cdbd2cSJim Jagielski Else 343*b1cdbd2cSJim Jagielski If Not oUcb.IsFolder(sPath) Then 344*b1cdbd2cSJim Jagielski sNoDirMessage = ReplaceString(sMsgNODIRECTORY,sPath,"<1>") 345*b1cdbd2cSJim Jagielski Msgbox(sNoDirMessage,48, sMsgDLGTITLE) 346*b1cdbd2cSJim Jagielski bIsValid = False 347*b1cdbd2cSJim Jagielski Else 348*b1cdbd2cSJim Jagielski sPath = RTrimStr(sPath,"/") 349*b1cdbd2cSJim Jagielski sPath = sPath & "/" 350*b1cdbd2cSJim Jagielski End If 351*b1cdbd2cSJim Jagielski End if 352*b1cdbd2cSJim Jagielski Else 353*b1cdbd2cSJim Jagielski Msgbox(HeaderString & " '" & ConvertFromUrl(sPath) & "' " & sMsgNOTTHERE,48, sMsgDLGTITLE) 354*b1cdbd2cSJim Jagielski End If 355*b1cdbd2cSJim Jagielski If bIsValid Then 356*b1cdbd2cSJim Jagielski AssignFileName() = sPath 357*b1cdbd2cSJim Jagielski Else 358*b1cdbd2cSJim Jagielski AssignFilename() = "" 359*b1cdbd2cSJim Jagielski End If 360*b1cdbd2cSJim JagielskiEnd Function 361*b1cdbd2cSJim Jagielski 362*b1cdbd2cSJim Jagielski 363*b1cdbd2cSJim JagielskiSub ToggleGoOnButton() 364*b1cdbd2cSJim JagielskiDim bDoEnable as Boolean 365*b1cdbd2cSJim JagielskiDim sLocMimeType as String 366*b1cdbd2cSJim JagielskiDim sPath as String 367*b1cdbd2cSJim Jagielski bDoEnable = Ubound(DialogModel.lstCurrencies.SelectedItems()) > -1 368*b1cdbd2cSJim Jagielski If bDoEnable Then 369*b1cdbd2cSJim Jagielski ' Check if Source is set correctly 370*b1cdbd2cSJim Jagielski sPath = ConvertToUrl(Trim(DialogModel.txtSource.Text)) 371*b1cdbd2cSJim Jagielski bDoEnable = oUcb.Exists(sPath) 372*b1cdbd2cSJim Jagielski End If 373*b1cdbd2cSJim Jagielski DialogModel.cmdGoOn.Enabled = bDoEnable 374*b1cdbd2cSJim JagielskiEnd Sub 375*b1cdbd2cSJim Jagielski 376*b1cdbd2cSJim Jagielski 377*b1cdbd2cSJim JagielskiSub CallFolderPicker() 378*b1cdbd2cSJim Jagielski GetFolderName(DialogModel.txtTarget) 379*b1cdbd2cSJim Jagielski ToggleGoOnButton() 380*b1cdbd2cSJim JagielskiEnd Sub 381*b1cdbd2cSJim Jagielski 382*b1cdbd2cSJim Jagielski 383*b1cdbd2cSJim JagielskiSub CallFilePicker() 384*b1cdbd2cSJim Jagielski If DialogModel.optSingleFile.State = 1 Then 385*b1cdbd2cSJim Jagielski Dim oMasterKey as Object 386*b1cdbd2cSJim Jagielski Dim oTypes() as Object 387*b1cdbd2cSJim Jagielski Dim oUIKey() as Object 388*b1cdbd2cSJim Jagielski 389*b1cdbd2cSJim Jagielski oMasterKey = GetRegistryKeyContent("org.openoffice.TypeDetection.Types") 390*b1cdbd2cSJim Jagielski oTypes() = oMasterKey.Types 391*b1cdbd2cSJim Jagielski oUIKey = GetRegistryKeyContent("org.openoffice.Office.UI/FilterClassification/LocalFilters") 392*b1cdbd2cSJim Jagielski If DialogModel.chkTextDocuments.State = 1 Then 393*b1cdbd2cSJim Jagielski Dim FilterNames(11,1) as String 394*b1cdbd2cSJim Jagielski FilterNames(6,0) = oTypes.GetByName("writer_StarOffice_XML_Writer").UIName 395*b1cdbd2cSJim Jagielski FilterNames(6,1) = "*.sxw" 396*b1cdbd2cSJim Jagielski FilterNames(7,0) = oTypes.GetByName("writer_StarOffice_XML_Writer_Template").UIName 397*b1cdbd2cSJim Jagielski FilterNames(7,1) = "*.stw" 398*b1cdbd2cSJim Jagielski FilterNames(8,0) = oUIKey.Classes.GetByName("sw3to5").DisplayName 399*b1cdbd2cSJim Jagielski FilterNames(8,1) = "*.sdw" 400*b1cdbd2cSJim Jagielski FilterNames(9,0) = oUIKey.Classes.GetByName("sw3to5templ").DisplayName 401*b1cdbd2cSJim Jagielski Filternames(9,1) = "*.vor" 402*b1cdbd2cSJim Jagielski FilterNames(10,0) = oTypes.GetByName("writer8").UIName 403*b1cdbd2cSJim Jagielski FilterNames(10,1) = "*.odt" 404*b1cdbd2cSJim Jagielski FilterNames(11,0) = oTypes.GetByName("writer8_template").UIName 405*b1cdbd2cSJim Jagielski FilterNames(11,1) = "*.ott" 406*b1cdbd2cSJim Jagielski Else 407*b1cdbd2cSJim Jagielski ReDim FilterNames(5,1) as String 408*b1cdbd2cSJim Jagielski End If 409*b1cdbd2cSJim Jagielski FilterNames(0,0) = oTypes.GetByName("calc_StarOffice_XML_Calc").UIName 410*b1cdbd2cSJim Jagielski Filternames(0,1) = "*.sxc" 411*b1cdbd2cSJim Jagielski FilterNames(1,0) = oTypes.GetByName("calc_StarOffice_XML_Calc_Template").UIName 412*b1cdbd2cSJim Jagielski Filternames(1,1) = "*.stc" 413*b1cdbd2cSJim Jagielski FilterNames(2,0) = oUIKey.Classes.GetByName("sc345").DisplayName 414*b1cdbd2cSJim Jagielski FilterNames(2,1) = "*.sdc" 415*b1cdbd2cSJim Jagielski FilterNames(3,0) = oUIKey.Classes.GetByName("sc345templ").DisplayName 416*b1cdbd2cSJim Jagielski Filternames(3,1) = "*.vor" 417*b1cdbd2cSJim Jagielski FilterNames(4,0) = oTypes.GetByName("calc8").UIName 418*b1cdbd2cSJim Jagielski Filternames(4,1) = "*.ods" 419*b1cdbd2cSJim Jagielski FilterNames(5,0) = oTypes.GetByName("calc8_template").UIName 420*b1cdbd2cSJim Jagielski Filternames(5,1) = "*.ots" 421*b1cdbd2cSJim Jagielski GetFileName(DialogModel.txtSource, Filternames()) 422*b1cdbd2cSJim Jagielski Else 423*b1cdbd2cSJim Jagielski GetFolderName(DialogModel.txtSource) 424*b1cdbd2cSJim Jagielski End If 425*b1cdbd2cSJim Jagielski ToggleGoOnButton() 426*b1cdbd2cSJim JagielskiEnd Sub 427*b1cdbd2cSJim Jagielski 428*b1cdbd2cSJim Jagielski 429*b1cdbd2cSJim JagielskiSub PreviousStep() 430*b1cdbd2cSJim Jagielski DialogModel.Step = 2 431*b1cdbd2cSJim Jagielski DialogModel.cmdGoOn.Label = sGOON 432*b1cdbd2cSJim Jagielski DialogModel.cmdCancel.Label = sCANCEL 433*b1cdbd2cSJim JagielskiEnd Sub 434*b1cdbd2cSJim Jagielski</script:module> 435