mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
diff: move clipboard-related functions to util
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user