Skip to content

Commit 1a174a4

Browse files
feature: 优化新UI、优化国际化
1 parent 40b68f4 commit 1a174a4

5 files changed

Lines changed: 75 additions & 9 deletions

File tree

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ intellij {
3535
updateSinceUntilBuild = false
3636
buildSearchableOptions.enabled = false
3737
//plugins=["com.intellij.zh:203.392"]
38-
plugins=["com.intellij.ja:203.392"]
38+
//plugins=["com.intellij.ja:203.392"]
3939

4040
runIde {
4141
jvmArgs = project.runIdeJvmArgs.split(',').toList()

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ platformVersion = 2020.3
1111

1212
# ko,ja,eb,zh
1313
# ,-Dide.browser.jcef.log.level=verbose,-Duser.language=en
14-
runIdeJvmArgs = -Dfile.encoding=utf-8,-Duser.language=ko
14+
runIdeJvmArgs = -Dfile.encoding=utf-8
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package com.fulinlin.ui.commit;
2+
3+
import javax.swing.text.BadLocationException;
4+
import javax.swing.text.DefaultCaret;
5+
import javax.swing.text.JTextComponent;
6+
import java.awt.*;
7+
8+
class CommitCaret extends DefaultCaret {
9+
10+
public CommitCaret() {
11+
setBlinkRate(500); // 设置光标的闪烁速率为500毫秒
12+
}
13+
14+
@Override
15+
protected synchronized void damage(Rectangle r) {
16+
if (r != null) {
17+
JTextComponent comp = getComponent();
18+
x = r.x;
19+
y = r.y;
20+
width = 2; // 设置光标的宽度
21+
height = r.height;
22+
comp.repaint();
23+
}
24+
}
25+
26+
@Override
27+
public void paint(Graphics g) {
28+
JTextComponent comp = getComponent();
29+
if (comp == null)
30+
return;
31+
int dot = getDot();
32+
Rectangle r;
33+
try {
34+
r = comp.modelToView(dot);
35+
if (r == null)
36+
return;
37+
} catch (BadLocationException e) {
38+
return;
39+
}
40+
if ((x != r.x) || (y != r.y)) {
41+
repaint(); // 防止不完全擦除
42+
damage(r);
43+
return;
44+
}
45+
if (isVisible())
46+
g.fillRect(r.x, r.y, width, r.height); // 画一个矩形作为光标
47+
}
48+
49+
}

src/main/java/com/fulinlin/ui/commit/CommitPanel.form

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
</properties>
9898
<border type="none"/>
9999
<children>
100-
<component id="f9906" class="javax.swing.JTextPane" binding="longDescription">
100+
<component id="a8ba1" class="com.intellij.ui.EditorTextField" binding="longDescription">
101101
<constraints/>
102102
<properties/>
103103
</component>
@@ -122,7 +122,7 @@
122122
</properties>
123123
<border type="none"/>
124124
<children>
125-
<component id="fee2d" class="javax.swing.JTextPane" binding="breakingChanges">
125+
<component id="92010" class="com.intellij.ui.EditorTextField" binding="breakingChanges">
126126
<constraints/>
127127
<properties/>
128128
</component>

src/main/java/com/fulinlin/ui/commit/CommitPanel.java

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
import com.fulinlin.model.CommitTemplate;
55
import com.fulinlin.model.TypeAlias;
66
import com.fulinlin.storage.GitCommitMessageHelperSettings;
7-
import com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder;
7+
import com.intellij.ide.ui.laf.darcula.ui.DarculaEditorTextFieldBorder;
88
import com.intellij.openapi.project.Project;
9+
import com.intellij.ui.EditorTextField;
910

1011
import javax.swing.*;
1112
import java.util.List;
@@ -16,8 +17,8 @@ public class CommitPanel {
1617
private JComboBox<TypeAlias> changeType;
1718
private JTextField changeScope;
1819
private JTextField shortDescription;
19-
private JTextPane longDescription;
20-
private JTextPane breakingChanges;
20+
private EditorTextField longDescription;
21+
private EditorTextField breakingChanges;
2122
private JTextField closedIssues;
2223
private JLabel typeDescriptionLabel;
2324
private JLabel scopeDescriptionLabel;
@@ -28,7 +29,22 @@ public class CommitPanel {
2829
private JScrollPane longDescriptionScrollPane;
2930
private JScrollPane breakingChangesScrollPane;
3031

32+
3133
public CommitPanel(Project project, GitCommitMessageHelperSettings settings, CommitTemplate commitMessageTemplate) {
34+
longDescription.setOneLineMode(false);
35+
longDescription.ensureWillComputePreferredSize();
36+
longDescription.addSettingsProvider(uEditor -> {
37+
uEditor.setVerticalScrollbarVisible(true);
38+
uEditor.setHorizontalScrollbarVisible(true);
39+
uEditor.setBorder(null);
40+
});
41+
breakingChanges.setOneLineMode(false);
42+
breakingChanges.ensureWillComputePreferredSize();
43+
breakingChanges.addSettingsProvider(uEditor -> {
44+
uEditor.setVerticalScrollbarVisible(true);
45+
uEditor.setHorizontalScrollbarVisible(true);
46+
uEditor.setBorder(null);
47+
});
3248
//parameter
3349
List<TypeAlias> typeAliases = settings.getDateSettings().getTypeAliases();
3450
for (TypeAlias type : typeAliases) {
@@ -68,8 +84,8 @@ JPanel getMainPanel() {
6884
changeDescriptionLabel.setText(PluginBundle.get("commit.changes.field"));
6985
longDescriptionScrollPane.setBorder(BorderFactory.createEmptyBorder());
7086
breakingChangesScrollPane.setBorder(BorderFactory.createEmptyBorder());
71-
longDescription.setBorder(new CommitDarculaTextBorder());
72-
breakingChanges.setBorder(new CommitDarculaTextBorder());
87+
longDescription.setBorder(new DarculaEditorTextFieldBorder());
88+
breakingChanges.setBorder(new DarculaEditorTextFieldBorder());
7389
return mainPanel;
7490
}
7591

@@ -99,4 +115,5 @@ CommitTemplate getCommitMessageTemplate() {
99115
return commitTemplate;
100116
}
101117

118+
102119
}

0 commit comments

Comments
 (0)