IDEA-323100 Update UI in dvcs compare action classes

Added 'setMovable(true)' in DvcsCompareWithAction and CompareWithSelectedRevisionAction. Also, included a new renderer for the compare options in DvcsCompareWithAction to meet new UI guidelines.

GitOrigin-RevId: a06409cc4ae1d7661b8d7deb67a996e4bdec190f
This commit is contained in:
Dmitry Yudin
2023-07-05 15:13:54 +02:00
committed by intellij-monorepo-bot
parent 36a13f562e
commit 8e855878af
2 changed files with 5 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ import com.intellij.openapi.ui.popup.JBPopup;
import com.intellij.openapi.ui.popup.JBPopupFactory;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.NlsContexts;
import com.intellij.openapi.util.NlsSafe;
import com.intellij.openapi.util.ThrowableComputable;
import com.intellij.openapi.vcs.VcsBundle;
import com.intellij.openapi.vcs.VcsDataKeys;
@@ -30,6 +31,7 @@ import com.intellij.openapi.vcs.changes.actions.diff.ChangeDiffRequestProducer;
import com.intellij.openapi.vcs.changes.ui.ChangeDiffRequestChain;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.wm.IdeFocusManager;
import com.intellij.ui.dsl.listCellRenderer.BuilderKt;
import com.intellij.util.containers.JBIterable;
import com.intellij.util.ui.JBUI;
import com.intellij.vcs.CompareWithLocalDialog;
@@ -97,9 +99,11 @@ public abstract class DvcsCompareWithAction<T extends Repository> extends DumbAw
return JBPopupFactory.getInstance()
.createPopupChooserBuilder(options)
.setTitle(title)
.setMovable(true)
.setItemChosenCallback(onChosen::accept)
.setAutoselectOnMouseMove(true)
.setNamerForFiltering(o -> o)
.setRenderer(BuilderKt.simpleListCellRenderer((@NlsSafe var name) -> name))
.withFixedRendererSize(new Dimension(JBUI.scale(350), JBUI.CurrentTheme.List.rowHeight())) // do not freeze on huge lists
.createPopup();
}

View File

@@ -306,6 +306,7 @@ public class CompareWithSelectedRevisionAction extends DumbAwareAction {
builder.setTitle(VcsBundle.message("lookup.title.vcs.file.revisions")).
setItemChosenCallback(runnable).
setResizable(true).
setMovable(true).
setDimensionServiceKey("Vcs.CompareWithSelectedRevision.Popup").setMinSize(new JBDimension(300, 300));
final JBPopup popup = builder.createPopup();