Skip to content

Commit a1b6b9b

Browse files
committed
New barebone connector view
- triggered by the Coder welcome screen - bottom toolbar with a back button
1 parent 0de38b2 commit a1b6b9b

File tree

4 files changed

+60
-2
lines changed

4 files changed

+60
-2
lines changed

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@
66

77
### Added
88

9-
* welcome screen
9+
* welcome screen
10+
* barebone connector view triggered by the Coder's welcome view.
11+
* back button to return to the main welcome view

src/main/kotlin/com/coder/gateway/CoderGatewayConnector.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.coder.gateway
22

3+
import com.coder.gateway.views.CoderGatewayConnectorView
34
import com.intellij.ui.IconManager
45
import com.intellij.ui.components.ActionLink
56
import com.intellij.ui.components.BrowserLink
@@ -14,7 +15,7 @@ class CoderGatewayConnector : GatewayConnector {
1415
get() = IconManager.getInstance().getIcon("coder_logo.svg", this::class.java)
1516

1617
override fun createView(lifetime: Lifetime): GatewayConnectorView {
17-
TODO("Not yet implemented")
18+
return CoderGatewayConnectorView()
1819
}
1920

2021
override fun getActionText(): String {
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.coder.gateway.views
2+
3+
import com.intellij.ui.components.panels.Wrapper
4+
import com.jetbrains.gateway.api.GatewayConnectorView
5+
import javax.swing.JComponent
6+
7+
class CoderGatewayConnectorView : GatewayConnectorView {
8+
override val component: JComponent
9+
get() = Wrapper(CoderGatewayLoginView(0, 0))
10+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.coder.gateway.views
2+
3+
import com.intellij.ide.IdeBundle
4+
import com.intellij.openapi.wm.impl.welcomeScreen.WelcomeScreenUIManager
5+
import com.intellij.ui.SeparatorComponent
6+
import com.intellij.ui.components.DialogPanel
7+
import com.intellij.ui.components.panels.VerticalLayout
8+
import com.intellij.util.ui.JBUI
9+
import com.intellij.util.ui.components.BorderLayoutPanel
10+
import com.jetbrains.gateway.api.GatewayUI
11+
import java.awt.Component
12+
import javax.swing.JButton
13+
import javax.swing.JPanel
14+
15+
class CoderGatewayLoginView(hgap: Int, vgap: Int) : BorderLayoutPanel(hgap, vgap) {
16+
init {
17+
initView()
18+
}
19+
20+
private fun initView() {
21+
addToCenter(createLoginComponent())
22+
addToBottom(createBackComponent())
23+
}
24+
25+
private fun createLoginComponent(): Component {
26+
return DialogPanel()
27+
}
28+
29+
private fun createBackComponent(): Component {
30+
return JPanel(VerticalLayout(0)).apply {
31+
add(SeparatorComponent(0, 0, WelcomeScreenUIManager.getSeparatorColor(), null))
32+
add(BorderLayoutPanel().apply {
33+
border = JBUI.Borders.empty(6, 24, 6, 0)
34+
addToLeft(JButton(IdeBundle.message("button.back")).apply {
35+
border = JBUI.Borders.empty(3, 3, 3, 3)
36+
addActionListener {
37+
GatewayUI.Companion.getInstance().reset()
38+
}
39+
})
40+
})
41+
}
42+
}
43+
44+
45+
}

0 commit comments

Comments
 (0)