diff --git a/plugins/svn4idea/src/META-INF/plugin.xml b/plugins/svn4idea/src/META-INF/plugin.xml
index 1a7bf5f345e6..e8113d62b94b 100644
--- a/plugins/svn4idea/src/META-INF/plugin.xml
+++ b/plugins/svn4idea/src/META-INF/plugin.xml
@@ -98,8 +98,11 @@
+
+
+
-
+
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CopiesPanel.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CopiesPanel.java
index 56dd39975013..10d4e9e47618 100644
--- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CopiesPanel.java
+++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CopiesPanel.java
@@ -182,6 +182,16 @@ public class CopiesPanel {
final JTextField format = createField("Format: " + wcInfo.getFormat().getName());
copyPanel.add(format, gb1);
+ gb1.gridx = 2;
+ final LinkLabel changeFormatLabel = new LinkLabel("Change", null, new LinkListener() {
+ public void linkSelected(LinkLabel aSource, Object aLinkData) {
+ changeFormat(wcInfo);
+ }
+ });
+ copyPanel.add(changeFormatLabel, gb1);
+ setFocusableForLinks(changeFormatLabel);
+ gb1.gridx = 0;
+
++ gb1.gridy;
final JTextField depth = createField("Depth: " + wcInfo.getStickyDepth().getName());
copyPanel.add(depth, gb1);
@@ -224,17 +234,9 @@ public class CopiesPanel {
gb1.gridwidth = 1;
gb1.insets.top = 5;
++ gb1.gridy;
- final LinkLabel formatLabel = new LinkLabel("Change Format", null, new LinkListener() {
- public void linkSelected(LinkLabel aSource, Object aLinkData) {
- changeFormat(wcInfo);
- }
- });
- copyPanel.add(formatLabel, gb1);
- setFocusableForLinks(formatLabel);
final VirtualFile vf = lfs.refreshAndFindFileByIoFile(new File(wcInfo.getPath()));
final VirtualFile root = (vf == null) ? wcInfo.getVcsRoot() : vf;
- ++ gb1.gridx;
final LinkLabel configureBranchesLabel = new LinkLabel("Configure Branches", null, new LinkListener() {
public void linkSelected(LinkLabel aSource, Object aLinkData) {
BranchConfigurationDialog.configureBranches(myProject, root, true);
@@ -246,7 +248,7 @@ public class CopiesPanel {
copyPanel.add(configureBranchesLabel, gb1);
setFocusableForLinks(configureBranchesLabel);
- ++ gb1.gridx;
+ ++ gb1.gridy;
final LinkLabel mergeLabel = new LinkLabel("Merge from...", null);
mergeLabel.setListener(new LinkListener() {
public void linkSelected(LinkLabel aSource, Object aLinkData) {
@@ -256,6 +258,9 @@ public class CopiesPanel {
if (root == null) {
mergeLabel.setEnabled(false); //+-
}
+ final Font font = mergeLabel.getFont();
+ mergeLabel.setFont(font.deriveFont(Font.BOLD));
+ mergeLabel.setForeground(mergeLabel.getForeground().darker());
copyPanel.add(mergeLabel, gb1);
setFocusableForLinks(mergeLabel);
}
diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/MergeFromAction.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/MergeFromAction.java
new file mode 100644
index 000000000000..ba84209cbcc9
--- /dev/null
+++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/MergeFromAction.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2000-2010 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 org.jetbrains.idea.svn.dialogs;
+
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.DataContext;
+import com.intellij.openapi.actionSystem.PlatformDataKeys;
+import com.intellij.openapi.project.DumbAwareAction;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.vcs.changes.ui.ChangesViewContentManager;
+import com.intellij.openapi.wm.ToolWindow;
+import com.intellij.openapi.wm.ToolWindowManager;
+import com.intellij.ui.content.Content;
+import com.intellij.ui.content.ContentManager;
+import org.jetbrains.idea.svn.SvnBundle;
+
+public class MergeFromAction extends DumbAwareAction {
+ public MergeFromAction() {
+ super("Merge from...", "One-click merge for feature branches", null);
+ }
+
+ @Override
+ public void actionPerformed(AnActionEvent e) {
+ final DataContext dc = e.getDataContext();
+ final Project project = PlatformDataKeys.PROJECT.getData(dc);
+ if (project == null) return;
+ final ToolWindowManager manager = ToolWindowManager.getInstance(project);
+ if (manager != null) {
+ final ToolWindow window = manager.getToolWindow(ChangesViewContentManager.TOOLWINDOW_ID);
+ if (window != null) {
+ window.show(null);
+ final ContentManager cm = window.getContentManager();
+ final Content content = cm.findContent(SvnBundle.message("dialog.show.svn.map.title"));
+ if (content != null) {
+ cm.setSelectedContent(content, true);
+ }
+ }
+ }
+ }
+}