From e4b6f71e8e1c68d7fa28f1fc24ec44e2207784e9 Mon Sep 17 00:00:00 2001 From: Julia Beliaeva Date: Tue, 21 Feb 2017 20:25:51 +0300 Subject: [PATCH] [vcs-log] create CommonUiProperties class for keeping shared properties between log and file history, move show details property there --- .../vcs/log/impl/CommonUiProperties.java | 22 +++++++++++++++++++ .../vcs/log/impl/MainVcsLogUiProperties.java | 1 - .../vcs/log/impl/VcsLogUiPropertiesImpl.java | 8 +++---- .../statistics/VcsLogFeaturesCollector.java | 3 ++- .../com/intellij/vcs/log/ui/VcsLogUiImpl.java | 3 ++- .../vcs/log/ui/actions/ShowDetailsAction.java | 4 ++-- .../intellij/vcs/log/ui/frame/MainFrame.java | 3 ++- .../vcs/log/ui/history/FileHistoryPanel.java | 4 ++-- .../vcs/log/ui/history/FileHistoryUi.java | 5 +++-- .../ui/history/FileHistoryUiProperties.java | 7 +++--- 10 files changed, 43 insertions(+), 17 deletions(-) create mode 100644 platform/vcs-log/impl/src/com/intellij/vcs/log/impl/CommonUiProperties.java diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/CommonUiProperties.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/CommonUiProperties.java new file mode 100644 index 000000000000..717d4dd8ec55 --- /dev/null +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/CommonUiProperties.java @@ -0,0 +1,22 @@ +/* + * Copyright 2000-2017 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.vcs.log.impl; + +import com.intellij.vcs.log.impl.VcsLogUiProperties.VcsLogUiProperty; + +public class CommonUiProperties { + public static final VcsLogUiProperty SHOW_DETAILS = new VcsLogUiProperty<>("Window.ShowDetails"); +} diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/MainVcsLogUiProperties.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/MainVcsLogUiProperties.java index f3677869840b..1dd2d34bbc24 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/MainVcsLogUiProperties.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/MainVcsLogUiProperties.java @@ -25,7 +25,6 @@ import java.util.Map; public interface MainVcsLogUiProperties extends VcsLogUiProperties { - VcsLogUiProperty SHOW_DETAILS = new VcsLogUiProperty<>("Window.ShowDetails"); VcsLogUiProperty SHOW_LONG_EDGES = new VcsLogUiProperty<>("Graph.ShowLongEdges"); VcsLogUiProperty BEK_SORT_TYPE = new VcsLogUiProperty<>("Graph.BekSortType"); VcsLogUiProperty SHOW_ROOT_NAMES = new VcsLogUiProperty<>("Table.ShowRootNames"); diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogUiPropertiesImpl.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogUiPropertiesImpl.java index 96ccedffe5af..d2d2ea379574 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogUiPropertiesImpl.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogUiPropertiesImpl.java @@ -29,7 +29,7 @@ import java.util.*; public abstract class VcsLogUiPropertiesImpl implements PersistentStateComponent, MainVcsLogUiProperties { private static final int RECENTLY_FILTERED_VALUES_LIMIT = 10; private static final Set SUPPORTED_PROPERTIES = - ContainerUtil.newHashSet(MainVcsLogUiProperties.SHOW_DETAILS, + ContainerUtil.newHashSet(CommonUiProperties.SHOW_DETAILS, MainVcsLogUiProperties.SHOW_LONG_EDGES, MainVcsLogUiProperties.BEK_SORT_TYPE, MainVcsLogUiProperties.SHOW_ROOT_NAMES, @@ -61,7 +61,7 @@ public abstract class VcsLogUiPropertiesImpl implements PersistentStateComponent @NotNull @Override public T get(@NotNull VcsLogUiProperties.VcsLogUiProperty property) { - if (SHOW_DETAILS.equals(property)) { + if (CommonUiProperties.SHOW_DETAILS.equals(property)) { return (T)Boolean.valueOf(getState().SHOW_DETAILS_IN_CHANGES); } else if (SHOW_LONG_EDGES.equals(property)) { @@ -95,7 +95,7 @@ public abstract class VcsLogUiPropertiesImpl implements PersistentStateComponent @Override public void set(@NotNull VcsLogUiProperties.VcsLogUiProperty property, @NotNull T value) { - if (SHOW_DETAILS.equals(property)) { + if (CommonUiProperties.SHOW_DETAILS.equals(property)) { getState().SHOW_DETAILS_IN_CHANGES = (Boolean)value; } else if (SHOW_LONG_EDGES.equals(property)) { @@ -253,7 +253,7 @@ public abstract class VcsLogUiPropertiesImpl implements PersistentStateComponent @Override public void onPropertyChanged(@NotNull VcsLogUiProperties.VcsLogUiProperty property) { - if (SHOW_DETAILS.equals(property)) { + if (CommonUiProperties.SHOW_DETAILS.equals(property)) { onShowDetailsChanged(); } else if (SHOW_LONG_EDGES.equals(property)) { diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/statistics/VcsLogFeaturesCollector.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/statistics/VcsLogFeaturesCollector.java index 89ba3bcbbe15..5db760f30c6d 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/statistics/VcsLogFeaturesCollector.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/statistics/VcsLogFeaturesCollector.java @@ -25,6 +25,7 @@ import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.project.Project; import com.intellij.util.containers.ContainerUtil; import com.intellij.vcs.log.graph.PermanentGraph; +import com.intellij.vcs.log.impl.CommonUiProperties; import com.intellij.vcs.log.impl.MainVcsLogUiProperties; import com.intellij.vcs.log.impl.VcsProjectLog; import com.intellij.vcs.log.ui.VcsLogUiImpl; @@ -50,7 +51,7 @@ public class VcsLogFeaturesCollector extends AbstractApplicationUsagesCollector MainVcsLogUiProperties properties = ui.getProperties(); Set usages = ContainerUtil.newHashSet(); - usages.add(StatisticsUtilKt.getBooleanUsage("ui.details", properties.get(SHOW_DETAILS))); + usages.add(StatisticsUtilKt.getBooleanUsage("ui.details", properties.get(CommonUiProperties.SHOW_DETAILS))); usages.add(StatisticsUtilKt.getBooleanUsage("ui.long.edges", properties.get(SHOW_LONG_EDGES))); PermanentGraph.SortType sortType = properties.get(BEK_SORT_TYPE); diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogUiImpl.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogUiImpl.java index 2f7e40d6fa8d..a1c8c676baa0 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogUiImpl.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogUiImpl.java @@ -10,6 +10,7 @@ import com.intellij.vcs.log.data.VcsLogData; import com.intellij.vcs.log.graph.PermanentGraph; import com.intellij.vcs.log.graph.actions.GraphAction; import com.intellij.vcs.log.graph.actions.GraphAnswer; +import com.intellij.vcs.log.impl.CommonUiProperties; import com.intellij.vcs.log.impl.MainVcsLogUiProperties; import com.intellij.vcs.log.impl.MainVcsLogUiProperties.VcsLogHighlighterProperty; import com.intellij.vcs.log.impl.VcsLogUiPropertiesImpl; @@ -150,7 +151,7 @@ public class VcsLogUiImpl extends AbstractVcsLogUi { private class MyVcsLogUiPropertiesListener extends VcsLogUiPropertiesImpl.MainVcsLogUiPropertiesListener { @Override public void onShowDetailsChanged() { - myMainFrame.showDetails(myUiProperties.get(MainVcsLogUiProperties.SHOW_DETAILS)); + myMainFrame.showDetails(myUiProperties.get(CommonUiProperties.SHOW_DETAILS)); } @Override diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/ShowDetailsAction.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/ShowDetailsAction.java index f5e711cd9cc1..5d26389807de 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/ShowDetailsAction.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/actions/ShowDetailsAction.java @@ -16,7 +16,7 @@ package com.intellij.vcs.log.ui.actions; import com.intellij.icons.AllIcons; -import com.intellij.vcs.log.impl.MainVcsLogUiProperties; +import com.intellij.vcs.log.impl.CommonUiProperties; import com.intellij.vcs.log.impl.VcsLogUiProperties; public class ShowDetailsAction extends BooleanPropertyToggleAction { @@ -27,6 +27,6 @@ public class ShowDetailsAction extends BooleanPropertyToggleAction { @Override protected VcsLogUiProperties.VcsLogUiProperty getProperty() { - return MainVcsLogUiProperties.SHOW_DETAILS; + return CommonUiProperties.SHOW_DETAILS; } } diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/MainFrame.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/MainFrame.java index fe3a21122df3..201a8f4c1d30 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/MainFrame.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/MainFrame.java @@ -24,6 +24,7 @@ import com.intellij.vcs.log.VcsLog; import com.intellij.vcs.log.VcsLogDataKeys; import com.intellij.vcs.log.VcsLogFilterUi; import com.intellij.vcs.log.data.VcsLogData; +import com.intellij.vcs.log.impl.CommonUiProperties; import com.intellij.vcs.log.impl.MainVcsLogUiProperties; import com.intellij.vcs.log.impl.VcsLogUtil; import com.intellij.vcs.log.ui.VcsLogActionPlaces; @@ -103,7 +104,7 @@ public class MainFrame extends JPanel implements DataProvider, Disposable { myDetailsSplitter = new OnePixelSplitter(true, "vcs.log.details.splitter.proportion", 0.7f); myDetailsSplitter.setFirstComponent(myChangesLoadingPane); - setupDetailsSplitter(myUiProperties.get(MainVcsLogUiProperties.SHOW_DETAILS)); + setupDetailsSplitter(myUiProperties.get(CommonUiProperties.SHOW_DETAILS)); myGraphTable.getSelectionModel().addListSelectionListener(new MyCommitSelectionListenerForDiff()); myDetailsPanel.installCommitSelectionListener(myGraphTable); diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/history/FileHistoryPanel.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/history/FileHistoryPanel.java index 64548c937b24..9375e87fc550 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/history/FileHistoryPanel.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/history/FileHistoryPanel.java @@ -27,7 +27,7 @@ import com.intellij.util.ArrayUtil; import com.intellij.util.containers.ContainerUtil; import com.intellij.vcs.log.VcsFullCommitDetails; import com.intellij.vcs.log.data.VcsLogData; -import com.intellij.vcs.log.impl.MainVcsLogUiProperties; +import com.intellij.vcs.log.impl.CommonUiProperties; import com.intellij.vcs.log.impl.VcsLogUtil; import com.intellij.vcs.log.ui.VcsLogActionPlaces; import com.intellij.vcs.log.ui.VcsLogInternalDataKeys; @@ -73,7 +73,7 @@ public class FileHistoryPanel extends JPanel implements DataProvider, Disposable myDetailsSplitter = new OnePixelSplitter(true, "vcs.log.history.details.splitter.proportion", 0.7f); myDetailsSplitter.setFirstComponent(VcsLogUiUtil.installProgress(VcsLogUiUtil.setupScrolledGraph(myGraphTable, SideBorder.LEFT), logData, this)); - myDetailsSplitter.setSecondComponent(myUi.getProperties().get(MainVcsLogUiProperties.SHOW_DETAILS) ? myDetailsPanel : null); + myDetailsSplitter.setSecondComponent(myUi.getProperties().get(CommonUiProperties.SHOW_DETAILS) ? myDetailsPanel : null); myDetailsPanel.installCommitSelectionListener(myGraphTable); VcsLogUiUtil.installDetailsListeners(myGraphTable, myDetailsPanel, logData, this); diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/history/FileHistoryUi.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/history/FileHistoryUi.java index 300b54387582..03e75f564a8e 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/history/FileHistoryUi.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/history/FileHistoryUi.java @@ -37,6 +37,7 @@ import com.intellij.vcs.log.VcsLogFilterUi; import com.intellij.vcs.log.data.LoadingDetails; import com.intellij.vcs.log.data.VcsLogData; import com.intellij.vcs.log.data.index.IndexDataGetter; +import com.intellij.vcs.log.impl.CommonUiProperties; import com.intellij.vcs.log.impl.MainVcsLogUiProperties; import com.intellij.vcs.log.impl.VcsLogUiProperties; import com.intellij.vcs.log.ui.AbstractVcsLogUi; @@ -248,8 +249,8 @@ public class FileHistoryUi extends AbstractVcsLogUi { private class MyPropertiesChangeListener implements VcsLogUiProperties.PropertiesChangeListener { @Override public void onPropertyChanged(@NotNull VcsLogUiProperties.VcsLogUiProperty property) { - if (property == MainVcsLogUiProperties.SHOW_DETAILS) { - myFileHistoryPanel.showDetails(myUiProperties.get(MainVcsLogUiProperties.SHOW_DETAILS)); + if (property == CommonUiProperties.SHOW_DETAILS) { + myFileHistoryPanel.showDetails(myUiProperties.get(CommonUiProperties.SHOW_DETAILS)); } else if (property == FileHistoryUiProperties.SHOW_ALL_BRANCHES) { updateFilter(); diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/history/FileHistoryUiProperties.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/history/FileHistoryUiProperties.java index 5a15d85fa990..a1046b796b5b 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/history/FileHistoryUiProperties.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/history/FileHistoryUiProperties.java @@ -21,6 +21,7 @@ import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; import com.intellij.openapi.components.StoragePathMacros; import com.intellij.util.containers.ContainerUtil; +import com.intellij.vcs.log.impl.CommonUiProperties; import com.intellij.vcs.log.impl.MainVcsLogUiProperties; import com.intellij.vcs.log.impl.VcsLogUiProperties; import org.jetbrains.annotations.NotNull; @@ -43,7 +44,7 @@ public class FileHistoryUiProperties implements VcsLogUiProperties, PersistentSt @NotNull @Override public T get(@NotNull VcsLogUiProperty property) { - if (MainVcsLogUiProperties.SHOW_DETAILS.equals(property)) { + if (CommonUiProperties.SHOW_DETAILS.equals(property)) { return (T)Boolean.valueOf(myState.SHOW_DETAILS); } else if (SHOW_ALL_BRANCHES.equals(property)) { @@ -54,7 +55,7 @@ public class FileHistoryUiProperties implements VcsLogUiProperties, PersistentSt @Override public void set(@NotNull VcsLogUiProperty property, @NotNull T value) { - if (MainVcsLogUiProperties.SHOW_DETAILS.equals(property)) { + if (CommonUiProperties.SHOW_DETAILS.equals(property)) { myState.SHOW_DETAILS = (Boolean)value; } else if (SHOW_ALL_BRANCHES.equals(property)) { @@ -68,7 +69,7 @@ public class FileHistoryUiProperties implements VcsLogUiProperties, PersistentSt @Override public boolean exists(@NotNull VcsLogUiProperty property) { - return MainVcsLogUiProperties.SHOW_DETAILS.equals(property) || SHOW_ALL_BRANCHES.equals(property); + return CommonUiProperties.SHOW_DETAILS.equals(property) || SHOW_ALL_BRANCHES.equals(property); } @Nullable