mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-149002 Added filtering capability to svn branch selection popup
This commit is contained in:
@@ -23,6 +23,7 @@ import com.intellij.openapi.ui.popup.util.BaseListPopupStep;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.ui.components.JBList;
|
||||
import com.intellij.util.NullableFunction;
|
||||
import com.intellij.util.continuation.ModalityIgnorantBackgroundableTask;
|
||||
import com.intellij.util.text.DateFormatUtil;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
@@ -98,6 +99,11 @@ public class SelectBranchPopup {
|
||||
return configuration.getTrunkUrl() + " (trunk)";
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static String getBranchName(@NotNull SvnBranchItem branch) {
|
||||
return SVNPathUtil.tail(branch.getUrl());
|
||||
}
|
||||
|
||||
private static class BranchBasesPopupStep extends BaseListPopupStep<String> {
|
||||
protected final Project myProject;
|
||||
private final VirtualFile myVcsRoot;
|
||||
@@ -253,6 +259,13 @@ public class SelectBranchPopup {
|
||||
}
|
||||
}
|
||||
})
|
||||
.setFilteringEnabled(new NullableFunction<Object, String>() {
|
||||
@Nullable
|
||||
@Override
|
||||
public String fun(Object item) {
|
||||
return item instanceof SvnBranchItem ? getBranchName((SvnBranchItem)item) : null;
|
||||
}
|
||||
})
|
||||
.createPopup();
|
||||
showPopupAt(popup);
|
||||
}
|
||||
@@ -300,7 +313,7 @@ public class SelectBranchPopup {
|
||||
myDateLabel.setText("");
|
||||
} else {
|
||||
SvnBranchItem item = (SvnBranchItem) value;
|
||||
myUrlLabel.setText(SVNPathUtil.tail(item.getUrl()));
|
||||
myUrlLabel.setText(getBranchName(item));
|
||||
final long creationMillis = item.getCreationDateMillis();
|
||||
myDateLabel.setText((creationMillis > 0) ? DateFormatUtil.formatDate(creationMillis) : "");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user