File tree Expand file tree Collapse file tree 6 files changed +53
-80
lines changed Expand file tree Collapse file tree 6 files changed +53
-80
lines changed Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ // Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+ // SPDX-License-Identifier: Apache-2.0
3+
4+ package software.aws.toolkits.jetbrains.services.amazonq.lsp.util
5+
6+ import com.intellij.openapi.fileChooser.FileChooserDescriptor
7+
8+ /* *
9+ * Applies file extension filtering to the given FileChooserDescriptor for IntelliJ Platform versions before 2024.3 (baseline < 243).
10+ * Uses withFileFilter method which provides filtering functionality but doesn't visually filter
11+ * files in the chooser dialog.
12+ *
13+ * @param descriptor The FileChooserDescriptor to apply filtering to
14+ * @param filterName The display name for the filter (e.g., "Images")
15+ * @param allowedExtensions Set of allowed file extensions (e.g., "jpg", "png")
16+ * @return The modified FileChooserDescriptor
17+ */
18+ fun applyExtensionFilter (
19+ descriptor : FileChooserDescriptor ,
20+ filterName : String ,
21+ allowedExtensions : Set <String >,
22+ ): FileChooserDescriptor = descriptor.withFileFilter { virtualFile ->
23+ if (virtualFile.isDirectory) {
24+ true // Always allow directories for navigation
25+ } else {
26+ val extension = virtualFile.extension?.lowercase()
27+ extension != null && allowedExtensions.contains(extension)
28+ }
29+ }
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ // Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+ // SPDX-License-Identifier: Apache-2.0
3+
4+ package software.aws.toolkits.jetbrains.services.amazonq.lsp.util
5+
6+ import com.intellij.openapi.fileChooser.FileChooserDescriptor
7+
8+ /* *
9+ * Applies file extension filtering to the given FileChooserDescriptor for IntelliJ Platform versions 2024.3+ (baseline >= 243).
10+ * Uses withExtensionFilter method which provides both filtering functionality and visual
11+ * filtering in the chooser dialog.
12+ *
13+ * @param descriptor The FileChooserDescriptor to apply filtering to
14+ * @param filterName The display name for the filter (e.g., "Images")
15+ * @param allowedExtensions Set of allowed file extensions (e.g., "jpg", "png")
16+ * @return The modified FileChooserDescriptor
17+ */
18+ fun applyExtensionFilter (
19+ descriptor : FileChooserDescriptor ,
20+ filterName : String ,
21+ allowedExtensions : Set <String >,
22+ ): FileChooserDescriptor = descriptor.withExtensionFilter(filterName, * allowedExtensions.toTypedArray())
Original file line number Diff line number Diff line change @@ -64,7 +64,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ShowO
6464import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ShowSaveFileDialogParams
6565import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ShowSaveFileDialogResult
6666import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.credentials.ConnectionMetadata
67- import software.aws.toolkits.jetbrains.services.amazonq.lsp.util.FileChooserCompat
67+ import software.aws.toolkits.jetbrains.services.amazonq.lsp.util.applyExtensionFilter
6868import software.aws.toolkits.jetbrains.services.amazonq.lsp.util.LspEditorUtil
6969import software.aws.toolkits.jetbrains.services.amazonq.lsp.util.TelemetryParsingUtil
7070import software.aws.toolkits.jetbrains.services.codewhisperer.customization.CodeWhispererModelConfigurator
@@ -312,8 +312,7 @@ class AmazonQLanguageClientImpl(private val project: Project) : AmazonQLanguageC
312312 if (params.filters.isNotEmpty() && ! params.canSelectFolders) {
313313 // Create a combined list of all allowed extensions
314314 val allowedExtensions = params.filters.values.flatten().toSet()
315- val fileChooserCompat = FileChooserCompat .getInstance()
316- fileChooserCompat.applyExtensionFilter(this , " Images" , allowedExtensions)
315+ applyExtensionFilter(this , " Images" , allowedExtensions)
317316 }
318317 }
319318
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments