IDEA-155327 Improvement to automated Branch Name in the Open Task dialog

support lower-cased branch name
This commit is contained in:
Dmitry Avdeev
2018-10-10 16:56:19 +03:00
parent aebc111291
commit de0227cd8d
4 changed files with 30 additions and 14 deletions
@@ -15,6 +15,7 @@ import org.jetbrains.annotations.NotNull;
public class TaskSettings implements PersistentStateComponent<TaskSettings> {
public boolean ALWAYS_DISPLAY_COMBO = false;
public int CONNECTION_TIMEOUT = 5000;
public boolean LOWER_CASE_BRANCH = false;
public static TaskSettings getInstance() {
return ServiceManager.getService(TaskSettings.class);
@@ -24,6 +24,7 @@ import com.intellij.openapi.vcs.VcsTaskHandler;
import com.intellij.tasks.LocalTask;
import com.intellij.tasks.Task;
import com.intellij.tasks.TaskManager;
import com.intellij.tasks.config.TaskSettings;
import com.intellij.tasks.impl.TaskManagerImpl;
import com.intellij.tasks.ui.TaskDialogPanel;
import com.intellij.ui.ColoredListCellRenderer;
@@ -37,6 +38,7 @@ import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
import java.util.Locale;
/**
* @author Dmitry Avdeev
@@ -156,9 +158,10 @@ public class VcsOpenTaskPanel extends TaskDialogPanel {
@NotNull
private String getBranchName(Task task) {
return myVcsTaskHandler != null
? myVcsTaskHandler.cleanUpBranchName(myTaskManager.constructDefaultBranchName(task))
: myTaskManager.suggestBranchName(task);
String branchName = myVcsTaskHandler != null
? myVcsTaskHandler.cleanUpBranchName(myTaskManager.constructDefaultBranchName(task))
: myTaskManager.suggestBranchName(task);
return TaskSettings.getInstance().LOWER_CASE_BRANCH ? branchName.toLowerCase(Locale.ENGLISH) : branchName;
}
private void updateFields(boolean initial) {
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.intellij.tasks.config.TaskConfigurable">
<grid id="27dc6" binding="myPanel" layout-manager="GridLayoutManager" row-count="8" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<grid id="27dc6" binding="myPanel" layout-manager="GridLayoutManager" row-count="9" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<xy x="20" y="20" width="565" height="420"/>
@@ -10,7 +10,7 @@
<children>
<component id="5bcde" class="javax.swing.JTextField" binding="myHistoryLength">
<constraints>
<grid row="2" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="1" indent="0" use-parent-layout="false">
<grid row="3" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="1" indent="0" use-parent-layout="false">
<preferred-size width="30" height="-1"/>
</grid>
</constraints>
@@ -20,7 +20,7 @@
</component>
<component id="b5a6c" class="javax.swing.JLabel">
<constraints>
<grid row="2" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<labelFor value="5bcde"/>
@@ -29,12 +29,12 @@
</component>
<vspacer id="3f700">
<constraints>
<grid row="7" column="1" row-span="1" col-span="2" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
<grid row="8" column="1" row-span="1" col-span="2" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
</constraints>
</vspacer>
<component id="6f93" class="javax.swing.JCheckBox" binding="mySaveContextOnCommit">
<constraints>
<grid row="5" column="0" row-span="1" col-span="3" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="6" column="0" row-span="1" col-span="3" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="&amp;Save context on commit"/>
@@ -58,7 +58,7 @@
</component>
<component id="6010f" class="com.intellij.ui.components.JBCheckBox" binding="myAlwaysDisplayTaskCombo">
<constraints>
<grid row="4" column="0" row-span="1" col-span="3" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="5" column="0" row-span="1" col-span="3" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="Always &amp;display task combo in toolbar"/>
@@ -66,7 +66,7 @@
</component>
<component id="f47eb" class="com.intellij.ui.components.JBLabel">
<constraints>
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="4" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<labelFor value="c5184"/>
@@ -75,7 +75,7 @@
</component>
<component id="c5184" class="javax.swing.JTextField" binding="myConnectionTimeout">
<constraints>
<grid row="3" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="1" indent="0" use-parent-layout="false">
<grid row="4" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="1" indent="0" use-parent-layout="false">
<preferred-size width="30" height="-1"/>
</grid>
</constraints>
@@ -85,7 +85,7 @@
</component>
<component id="737ae" class="javax.swing.JLabel">
<constraints>
<grid row="3" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="4" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
<grid row="4" column="2" row-span="1" col-span="1" vsize-policy="0" hsize-policy="4" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="milliseconds"/>
@@ -94,7 +94,7 @@
<grid id="fa297" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="10" left="0" bottom="0" right="0"/>
<constraints>
<grid row="6" column="0" row-span="1" col-span="3" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false">
<grid row="7" column="0" row-span="1" col-span="3" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false">
<preferred-size width="511" height="58"/>
</grid>
</constraints>
@@ -192,6 +192,14 @@
</constraints>
<properties/>
</component>
<component id="c6d76" class="javax.swing.JCheckBox" binding="myLowerCase">
<constraints>
<grid row="2" column="1" row-span="1" col-span="2" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<text value="Lo&amp;wercased"/>
</properties>
</component>
</children>
</grid>
</form>
@@ -85,6 +85,7 @@ public class TaskConfigurable extends BindableConfigurable implements Searchable
@BindControl("branchNameFormat")
private EditorTextField myBranchNameFormat;
private JCheckBox myLowerCase;
private final Project myProject;
private Configurable[] myConfigurables;
@@ -126,6 +127,7 @@ public class TaskConfigurable extends BindableConfigurable implements Searchable
enableCachePanel();
myAlwaysDisplayTaskCombo.setSelected(TaskSettings.getInstance().ALWAYS_DISPLAY_COMBO);
myConnectionTimeout.setText(Integer.toString(TaskSettings.getInstance().CONNECTION_TIMEOUT));
myLowerCase.setSelected(TaskSettings.getInstance().LOWER_CASE_BRANCH);
}
@Override
@@ -146,6 +148,7 @@ public class TaskConfigurable extends BindableConfigurable implements Searchable
int oldConnectionTimeout = TaskSettings.getInstance().CONNECTION_TIMEOUT;
Integer connectionTimeout = Integer.valueOf(myConnectionTimeout.getText());
TaskSettings.getInstance().CONNECTION_TIMEOUT = connectionTimeout;
TaskSettings.getInstance().LOWER_CASE_BRANCH = myLowerCase.isSelected();
if (connectionTimeout != oldConnectionTimeout) {
for (TaskRepository repository : manager.getAllRepositories()) {
@@ -160,7 +163,8 @@ public class TaskConfigurable extends BindableConfigurable implements Searchable
public boolean isModified() {
return super.isModified() ||
TaskSettings.getInstance().ALWAYS_DISPLAY_COMBO != myAlwaysDisplayTaskCombo.isSelected() ||
TaskSettings.getInstance().CONNECTION_TIMEOUT != Integer.valueOf(myConnectionTimeout.getText());
TaskSettings.getInstance().CONNECTION_TIMEOUT != Integer.valueOf(myConnectionTimeout.getText()) ||
TaskSettings.getInstance().LOWER_CASE_BRANCH != myLowerCase.isSelected();
}
@Override