| /************************************************************** |
| * |
| * 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. |
| * |
| *************************************************************/ |
| |
| package installer; |
| |
| /* |
| * Welcome.java |
| * |
| * Created on 04 July 2002, 15:43 |
| */ |
| |
| /** |
| * |
| * @author mike |
| */ |
| import java.awt.event.*; |
| import javax.swing.*; |
| import java.io.*; |
| import java.net.*; |
| import java.util.Properties; |
| |
| public class Welcome extends javax.swing.JPanel implements ActionListener { |
| |
| /** Creates new form Welcome */ |
| public Welcome(InstallWizard wizard) { |
| this.wizard = wizard; |
| setBorder(new javax.swing.border.EtchedBorder(javax.swing.border.EtchedBorder.RAISED)); |
| initComponents(); |
| } |
| |
| /** This method is called from within the constructor to |
| * initialize the form. |
| * WARNING: Do NOT modify this code. The content of this method is |
| * always regenerated by the Form Editor. |
| */ |
| private void initComponents() {//GEN-BEGIN:initComponents |
| welcomePanel = new javax.swing.JPanel(); |
| area = new javax.swing.JTextArea(); |
| nextButtonEnable = true; |
| |
| setLayout(new java.awt.BorderLayout()); |
| |
| welcomePanel.setLayout(new java.awt.BorderLayout()); |
| area.setEditable(false); |
| area.setLineWrap(true); |
| |
| String message = "\n\tOffice Scripting Framework Version 0.3" + |
| "\n\n\n\tPlease ensure that you have exited from Office"; |
| |
| /* String userDir = (String) System.getProperty( "user.dir" ); |
| boolean isValid = validateCurrentUserDir(userDir); |
| if( !isValid ) { |
| nextButtonEnable = false; |
| message = "Please run Installer from the program directory in a valid Office installation"; |
| setUpWelcomePanel(message); |
| return; |
| } |
| |
| int programPosition = userDir.lastIndexOf("program"); |
| String offInstallPth = null; |
| offInstallPth = userDir.substring( 0, programPosition ); |
| |
| wizard.storeLocation(offInstallPth); */ |
| setUpWelcomePanel(message); |
| |
| }//GEN-END:initComponents |
| |
| private void setUpWelcomePanel(String message){ |
| area.setText( message ); |
| welcomePanel.add(area, java.awt.BorderLayout.CENTER); |
| add(welcomePanel, java.awt.BorderLayout.CENTER); |
| NavPanel nav = new NavPanel(wizard, false, nextButtonEnable, true, "", InstallWizard.VERSIONS); |
| nav.setNextListener(this); |
| add(nav, java.awt.BorderLayout.SOUTH); |
| |
| //Banner br = new Banner(); |
| //add(br, java.awt.BorderLayout.WEST); |
| } |
| |
| |
| private boolean validateCurrentUserDir(String userDir){ |
| |
| |
| |
| Properties props = null; |
| |
| File fileVersions = null; |
| try |
| { |
| fileVersions = InstUtil.buildSversionLocation(); |
| } |
| catch(IOException eFnF) |
| { |
| System.err.println("Cannot find sversion.ini/.sversionrc"); |
| JOptionPane.showMessageDialog(this, eFnF.getMessage(), "File not Found", JOptionPane.ERROR_MESSAGE); |
| wizard.exitForm(null); |
| } |
| |
| try { |
| props = InstUtil.getOfficeVersions(fileVersions); |
| } |
| catch (IOException eIO) { |
| //Message about no installed versions found |
| System.err.println("Failed to parse SVERSION"); |
| JOptionPane.showMessageDialog(this, "There was a problem reading from the Office settings file.", "Parse Error", JOptionPane.ERROR_MESSAGE); |
| wizard.exitForm(null); |
| } |
| |
| |
| boolean versionMatch = false; |
| |
| for( int i = 0; i < versions.length; i++ ) { |
| String key = versions[i]; |
| String progPath = ( String )props.getProperty( key ); |
| if ( progPath != null ){ |
| progPath = progPath + File.separator + "program"; |
| |
| File tmpFile = new File(progPath + File.separator + "oostubversion.txt"); |
| try{ |
| tmpFile.createNewFile(); |
| |
| if( new File(userDir + File.separator + "oostubversion.txt").exists()) |
| { |
| versionMatch = true; |
| break; |
| } |
| } |
| catch( IOException e) |
| { |
| // Fail silently |
| } |
| tmpFile.delete(); |
| } |
| } |
| return versionMatch; |
| } |
| |
| |
| |
| public java.awt.Dimension getPreferredSize() { |
| return new java.awt.Dimension(InstallWizard.DEFWIDTH, InstallWizard.DEFHEIGHT); |
| } |
| |
| public void actionPerformed(ActionEvent ev) |
| { |
| //Perform next actions here... |
| } |
| |
| |
| // Variables declaration - do not modify//GEN-BEGIN:variables |
| private javax.swing.JPanel welcomePanel; |
| private javax.swing.JTextArea area; |
| private InstallWizard wizard; |
| //private static final String [] versions = {"OpenOffice.org 643", "StarOffice 6.1"}; |
| private static final String [] versions = { "StarOffice 6.1" }; |
| private boolean nextButtonEnable = true; |
| |
| // End of variables declaration//GEN-END:variables |
| } |