diff options
author | Rüdiger Timm <rt@openoffice.org> | 2008-08-27 10:31:37 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2008-08-27 10:31:37 +0000 |
commit | 2f28700d06788f99cd8ce18c2b92a9754130bef0 (patch) | |
tree | a1b62d53b9b6809fd93a53970c955932db8b08c7 /javainstaller2 | |
parent | 6c9167603867caf0d31c21f4783163432c1673f4 (diff) |
INTEGRATION: CWS native185_DEV300 (1.8.18.1.4); FILE MERGED
2008/08/12 16:08:31 is 1.8.18.1.4.1: #i92713# userland installation with prepared database
Diffstat (limited to 'javainstaller2')
-rwxr-xr-x | javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java b/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java index ca85f37339e8..6348d40dd928 100755 --- a/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java +++ b/javainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ModuleCtrl.java,v $ - * $Revision: 1.9 $ + * $Revision: 1.10 $ * * This file is part of OpenOffice.org. * @@ -409,6 +409,26 @@ public class ModuleCtrl { } } + static public void setShowInUserInstallOnlyFlags(PackageDescription packageData) { + + // This function is not needed during deinstallation, because a + // module that could not be selected during installation, is always + // not installed during deinstallation and therefore gets "IGNORE" + // in function setDatabaseSettings + + if ( ! packageData.showInUserInstallOnly() ) { + packageData.setSelectionState(PackageDescription.IGNORE); + // too late to hide the module + // packageData.setIsHidden(true); + // packageData.setAllChildrenHidden(true); + } + + for (Enumeration e = packageData.children(); e.hasMoreElements(); ) { + PackageDescription child = (PackageDescription) e.nextElement(); + setShowInUserInstallOnlyFlags(child); + } + } + static public void setIgnoreNonRelocatablePackages(PackageDescription packageData) { if ( ! packageData.isRelocatable() ) { packageData.setSelectionState(PackageDescription.IGNORE); @@ -792,6 +812,13 @@ public class ModuleCtrl { Dumper.logModuleStates(packageData, "ChooseDirectory: After setShowInUserInstallFlags"); } } + else { // disable packages, that are not valid in root installation + ModuleCtrl.setShowInUserInstallOnlyFlags(packageData); + + if ( data.logModuleStates() ) { + Dumper.logModuleStates(packageData, "ChooseDirectory: After setShowInUserInstallOnlyFlags"); + } + } // Collecting packages to install // This has to be done here, because "ChooseInstallationType" and "ChooseComponents" @@ -832,6 +859,12 @@ public class ModuleCtrl { if ( data.logModuleStates() ) { Dumper.logModuleStates(packageData, "ChooseDirectory: After setShowInUserInstallFlags"); } + } else { // disable packages, that are not valid in root installation + ModuleCtrl.setShowInUserInstallOnlyFlags(packageData); + + if ( data.logModuleStates() ) { + Dumper.logModuleStates(packageData, "ChooseDirectory: After setShowInUserInstallOnlyFlags"); + } } // Problem: If all submodules have flag IGNORE, the parent can also get IGNORE |