mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 06:51:17 +07:00
SVN: merge from action
(cherry picked from commit 6f4593f3008e95621677c0f01b0a44b050e9bdbb)
This commit is contained in:
@@ -98,8 +98,11 @@
|
||||
<add-to-group group-id="SubversionGroup" relative-to-action="Subversion.Add" anchor="after"/>
|
||||
</group>
|
||||
|
||||
<action class="org.jetbrains.idea.svn.dialogs.MergeFromAction" id="Subversion.MergeFrom">
|
||||
<add-to-group relative-to-action="Vcs.IntegrateProject" anchor="after" group-id="VcsGlobalGroup"/>
|
||||
</action>
|
||||
<action class="org.jetbrains.idea.svn.actions.CleanupProjectAction" id="Subversion.CleanupProject">
|
||||
<add-to-group group-id="VcsGlobalGroup" anchor="after" relative-to-action="Vcs.IntegrateProject"/>
|
||||
<add-to-group group-id="VcsGlobalGroup" anchor="after" relative-to-action="Subversion.MergeFrom"/>
|
||||
</action>
|
||||
</actions>
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user