add popup dropshadow if light mode or multiple centered

This commit is contained in:
woodser 2025-05-30 12:16:44 -04:00
parent ba5b920ea4
commit 2687486b3a
No known key found for this signature in database
GPG key ID: 55A10DD48ADEE5EF

View file

@ -35,6 +35,7 @@ import haveno.desktop.components.AutoTooltipCheckBox;
import haveno.desktop.components.AutoTooltipLabel;
import haveno.desktop.components.BusyAnimation;
import haveno.desktop.main.MainView;
import haveno.desktop.util.CssTheme;
import haveno.desktop.util.FormBuilder;
import haveno.desktop.util.GUIUtil;
import haveno.desktop.util.Layout;
@ -140,7 +141,7 @@ public abstract class Overlay<T extends Overlay<T>> {
}
}
private static int numOverlays = 0;
private static int numCenterOverlays = 0;
private static int numBlurEffects = 0;
protected final static double DEFAULT_WIDTH = 668;
@ -251,7 +252,7 @@ public abstract class Overlay<T extends Overlay<T>> {
protected void animateHide() {
animateHide(() -> {
numOverlays--;
if (isCentered()) numCenterOverlays--;
removeEffectFromBackground();
if (stage != null)
@ -544,8 +545,11 @@ public abstract class Overlay<T extends Overlay<T>> {
layout();
numOverlays++;
if (numOverlays > 1) {
// add dropshadow if light mode or multiple centered overlays
if (isCentered()) {
numCenterOverlays++;
}
if (!CssTheme.isDarkTheme() || numCenterOverlays > 1) {
getRootContainer().getStyleClass().add("popup-dropshadow");
}
@ -1091,4 +1095,10 @@ public abstract class Overlay<T extends Overlay<T>> {
", message='" + message + '\'' +
'}';
}
private boolean isCentered() {
if (type.animationType == AnimationType.SlideDownFromCenterTop) return false;
if (type.animationType == AnimationType.SlideFromRightTop) return false;
return true;
}
}