diff: move clipboard-related functions to util

This commit is contained in:
Aleksey Pivovarov
2015-02-03 20:14:11 +03:00
parent fceca082c6
commit c2ae14646a
2 changed files with 29 additions and 0 deletions
@@ -5,12 +5,15 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.diff.DiffContentUtil;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.EditorFactory;
import com.intellij.openapi.editor.impl.DocumentImpl;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.ide.CopyPasteManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.diff.contents.*;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.testFramework.BinaryLightVirtualFile;
@@ -18,6 +21,7 @@ import com.intellij.util.LineSeparator;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.awt.datatransfer.DataFlavor;
import java.io.File;
import java.io.IOException;
@@ -66,6 +70,18 @@ public class DiffContentFactory {
return new FileDocumentContentImpl(project, document, file);
}
@NotNull
public static DiffContent createClipboardContent() {
String text = CopyPasteManager.getInstance().getContents(DataFlavor.stringFlavor);
return new DocumentContentImpl(new DocumentImpl(StringUtil.notNullize(text)));
}
@NotNull
private static DocumentContent createClipboardContent(@NotNull DocumentContent mainContent) {
String text = CopyPasteManager.getInstance().getContents(DataFlavor.stringFlavor);
return new DocumentContentWrapper(mainContent, StringUtil.notNullize(text));
}
@NotNull
public static BinaryFileContentImpl createBinary(@Nullable Project project,
@NotNull String name,
@@ -34,4 +34,17 @@ public class DiffRequestFactory {
}
return name;
}
@NotNull
public static DiffRequest createClipboardVsValue(@NotNull String value) {
DiffContent content1 = DiffContentFactory.createClipboardContent();
DiffContent content2 = DiffContentFactory.create(value, null);
String title1 = DiffBundle.message("diff.content.clipboard.content.title");
String title2 = DiffBundle.message("diff.content.selected.value");
String title = DiffBundle.message("diff.clipboard.vs.value.dialog.title");
return new SimpleDiffRequest(title, content1, content2, title1, title2);
}
}