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); + } + } + } + } +}