Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/LibreOffice/wizards/source/importwizard/   (Office von Apache Version 25.8.3.2©)  Datei vom 5.10.2025 mit Größe 8 kB image not shown  

Quelle  Main.xba   Sprache: unbekannt

 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<!--
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   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 .
-->
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Main" script:language="StarBasic">Option Explicit
REM ***** BASIC *****

Public HeaderPreviews(4) as Object
Public ImportDialog as Object
Public ImportDialogArea as Object
Public oFactoryKey as Object
Public bShowLogFile as Boolean

' If the ProgressPage is already on Top The Dialog will be immediately closed when this flag is
' set to False
Public bConversionIsRunning as Boolean
Public RetValue as Integer

Sub Main()
 Dim NoArgs() as New com.sun.star.beans.PropertyValue
 bShowLogFile=FALSE
 If Not bDebugWizard Then
  On Local Error Goto RTError
 End If
 BasicLibraries.LoadLibrary("Tools")
 RetValue = 10
 bIsFirstLogTable = True
 bConversionIsRunning = False
 sCRLF = CHR(13) & CHR(10)
 oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
 oFactoryKey = GetRegistryKeyContent("org.openoffice.Setup/Office/Factories")
 If GetImportWizardPaths() = False Then
  Exit Sub
 End If
 bCancelTask = False
 bDoKeepApplValues = False
 CurOffice = 0
 ImportDialogArea = LoadDialog("ImportWizard","ImportDialog")
 ImportDialog = ImportDialogArea.Model
 LoadLanguage()
 WizardMode = SBMICROSOFTMODE
 MaxApplCount = 3
 FillStep_Welcome()
 RepaintHeaderPreview()
 ImportDialog.ImportPreview.BackGroundColor = RGB(0,60,126)
 ImportDialog.cmdGoOn.DefaultButton = True
 ImportDialogArea.GetControl("optMSDocuments").SetFocus()
 ToggleCheckboxesWithBoolean(True)

 RetValue = ImportDialogArea.Execute()
 If bShowLogFile=TRUE Then
  OpenDocument(sLogUrl, NoArgs())
 End if
 If RetValue = 0 Then
  CancelTask()
 End If
 ImportDialogArea.Dispose()
 End
 Exit Sub
RTError:
 Msgbox sRTErrorDesc, 16, sRTErrorHeader
End Sub


Sub NextStep()
Dim iCurStep as Integer
 If Not bDebugWizard Then
  On Error Goto RTError
 End If
 bConversionIsRunning = False
 iCurStep = ImportDialog.Step
 Select Case iCurStep
  Case 1
   FillStep_InputPaths(0, True)
  Case 2
   If CheckInputPaths Then
    SaveStep_InputPath
    If CurOffice < ApplCount - 1 Then
     CurOffice = CurOffice + 1
     TakeOverPathSettings()
     FillStep_InputPaths(CurOffice, False)
    Else
     FillStep_Summary()
    End If
   End If
  Case 3
   FillStep_Progress()
   Select Case WizardMode
    Case SBMICROSOFTMODE
     Call ConvertAllDocuments(MSFilterName())
   End Select
  Case 4
   CancelTask(True)
 End Select

 If ((ImportDialog.chkLogfile.State <> 1) OR (iCurStep <> 3)) Then
  ImportDialog.cmdGoOn.DefaultButton = True
 End If

 RepaintHeaderPreview()
 Exit Sub
RTError:
 Msgbox sRTErrorDesc, 16, sRTErrorHeader
End Sub


Sub PrevStep()
Dim iCurStep as Integer
 If Not bDebugWizard Then
  On Error Goto RTError
 End If
 bConversionIsRunning = False
 iCurStep = ImportDialog.Step
 Select Case iCurStep
  Case 4
   ImportDialog.cmdCancel.Label = sCancelButton
   FillStep_Summary()
  Case 3
   FillStep_InputPaths(Applcount-1, False)
  Case 2
   SaveStep_InputPath
   If CurOffice > 0 Then
    CurOffice = CurOffice - 1
    FillStep_InputPaths(CurOffice, False)
   Else
    FillStep_Welcome()
           ToggleCheckboxesWithBoolean(True)
    bDoKeepApplValues = True
   End If
 End Select
 ImportDialog.cmdGoOn.DefaultButton = True
 RepaintHeaderPreview()
 Exit Sub
RTError:
 Msgbox sRTErrorDesc, 16, sRTErrorHeader
End Sub


Sub CancelTask()
 If bConversionIsRunning Then
  If Msgbox(sConvertError1, 36, sConvertError2) = 6 Then
   bCancelTask = True
   bInterruptSearch = True
  Else
   bCancelTask = False
   ImportDialog.cmdCancel.Enabled = True
  End If
 Else
  ImportDialogArea.EndExecute()
 End If
End Sub


Sub TemplateDirSearchDialog()
 CallDirSearchDialog(ImportDialog.TemplateImportPath)
End Sub


Sub RepaintHeaderPreview()
Dim Bitmap As Object
Dim CurStep as Integer
Dim sBitmapPath as String
Dim LocPrefix as String
 CurStep = ImportDialog.Step
 LocPrefix = WizardMode
 LocPrefix = ReplaceString(LocPrefix,"XML", "SO")
 If CurStep = 2 Then
  sBitmapPath = SOBitmapPath & LocPrefix & "-Import_" & CurStep & "-" & Applications(CurOffice,SBAPPLKEY) + 1 & ".png"
 Else
  sBitmapPath = SOBitmapPath & "Import_" & CurStep & ".png"
 End If
 ImportDialog.ImportPreview.ImageURL = sBitmapPath
End Sub


Sub CheckModuleInstallation()
Dim i as Integer
 For i = 1 To MaxApplCount
  ImportDialogArea.GetControl("chk" & WizardMode & "Application" & i).Model.Enabled = Abs(CheckInstalledModule(i-1))
 Next i
End Sub


Function CheckInstalledModule(Index as Integer) as Boolean
Dim ModuleName as String
Dim NameList() as String
Dim MaxIndex as Integer
Dim i as Integer
 ModuleName = ModuleList(Index)
 If Instr(1,ModuleName,"/") <> 0 Then
  CheckInstalledModule() = False
  NameList() = ArrayoutOfString(ModuleName,"/", MaxIndex)
  For i = 0 To MaxIndex
   If oFactoryKey.HasByName(NameList(i)) Then
    CheckInstalledModule() = True
   End If
  Next i
 Else
  CheckInstalledModule() = oFactoryKey.HasByName(ModuleName)
 End If
End Function


Sub ToggleCheckboxes(oEvent as Object)
Dim bMSEnable as Boolean
 WizardMode = oEvent.Source.Model.Tag
 bMSEnable = WizardMode = "MS"
 ToggleCheckboxesWithBoolean(bMSEnable)
End Sub


Sub ToggleCheckboxesWithBoolean(bMSEnable as Boolean)
 If bMSEnable = True Then
  WizardMode = SBMICROSOFTMODE
  MaxApplCount = 3
 Else
  'Not supposed to happen - is there an assert in BASIC...
 End If
 With ImportDialogArea
  .GetControl("chkMSApplication1").Model.Enabled = bMSEnable
  .GetControl("chkMSApplication2").Model.Enabled = bMSEnable
  .GetControl("chkMSApplication3").Model.Enabled = bMSEnable
 End With
 CheckModuleInstallation()
 bDoKeepApplValues = False
 ToggleNextButton()
End Sub


Sub ToggleNextButton()
Dim iCurStep as Integer
Dim bDoEnable as Boolean
Dim i as Integer
 iCurStep = ImportDialog.Step
 Select Case iCurStep
  Case 1
   With ImportDialog
    If .optMSDocuments.State = 1 Then
             bDoEnable = .chkMSApplication1.State = 1 Or .chkMSApplication2.State = 1 Or .chkMSApplication3.State = 1
    End If
   End With
   bDoKeepApplValues = False
  Case 2
   bDoEnable = CheckControlPath(ImportDialog.chkTemplatePath, ImportDialog.txtTemplateImportPath, True)
   bDoEnable = CheckControlPath(ImportDialog.chkDocumentPath, ImportDialog.txtDocumentImportPath, bDoEnable)
 End Select
 ImportDialog.cmdGoOn.Enabled = bDoEnable
End Sub


Sub TakeOverPathSettings()
'Takes over the Pathsettings from the first selected application to the next applications
 If Applications(CurOffice,SBDOCSOURCE) = "" Then
  Applications(CurOffice,SBDOCSOURCE) = Applications(0,SBDOCSOURCE)
  Applications(CurOffice,SBDOCTARGET) = Applications(0,SBDOCTARGET)
  Applications(CurOffice,SBTEMPLSOURCE) = Applications(0,SBTEMPLSOURCE)
  Applications(CurOffice,SBTEMPLTARGET) = Applications(0,SBTEMPLTARGET)
 End If
End Sub


Function GetImportWizardPaths() as Boolean
 SOBitmapPath = GetOfficeSubPath("Template", "../wizard/bitmap")
 If SOBitmapPath <> "" Then
  SOWorkPath = GetPathSettings("Work", False)
  If SOWorkPath <> "" Then
   SOTemplatePath = GetPathSettings("Template_writable",False,0)
   If SOTemplatePath <> "" Then
    GetImportWizardPaths() = True
    Exit Function
   End If
  End If
 End If
 GetImportWizardPaths() = False
End Function
</script:module>

[ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ]