Index: projects/projectui/src/org/netbeans/modules/project/ui/OpenProjectListSettings.java =================================================================== RCS file: /shared/data/ccvs/repository/projects/projectui/src/org/netbeans/modules/project/ui/OpenProjectListSettings.java,v --- projects/projectui/src/org/netbeans/modules/project/ui/OpenProjectListSettings.java 20 Nov 2006 17:08:32 -0000 1.26 +++ projects/projectui/src/org/netbeans/modules/project/ui/OpenProjectListSettings.java 13 Dec 2006 17:45:40 -0000 @@ -28,6 +28,7 @@ import java.io.File; import java.util.prefs.Preferences; import javax.swing.filechooser.FileSystemView; +import org.netbeans.modules.project.ui.groups.Group; import org.openide.filesystems.FileUtil; import org.openide.util.NbBundle; import org.openide.util.NbPreferences; @@ -51,7 +52,6 @@ private static final String RECENT_PROJECTS_URLS = "recentProjectsURLs"; //NOI18N List of URLs private static final String RECENT_TEMPLATES = "recentTemplates"; // NOI18N -List of Strings - private OpenProjectListSettings() { } @@ -59,22 +59,22 @@ return INSTANCE; } - protected final String putProperty(String key, String value, boolean notify) { - String retval = getProperty(key); + private final String putProperty(String key, String value, boolean notify, boolean groupSensitive) { + String retval = getProperty(key, groupSensitive); if (value != null) { - getPreferences().put(key, value); + getPreferences(groupSensitive).put(key, value); } else { - getPreferences().remove(key); + getPreferences(groupSensitive).remove(key); } return retval; } - protected final String getProperty(String key) { - return getPreferences().get(key, null); + private final String getProperty(String key, boolean groupSensitive) { + return getPreferences(groupSensitive).get(key, null); } - protected final List getURLList(String key) { - List strs = getStringList(key); + private final List getURLList(String key, boolean groupSensitive) { + List strs = getStringList(key, groupSensitive); List toRet = new ArrayList(); for (String val : strs) { try { @@ -86,8 +86,8 @@ return toRet; } - protected final List getStringList(String key) { - Preferences pref = getPreferences(); + private final List getStringList(String key, boolean groupSensitive) { + Preferences pref = getPreferences(groupSensitive); int count = 0; String val = pref.get(key + "." + count, null); List toRet = new ArrayList(); @@ -99,8 +99,8 @@ return toRet; } - protected final List getIconList(String key) { - Preferences pref = getPreferences(); + private final List getIconList(String key, boolean groupSensitive) { + Preferences pref = getPreferences(groupSensitive); int count = 0; byte[] val = pref.getByteArray(key + "." + count, null); List toRet = new ArrayList(); @@ -112,9 +112,9 @@ return toRet; } - protected final void setIconList(String basekey, List list) throws IOException { + private final void setIconList(String basekey, List list, boolean groupSensitive) throws IOException { assert list != null; - Preferences pref = getPreferences(); + Preferences pref = getPreferences(groupSensitive); int count = 0; String key = basekey + "." + count; String val = pref.get(key, null); @@ -131,10 +131,9 @@ } } - - protected final void setStringList(String basekey, List list) { + private final void setStringList(String basekey, List list, boolean groupSensitive) { assert list != null; - Preferences pref = getPreferences(); + Preferences pref = getPreferences(groupSensitive); int count = 0; String key = basekey + "." + count; String val = pref.get(key, null); @@ -151,45 +150,52 @@ } } - protected final void setURLList(String basekey, List list) { + private final void setURLList(String basekey, List list, boolean groupSensitive) { assert list != null; List strs = new ArrayList(list.size()); for (URL url : list) { strs.add(url.toExternalForm()); } - setStringList(basekey, strs); + setStringList(basekey, strs, groupSensitive); } - protected final Preferences getPreferences() { - return NbPreferences.forModule(OpenProjectListSettings.class); + private final Preferences getPreferences(boolean groupSensitive) { + Preferences node = NbPreferences.forModule(OpenProjectListSettings.class); + if (groupSensitive) { + Group g = Group.getActiveGroup(); + if (g != null) { + return g.prefs(); + } + } + return node; } public List getOpenProjectsURLs() { - return getURLList(OPEN_PROJECTS_URLS); + return getURLList(OPEN_PROJECTS_URLS, false); } public void setOpenProjectsURLs( List list ) { - setURLList( OPEN_PROJECTS_URLS, list); + setURLList(OPEN_PROJECTS_URLS, list, false); } public boolean isOpenSubprojects() { - return getPreferences().getBoolean( OPEN_SUBPROJECTS, true); + return getPreferences(true).getBoolean( OPEN_SUBPROJECTS, true); } public void setOpenSubprojects( boolean openSubprojects ) { - getPreferences().putBoolean(OPEN_SUBPROJECTS, openSubprojects); + getPreferences(true).putBoolean(OPEN_SUBPROJECTS, openSubprojects); } public boolean isOpenAsMain() { - return getPreferences().getBoolean( OPEN_AS_MAIN, true); + return getPreferences(true).getBoolean( OPEN_AS_MAIN, true); } public void setOpenAsMain( boolean openAsMain ) { - getPreferences().putBoolean(OPEN_AS_MAIN, openAsMain); + getPreferences(true).putBoolean(OPEN_AS_MAIN, openAsMain); } public URL getMainProjectURL() { - String str = getProperty(MAIN_PROJECT_URL); + String str = getProperty(MAIN_PROJECT_URL, false); if (str != null) { try { return new URL(str); @@ -201,11 +207,11 @@ } public void setMainProjectURL( URL mainProjectURL ) { - putProperty( MAIN_PROJECT_URL, mainProjectURL != null ? mainProjectURL.toString() : null, true ); + putProperty(MAIN_PROJECT_URL, mainProjectURL != null ? mainProjectURL.toString() : null, true, false); } public String getLastOpenProjectDir() { - String result = getProperty( LAST_OPEN_PROJECT_DIR ); + String result = getProperty(LAST_OPEN_PROJECT_DIR, true); if (result == null) { result = getProjectsFolder(/* #89624 */false).getAbsolutePath(); } @@ -213,39 +219,39 @@ } public void setLastOpenProjectDir( String path ) { - putProperty( LAST_OPEN_PROJECT_DIR, path, true ); + putProperty(LAST_OPEN_PROJECT_DIR, path, true, true); } public List getRecentProjectsURLs() { - return getURLList(RECENT_PROJECTS_URLS); + return getURLList(RECENT_PROJECTS_URLS, true); } public List getRecentProjectsDisplayNames() { - return getStringList(RECENT_PROJECTS_DISPLAY_NAMES); + return getStringList(RECENT_PROJECTS_DISPLAY_NAMES, true); } public List getRecentProjectsIcons() { - return getIconList(RECENT_PROJECTS_DISPLAY_ICONS); + return getIconList(RECENT_PROJECTS_DISPLAY_ICONS, true); } public void setRecentProjectsURLs( List list ) { - setURLList(RECENT_PROJECTS_URLS, list); + setURLList(RECENT_PROJECTS_URLS, list, true); } public void setRecentProjectsDisplayNames(List list) { - setStringList(RECENT_PROJECTS_DISPLAY_NAMES, list); + setStringList(RECENT_PROJECTS_DISPLAY_NAMES, list, true); } public void setRecentProjectsIcons(List list) { try { - setIconList(RECENT_PROJECTS_DISPLAY_ICONS, list); + setIconList(RECENT_PROJECTS_DISPLAY_ICONS, list, true); } catch (IOException ex) { ex.printStackTrace(); } } public File getProjectsFolder(boolean create) { - String result = getProperty (PROP_PROJECTS_FOLDER); + String result = getProperty(PROP_PROJECTS_FOLDER, true); if (result == null) { // property for overriding default projects dir location String userPrjDir = System.getProperty("netbeans.projects.dir"); // NOI18N @@ -273,35 +279,35 @@ public void setProjectsFolder (File folder) { if (folder == null) { - putProperty(PROP_PROJECTS_FOLDER, (String)null, true); + putProperty(PROP_PROJECTS_FOLDER, (String)null, true, true); } else { - putProperty(PROP_PROJECTS_FOLDER, folder.getAbsolutePath(), true); + putProperty(PROP_PROJECTS_FOLDER, folder.getAbsolutePath(), true, true); } } public List getRecentTemplates() { - return getStringList(RECENT_TEMPLATES); + return getStringList(RECENT_TEMPLATES, true); } public void setRecentTemplates( List templateNames ) { - setStringList( RECENT_TEMPLATES, templateNames ); + setStringList(RECENT_TEMPLATES, templateNames, true); } public String getLastSelectedProjectCategory () { - return getProperty (PROP_PROJECT_CATEGORY); + return getProperty(PROP_PROJECT_CATEGORY, true); } public void setLastSelectedProjectCategory (String category) { - putProperty(PROP_PROJECT_CATEGORY,category,true); + putProperty(PROP_PROJECT_CATEGORY, category, true, true); } public String getLastSelectedProjectType () { - return getProperty (PROP_PROJECT_TYPE); + return getProperty(PROP_PROJECT_TYPE, true); } public void setLastSelectedProjectType (String type) { - putProperty(PROP_PROJECT_TYPE,type,true); + putProperty(PROP_PROJECT_TYPE, type, true, true); } } Index: projects/projectui/src/org/netbeans/modules/project/ui/groups/Group.java =================================================================== RCS file: /shared/data/ccvs/repository/projects/projectui/src/org/netbeans/modules/project/ui/groups/Group.java,v --- projects/projectui/src/org/netbeans/modules/project/ui/groups/Group.java 14 Nov 2006 23:41:33 -0000 1.1 +++ projects/projectui/src/org/netbeans/modules/project/ui/groups/Group.java 13 Dec 2006 17:45:40 -0000 @@ -185,7 +185,7 @@ assert id.indexOf('/') == -1; } - protected Preferences prefs() { + public Preferences prefs() { return NODE.node(id); }