vcs: turn option to enable partial changelists into application-wide

follow-up: 009b59cc8d
This commit is contained in:
Aleksey Pivovarov
2018-02-08 19:43:04 +03:00
parent 26f9e21872
commit 591fdc7b7a
5 changed files with 11 additions and 13 deletions
@@ -21,6 +21,7 @@ public class VcsApplicationSettings implements PersistentStateComponent<VcsAppli
public boolean SHOW_LST_GUTTER_MARKERS = true;
public boolean SHOW_LST_WORD_DIFFERENCES = true;
public boolean DETECT_PATCH_ON_THE_FLY = false;
public boolean ENABLE_PARTIAL_CHANGELISTS = false;
public static VcsApplicationSettings getInstance() {
return ServiceManager.getService(VcsApplicationSettings.class);
@@ -70,7 +70,6 @@ public final class VcsConfiguration implements PersistentStateComponent<VcsConfi
public boolean LOCAL_CHANGES_DETAILS_PREVIEW_SHOWN = false;
public boolean SHELVE_DETAILS_PREVIEW_SHOWN = false;
public boolean RELOAD_CONTEXT = true;
public boolean ENABLE_PARTIAL_CHANGELISTS = false;
@XCollection(elementName = "path", propertyElementName = "ignored-roots")
public List<String> IGNORED_UNREGISTERED_ROOTS = ContainerUtil.newArrayList();
@@ -22,8 +22,8 @@ import com.intellij.openapi.options.SearchableConfigurable;
import com.intellij.openapi.options.binding.BindControl;
import com.intellij.openapi.options.binding.BindableConfigurable;
import com.intellij.openapi.options.binding.ControlBinder;
import com.intellij.openapi.vcs.VcsApplicationSettings;
import com.intellij.openapi.vcs.VcsBundle;
import com.intellij.openapi.vcs.VcsConfiguration;
import com.intellij.openapi.vcs.changes.ChangeListManagerImpl;
import com.intellij.openapi.vcs.impl.LineStatusTrackerSettingListener;
import com.intellij.ui.components.JBList;
@@ -63,11 +63,11 @@ public class ChangelistConflictConfigurable extends BindableConfigurable impleme
private boolean myIgnoredFilesCleared;
private final ChangelistConflictTracker myConflictTracker;
private final VcsConfiguration myVcsConfiguration;
private final VcsApplicationSettings myVcsApplicationSettings;
public ChangelistConflictConfigurable(ChangeListManagerImpl manager) {
super(new ControlBinder(manager.getConflictTracker().getOptions()));
myVcsConfiguration = VcsConfiguration.getInstance(manager.getProject());
myVcsApplicationSettings = VcsApplicationSettings.getInstance();
myEnableConflictTrackingCheckBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@@ -95,7 +95,7 @@ public class ChangelistConflictConfigurable extends BindableConfigurable impleme
@Override
public void reset() {
super.reset();
myEnablePartialChangelists.setSelected(myVcsConfiguration.ENABLE_PARTIAL_CHANGELISTS);
myEnablePartialChangelists.setSelected(myVcsApplicationSettings.ENABLE_PARTIAL_CHANGELISTS);
Collection<String> conflicts = myConflictTracker.getIgnoredConflicts();
myIgnoredFiles.setListData(ArrayUtil.toStringArray(conflicts));
@@ -111,8 +111,8 @@ public class ChangelistConflictConfigurable extends BindableConfigurable impleme
conflict.ignored = false;
}
}
if (myEnablePartialChangelists.isSelected() != myVcsConfiguration.ENABLE_PARTIAL_CHANGELISTS) {
myVcsConfiguration.ENABLE_PARTIAL_CHANGELISTS = myEnablePartialChangelists.isSelected();
if (myEnablePartialChangelists.isSelected() != myVcsApplicationSettings.ENABLE_PARTIAL_CHANGELISTS) {
myVcsApplicationSettings.ENABLE_PARTIAL_CHANGELISTS = myEnablePartialChangelists.isSelected();
ApplicationManager.getApplication().getMessageBus().syncPublisher(LineStatusTrackerSettingListener.TOPIC).settingsUpdated();
}
myConflictTracker.optionsChanged();
@@ -122,7 +122,7 @@ public class ChangelistConflictConfigurable extends BindableConfigurable impleme
public boolean isModified() {
return super.isModified() ||
myIgnoredFiles.getModel().getSize() != myConflictTracker.getIgnoredConflicts().size() ||
myEnablePartialChangelists.isSelected() != myVcsConfiguration.ENABLE_PARTIAL_CHANGELISTS;
myEnablePartialChangelists.isSelected() != myVcsApplicationSettings.ENABLE_PARTIAL_CHANGELISTS;
}
@Nls
@@ -84,7 +84,7 @@ class LineStatusTrackerManager(
private val trackers = HashMap<Document, TrackerData>()
private val forcedDocuments = HashMap<Document, Multiset<Any>>()
private var partialChangeListsEnabled = VcsConfiguration.getInstance(project).ENABLE_PARTIAL_CHANGELISTS && Registry.`is`("vcs.enable.partial.changelists")
private var partialChangeListsEnabled = VcsApplicationSettings.getInstance().ENABLE_PARTIAL_CHANGELISTS && Registry.`is`("vcs.enable.partial.changelists")
private val documentsInDefaultChangeList = HashSet<Document>()
private val filesWithDamagedInactiveRanges = HashSet<VirtualFile>()
@@ -649,7 +649,7 @@ class LineStatusTrackerManager(
private inner class MyLineStatusTrackerSettingListener : LineStatusTrackerSettingListener {
override fun settingsUpdated() {
partialChangeListsEnabled = VcsConfiguration.getInstance(project).ENABLE_PARTIAL_CHANGELISTS && Registry.`is`("vcs.enable.partial.changelists")
partialChangeListsEnabled = VcsApplicationSettings.getInstance().ENABLE_PARTIAL_CHANGELISTS && Registry.`is`("vcs.enable.partial.changelists")
updateTrackingModes()
}
@@ -20,9 +20,9 @@ import com.intellij.internal.statistic.beans.GroupDescriptor;
import com.intellij.internal.statistic.beans.UsageDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vcs.VcsConfiguration;
import java.util.HashSet;
import org.jetbrains.annotations.NotNull;
import java.util.HashSet;
import java.util.Set;
import static com.intellij.internal.statistic.utils.StatisticsUtilKt.getBooleanUsage;
@@ -71,8 +71,6 @@ public class VcsOptionsUsagesCollector extends AbstractProjectsUsagesCollector {
usages.add(getBooleanUsage("include.text.into.shelf", configuration.INCLUDE_TEXT_INTO_SHELF));
usages.add(getBooleanUsage("check.conflicts.in.background", configuration.CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND));
usages.add(getBooleanUsage("enable.partial.changelists", configuration.ENABLE_PARTIAL_CHANGELISTS));
return usages;
}
}