From a439857acb4abced4ff3dc3b7d14ebc979e096c5 Mon Sep 17 00:00:00 2001 From: Nadya Zabrodina Date: Wed, 18 Mar 2015 15:40:45 +0400 Subject: [PATCH] IDEA-137510 "Edit all targets" link should be disabled while edit mode enabled --- .../com/intellij/dvcs/push/ui/PushLog.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/PushLog.java b/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/PushLog.java index 4c8b86b75fef..d8b492b5630f 100644 --- a/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/PushLog.java +++ b/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/PushLog.java @@ -48,6 +48,8 @@ import javax.swing.event.*; import javax.swing.tree.*; import java.awt.*; import java.awt.event.*; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import java.util.Collection; import java.util.Collections; import java.util.EventObject; @@ -258,13 +260,24 @@ public class PushLog extends JPanel implements DataProvider { linkLabel.setListener(new LinkListener() { @Override public void linkSelected(LinkLabel aSource, String aLinkData) { - mySyncStrategy = true; - DefaultMutableTreeNode nodeToEdit = getFirstNodeToEdit(); - if (nodeToEdit != null) { - myTree.startEditingAtPath(TreeUtil.getPathFromRoot(nodeToEdit)); + if (linkLabel.isEnabled()) { + mySyncStrategy = true; + DefaultMutableTreeNode nodeToEdit = getFirstNodeToEdit(); + if (nodeToEdit != null) { + myTree.startEditingAtPath(TreeUtil.getPathFromRoot(nodeToEdit)); + } } } }, null); + myTree.addPropertyChangeListener(PushLogTreeUtil.EDIT_MODE_PROP, new PropertyChangeListener() { + @Override + public void propertyChange(PropertyChangeEvent evt) { + Boolean editMode = (Boolean)evt.getNewValue(); + linkLabel.setEnabled(!editMode); + linkLabel.setPaintUnderline(!editMode); + linkLabel.repaint(); + } + }); labelPanel.add(linkLabel, BorderLayout.EAST); return labelPanel; }