Example usage for com.intellij.openapi.diff ActionButtonPresentation CANCEL_WITH_PROMPT

List of usage examples for com.intellij.openapi.diff ActionButtonPresentation CANCEL_WITH_PROMPT

Introduction

In this page you can find the example usage for com.intellij.openapi.diff ActionButtonPresentation CANCEL_WITH_PROMPT.

Prototype

ActionButtonPresentation CANCEL_WITH_PROMPT

To view the source code for com.intellij.openapi.diff ActionButtonPresentation CANCEL_WITH_PROMPT.

Click Source Link

Usage

From source file:com.dci.intellij.dbn.editor.code.SourceCodeEditorManager.java

License:Apache License

private void showSourceDiffDialog(final String databaseContent, final SourceCodeFile virtualFile,
        final Editor editor) {
    new SimpleLaterInvocator() {
        public void run() {
            DiffRequestFactory diffRequestFactory = new DiffRequestFactoryImpl();
            MergeRequest mergeRequest = diffRequestFactory.createMergeRequest(databaseContent,
                    virtualFile.getContent(), virtualFile.getLastSavedContent(), virtualFile,
                    virtualFile.getProject(), ActionButtonPresentation.APPLY,
                    ActionButtonPresentation.CANCEL_WITH_PROMPT);
            mergeRequest.setVersionTitles(new String[] { "Database version", "Merge result", "Your version" });
            final DBSchemaObject object = virtualFile.getObject();
            mergeRequest.setWindowTitle("Version conflict resolution for " + object.getQualifiedNameWithType());

            DiffManager.getInstance().getDiffTool().show(mergeRequest);

            int result = mergeRequest.getResult();
            if (result == 0) {
                doUpdateSourceToDatabase(object, virtualFile, editor);
                //sourceCodeEditor.afterSave();
            } else if (result == 1) {
                new WriteActionRunner() {
                    public void run() {
                        editor.getDocument().setText(virtualFile.getContent());
                        object.getStatus().set(DBObjectStatus.SAVING, false);
                    }//from  w w w .ja  v  a  2s .  c  o  m
                }.start();
            }
        }
    }.start();
}

From source file:com.microsoft.alm.plugin.idea.tfvc.core.tfs.conflicts.DialogContentMerger.java

License:Open Source License

public boolean mergeContent(final ContentTriplet contentTriplet, final Project project,
        final VirtualFile localFile, final VcsRevisionNumber serverVersion) {
    ArgumentHelper.checkIfFileWriteable(new File(localFile.getPath()));

    final MergeDialogCustomizer c = new MergeDialogCustomizer();
    final MergeRequest request = DiffRequestFactory.getInstance().createMergeRequest(
            StreamUtil.convertSeparators(contentTriplet.localContent),
            StreamUtil.convertSeparators(contentTriplet.serverContent),
            StreamUtil.convertSeparators(contentTriplet.baseContent), localFile, project,
            ActionButtonPresentation.APPLY, ActionButtonPresentation.CANCEL_WITH_PROMPT);

    request.setWindowTitle(c.getMergeWindowTitle(localFile));
    request.setVersionTitles(new String[] { c.getLeftPanelTitle(localFile), c.getCenterPanelTitle(localFile),
            c.getRightPanelTitle(localFile, serverVersion) });

    // TODO (Jetbrains) call canShow() first
    DiffManager.getInstance().getDiffTool().show(request);
    if (request.getResult() == DialogWrapper.OK_EXIT_CODE) {
        return true;
    } else {//from  w w  w.j  a  v a2 s  .c  o m
        request.restoreOriginalContent();
        // TODO (Jetbrains) maybe MergeVersion.MergeDocumentVersion.restoreOriginalContent() should save document itself?
        ApplicationManager.getApplication().runWriteAction(new Runnable() {
            public void run() {
                final Document document = FileDocumentManager.getInstance().getDocument(localFile);
                if (document != null) {
                    FileDocumentManager.getInstance().saveDocument(document);
                }
            }
        });
        return false;
    }
}

From source file:org.jetbrains.tfsIntegration.core.tfs.conflicts.DialogContentMerger.java

License:Apache License

public boolean mergeContent(Conflict conflict, ContentTriplet contentTriplet, Project project,
        final VirtualFile localFile, String localPath, VcsRevisionNumber serverVersion) {
    TFSVcs.assertTrue(localFile.isWritable(), localFile.getPresentableUrl() + " must be writable");

    MergeDialogCustomizer c = new MergeDialogCustomizer();
    MergeRequest request = DiffRequestFactory.getInstance().createMergeRequest(
            StreamUtil.convertSeparators(contentTriplet.localContent),
            StreamUtil.convertSeparators(contentTriplet.serverContent),
            StreamUtil.convertSeparators(contentTriplet.baseContent), localFile, project,
            ActionButtonPresentation.APPLY, ActionButtonPresentation.CANCEL_WITH_PROMPT);

    request.setWindowTitle(c.getMergeWindowTitle(localFile));
    request.setVersionTitles(new String[] { c.getLeftPanelTitle(localFile), c.getCenterPanelTitle(localFile),
            c.getRightPanelTitle(localFile, serverVersion) });

    // TODO call canShow() first
    DiffManager.getInstance().getDiffTool().show(request);
    if (request.getResult() == DialogWrapper.OK_EXIT_CODE) {
        return true;
    } else {/*from   w w w .ja v a2  s  .c  o  m*/
        request.restoreOriginalContent();
        // TODO maybe MergeVersion.MergeDocumentVersion.restoreOriginalContent() should save document itself?
        ApplicationManager.getApplication().runWriteAction(new Runnable() {
            public void run() {
                final Document document = FileDocumentManager.getInstance().getDocument(localFile);
                if (document != null) {
                    FileDocumentManager.getInstance().saveDocument(document);
                }
            }
        });
        return false;
    }
}