Browse Source

change theme on all app windows

bwt
Craig Raw 4 years ago
parent
commit
76820377ae
  1. 12
      src/main/java/com/sparrowwallet/sparrow/AppController.java
  2. 15
      src/main/java/com/sparrowwallet/sparrow/event/ThemeChangedEvent.java

12
src/main/java/com/sparrowwallet/sparrow/AppController.java

@ -1014,10 +1014,16 @@ public class AppController implements Initializable {
Config.get().setTheme(selectedTheme);
}
if(selectedTheme == Theme.DARK) {
tabs.getScene().getStylesheets().add(getClass().getResource("darktheme.css").toExternalForm());
EventManager.get().post(new ThemeChangedEvent(selectedTheme));
}
@Subscribe
public void themeChanged(ThemeChangedEvent event) {
String darkCss = getClass().getResource("darktheme.css").toExternalForm();
if(event.getTheme() == Theme.DARK && !tabs.getScene().getStylesheets().contains(darkCss)) {
tabs.getScene().getStylesheets().add(darkCss);
} else {
tabs.getScene().getStylesheets().remove(getClass().getResource("darktheme.css").toExternalForm());
tabs.getScene().getStylesheets().remove(darkCss);
}
}

15
src/main/java/com/sparrowwallet/sparrow/event/ThemeChangedEvent.java

@ -0,0 +1,15 @@
package com.sparrowwallet.sparrow.event;
import com.sparrowwallet.sparrow.Theme;
public class ThemeChangedEvent {
private final Theme theme;
public ThemeChangedEvent(Theme theme) {
this.theme = theme;
}
public Theme getTheme() {
return theme;
}
}
Loading…
Cancel
Save