diff options
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/WindowCachePreferencePage.java')
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/WindowCachePreferencePage.java | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/WindowCachePreferencePage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/WindowCachePreferencePage.java index 2bf360a153..31dc9d4158 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/WindowCachePreferencePage.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/preferences/WindowCachePreferencePage.java @@ -13,7 +13,7 @@ package org.eclipse.egit.ui.internal.preferences; import org.eclipse.core.runtime.preferences.InstanceScope; import org.eclipse.egit.core.Activator; import org.eclipse.egit.core.GitCorePreferences; -import org.eclipse.egit.core.project.GitProjectData; +import org.eclipse.egit.core.RepositoryInitializer; import org.eclipse.egit.ui.internal.UIText; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; @@ -25,7 +25,10 @@ import org.eclipse.ui.preferences.ScopedPreferenceStore; /** Preferences for our window cache. */ public class WindowCachePreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { - private static final int MB = 1024 * 1024; + + private static final int KB = 1024; + + private static final int MB = 1024 * KB; private static final int GB = 1024 * MB; @@ -34,35 +37,47 @@ public class WindowCachePreferencePage extends FieldEditorPreferencePage super(GRID); setTitle(UIText.WindowCachePreferencePage_title); ScopedPreferenceStore store = new ScopedPreferenceStore( - InstanceScope.INSTANCE, Activator.getPluginId()); + InstanceScope.INSTANCE, Activator.PLUGIN_ID); setPreferenceStore(store); } @Override protected void createFieldEditors() { - addField(new StorageSizeFieldEditor( + StorageSizeFieldEditor editor = new StorageSizeFieldEditor( GitCorePreferences.core_packedGitWindowSize, UIText.WindowCachePreferencePage_packedGitWindowSize, getFieldEditorParent(), 512, 128 * MB) { + @Override protected boolean checkValue(final int number) { return super.checkValue(number) && Integer.bitCount(number) == 1; } - }); + }; + addField(editor); - addField(new StorageSizeFieldEditor( + editor = new StorageSizeFieldEditor( GitCorePreferences.core_packedGitLimit, UIText.WindowCachePreferencePage_packedGitLimit, - getFieldEditorParent(), 512, 1 * GB)); - addField(new StorageSizeFieldEditor( + getFieldEditorParent(), 512, 1 * GB); + addField(editor); + editor = new StorageSizeFieldEditor( GitCorePreferences.core_deltaBaseCacheLimit, UIText.WindowCachePreferencePage_deltaBaseCacheLimit, - getFieldEditorParent(), 512, 1 * GB)); - addField(new StorageSizeFieldEditor( + getFieldEditorParent(), 512, 1 * GB); + addField(editor); + editor = new StorageSizeFieldEditor( GitCorePreferences.core_streamFileThreshold, UIText.WindowCachePreferencePage_streamFileThreshold, - getFieldEditorParent(), 10 * MB, 1 * GB)); + getFieldEditorParent(), 10 * MB, 1 * GB); + addField(editor); + editor = new StorageSizeFieldEditor( + GitCorePreferences.core_textBufferSize, + UIText.WindowCachePreferencePage_textBufferSizeLabel, + getFieldEditorParent(), 8 * KB, 128 * KB); + addField(editor); + editor.getLabelControl(getFieldEditorParent()).setToolTipText( + UIText.WindowCachePreferencePage_textBufferSizeTooltip); if (!SystemReader.getInstance().isWindows()) { BooleanFieldEditor mmapEditor = new BooleanFieldEditor( @@ -78,7 +93,7 @@ public class WindowCachePreferencePage extends FieldEditorPreferencePage // first put the editor values into the configuration super.performOk(); try { - GitProjectData.reconfigureWindowCache(); + RepositoryInitializer.reconfigureWindowCache(); return true; } catch (RuntimeException e) { org.eclipse.egit.ui.Activator.handleError(e.getMessage(), e, true); |