From 7363959cbc8bbe5563726383a92bc543f4da94b4 Mon Sep 17 00:00:00 2001 From: xxchen <55854508+xiaox-chen@users.noreply.github.com> Date: Tue, 28 Jan 2025 17:45:37 -0500 Subject: [PATCH] fix(amazonq): open diff in a new tab when another modal is open (#5289) --- .../bugfix-1a28cd4b-54eb-46bb-b0c6-2f9abc8fa9e6.json | 4 ++++ .../services/amazonqDoc/controller/DocController.kt | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 .changes/next-release/bugfix-1a28cd4b-54eb-46bb-b0c6-2f9abc8fa9e6.json diff --git a/.changes/next-release/bugfix-1a28cd4b-54eb-46bb-b0c6-2f9abc8fa9e6.json b/.changes/next-release/bugfix-1a28cd4b-54eb-46bb-b0c6-2f9abc8fa9e6.json new file mode 100644 index 0000000000..312fec1ae1 --- /dev/null +++ b/.changes/next-release/bugfix-1a28cd4b-54eb-46bb-b0c6-2f9abc8fa9e6.json @@ -0,0 +1,4 @@ +{ + "type" : "bugfix", + "description" : "Amazon Q /doc: fix open diff in a tab when another modal is open" +} \ No newline at end of file diff --git a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqDoc/controller/DocController.kt b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqDoc/controller/DocController.kt index c16610dc9d..c52bedf1d9 100644 --- a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqDoc/controller/DocController.kt +++ b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqDoc/controller/DocController.kt @@ -4,8 +4,10 @@ package software.aws.toolkits.jetbrains.services.amazonqDoc.controller import com.intellij.diff.DiffContentFactory -import com.intellij.diff.DiffManager +import com.intellij.diff.chains.SimpleDiffRequestChain import com.intellij.diff.contents.EmptyContent +import com.intellij.diff.editor.ChainDiffVirtualFile +import com.intellij.diff.editor.DiffEditorTabFilesManager import com.intellij.diff.requests.SimpleDiffRequest import com.intellij.diff.util.DiffUserDataKeys import com.intellij.ide.BrowserUtil @@ -398,7 +400,8 @@ class DocController( val request = SimpleDiffRequest(message.filePath, leftDiffContent, rightDiffContent, null, null) request.putUserData(DiffUserDataKeys.FORCE_READ_ONLY, true) - DiffManager.getInstance().showDiff(project, request) + val newDiff = ChainDiffVirtualFile(SimpleDiffRequestChain(request), message.filePath) + DiffEditorTabFilesManager.getInstance(context.project).showDiffFile(newDiff, true) } }