Skip to content

Commit 3bc604d

Browse files
authored
Added meet q page when users sign in through Codewhisperer (#4092)
* Added meet q page even when users sign in through cw * added util * switched q sign in
1 parent bce2fac commit 3bc604d

File tree

4 files changed

+38
-18
lines changed

4 files changed

+38
-18
lines changed

jetbrains-core/src/software/aws/toolkits/jetbrains/services/amazonq/explorerActions/SignInToQAction.kt

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,13 @@ package software.aws.toolkits.jetbrains.services.amazonq.explorerActions
66
import com.intellij.icons.AllIcons
77
import com.intellij.openapi.actionSystem.AnActionEvent
88
import com.intellij.openapi.application.runInEdt
9-
import com.intellij.openapi.fileEditor.FileEditorManager
10-
import com.intellij.openapi.fileEditor.OpenFileDescriptor
119
import com.intellij.openapi.project.DumbAwareAction
1210
import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager
1311
import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
1412
import software.aws.toolkits.jetbrains.core.credentials.reauthConnectionIfNeeded
1513
import software.aws.toolkits.jetbrains.core.explorer.refreshCwQTree
1614
import software.aws.toolkits.jetbrains.core.gettingstarted.requestCredentialsForQ
17-
import software.aws.toolkits.jetbrains.services.amazonq.gettingstarted.QGettingStartedVirtualFile
18-
import software.aws.toolkits.jetbrains.settings.MeetQSettings
15+
import software.aws.toolkits.jetbrains.services.amazonq.gettingstarted.openMeetQPage
1916
import software.aws.toolkits.resources.message
2017
import software.aws.toolkits.telemetry.UiTelemetry
2118

@@ -35,21 +32,8 @@ abstract class SignInToQActionBase(actionName: String) : DumbAwareAction(actionN
3532
runInEdt {
3633
if (requestCredentialsForQ(project)) {
3734
project.refreshCwQTree()
38-
val meetQSettings = MeetQSettings.getInstance()
39-
if (!meetQSettings.shouldDisplayPage) {
35+
if (!openMeetQPage(project)) {
4036
return@runInEdt
41-
} else {
42-
FileEditorManager.getInstance(
43-
project
44-
).openTextEditor(
45-
OpenFileDescriptor(
46-
project,
47-
QGettingStartedVirtualFile()
48-
),
49-
true
50-
)
51-
meetQSettings.shouldDisplayPage = false
52-
UiTelemetry.click(project, "toolkit_openedWelcomeToAmazonQPage")
5337
}
5438
}
5539
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Copyright 2024 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.gettingstarted
5+
6+
import com.intellij.openapi.fileEditor.FileEditorManager
7+
import com.intellij.openapi.fileEditor.OpenFileDescriptor
8+
import com.intellij.openapi.project.Project
9+
import software.aws.toolkits.jetbrains.settings.MeetQSettings
10+
import software.aws.toolkits.telemetry.UiTelemetry
11+
12+
fun openMeetQPage(project: Project): Boolean {
13+
val meetQSettings = MeetQSettings.getInstance()
14+
if (!meetQSettings.shouldDisplayPage) {
15+
return false
16+
} else {
17+
FileEditorManager.getInstance(
18+
project
19+
).openTextEditor(
20+
OpenFileDescriptor(
21+
project,
22+
QGettingStartedVirtualFile()
23+
),
24+
true
25+
)
26+
meetQSettings.shouldDisplayPage = false
27+
UiTelemetry.click(project, "toolkit_openedWelcomeToAmazonQPage")
28+
}
29+
return true
30+
}

jetbrains-core/src/software/aws/toolkits/jetbrains/services/codewhisperer/explorer/nodes/CodeWhispererReconnectNode.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import com.intellij.icons.AllIcons
77
import com.intellij.openapi.project.Project
88
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererUtil.reconnectCodeWhisperer
99
import software.aws.toolkits.resources.message
10+
import software.aws.toolkits.telemetry.UiTelemetry
1011
import java.awt.event.MouseEvent
1112

1213
class CodeWhispererReconnectNode(nodeProject: Project) : CodeWhispererActionNode(
@@ -16,6 +17,7 @@ class CodeWhispererReconnectNode(nodeProject: Project) : CodeWhispererActionNode
1617
AllIcons.Actions.Execute
1718
) {
1819
override fun onDoubleClick(event: MouseEvent) {
20+
UiTelemetry.click(project, "ReconnectNode")
1921
reconnectCodeWhisperer(project)
2022
}
2123
}

jetbrains-core/src/software/aws/toolkits/jetbrains/services/codewhisperer/explorer/nodes/GetStartedNode.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import software.aws.toolkits.jetbrains.core.credentials.pinning.CodeWhispererCon
1212
import software.aws.toolkits.jetbrains.core.credentials.reauthConnectionIfNeeded
1313
import software.aws.toolkits.jetbrains.core.explorer.refreshCwQTree
1414
import software.aws.toolkits.jetbrains.core.gettingstarted.requestCredentialsForCodeWhisperer
15+
import software.aws.toolkits.jetbrains.services.amazonq.gettingstarted.openMeetQPage
1516
import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.isCodeWhispererEnabled
1617
import software.aws.toolkits.jetbrains.services.codewhisperer.startup.CodeWhispererProjectStartupActivity
1718
import software.aws.toolkits.resources.message
@@ -45,6 +46,9 @@ class GetStartedNode(nodeProject: Project) : CodeWhispererActionNode(
4546
// Start from scratch if no active connection
4647
if (requestCredentialsForCodeWhisperer(project)) {
4748
project.refreshCwQTree()
49+
if (!openMeetQPage(project)) {
50+
return@runInEdt
51+
}
4852
}
4953
}
5054
}

0 commit comments

Comments
 (0)