summaryrefslogtreecommitdiff
path: root/javainstaller2
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2008-08-27 10:31:37 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2008-08-27 10:31:37 +0000
commit2f28700d06788f99cd8ce18c2b92a9754130bef0 (patch)
treea1b62d53b9b6809fd93a53970c955932db8b08c7 /javainstaller2
parent6c9167603867caf0d31c21f4783163432c1673f4 (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-xjavainstaller2/src/JavaSetup/org/openoffice/setup/Util/ModuleCtrl.java35
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