mirror of
https://github.com/sparrowwallet/sparrow.git
synced 2024-11-04 21:36:45 +00:00
add dark theme
This commit is contained in:
parent
f22312e04f
commit
77d3c848f9
31 changed files with 374 additions and 122 deletions
|
@ -98,6 +98,9 @@ public class AppController implements Initializable {
|
||||||
@FXML
|
@FXML
|
||||||
private ToggleGroup bitcoinUnit;
|
private ToggleGroup bitcoinUnit;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private ToggleGroup theme;
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private CheckMenuItem showTxHex;
|
private CheckMenuItem showTxHex;
|
||||||
|
|
||||||
|
@ -224,8 +227,18 @@ public class AppController implements Initializable {
|
||||||
Config.get().setBitcoinUnit(unit);
|
Config.get().setBitcoinUnit(unit);
|
||||||
}
|
}
|
||||||
final BitcoinUnit selectedUnit = unit;
|
final BitcoinUnit selectedUnit = unit;
|
||||||
Optional<Toggle> selectedToggle = bitcoinUnit.getToggles().stream().filter(toggle -> selectedUnit.equals(toggle.getUserData())).findFirst();
|
Optional<Toggle> selectedUnitToggle = bitcoinUnit.getToggles().stream().filter(toggle -> selectedUnit.equals(toggle.getUserData())).findFirst();
|
||||||
selectedToggle.ifPresent(toggle -> bitcoinUnit.selectToggle(toggle));
|
selectedUnitToggle.ifPresent(toggle -> bitcoinUnit.selectToggle(toggle));
|
||||||
|
|
||||||
|
Theme configTheme = Config.get().getTheme();
|
||||||
|
if(configTheme == null) {
|
||||||
|
configTheme = Theme.LIGHT;
|
||||||
|
Config.get().setTheme(Theme.LIGHT);
|
||||||
|
}
|
||||||
|
final Theme selectedTheme = configTheme;
|
||||||
|
Optional<Toggle> selectedThemeToggle = theme.getToggles().stream().filter(toggle -> selectedTheme.equals(toggle.getUserData())).findFirst();
|
||||||
|
selectedThemeToggle.ifPresent(toggle -> theme.selectToggle(toggle));
|
||||||
|
setTheme(null);
|
||||||
|
|
||||||
showTxHex.setSelected(true);
|
showTxHex.setSelected(true);
|
||||||
showTxHexProperty = true;
|
showTxHexProperty = true;
|
||||||
|
@ -409,11 +422,11 @@ public class AppController implements Initializable {
|
||||||
Stage stage = new Stage();
|
Stage stage = new Stage();
|
||||||
stage.setTitle("About " + MainApp.APP_NAME);
|
stage.setTitle("About " + MainApp.APP_NAME);
|
||||||
stage.initStyle(org.controlsfx.tools.Platform.getCurrent() == org.controlsfx.tools.Platform.OSX ? StageStyle.UNDECORATED : StageStyle.DECORATED);
|
stage.initStyle(org.controlsfx.tools.Platform.getCurrent() == org.controlsfx.tools.Platform.OSX ? StageStyle.UNDECORATED : StageStyle.DECORATED);
|
||||||
setStageIcon(stage);
|
|
||||||
stage.setResizable(false);
|
stage.setResizable(false);
|
||||||
stage.setScene(new Scene(root));
|
stage.setScene(new Scene(root));
|
||||||
controller.setStage(stage);
|
controller.setStage(stage);
|
||||||
controller.initializeView();
|
controller.initializeView();
|
||||||
|
setStageIcon(stage);
|
||||||
|
|
||||||
return stage;
|
return stage;
|
||||||
} catch(IOException e) {
|
} catch(IOException e) {
|
||||||
|
@ -655,6 +668,7 @@ public class AppController implements Initializable {
|
||||||
public static void showErrorDialog(String title, String content) {
|
public static void showErrorDialog(String title, String content) {
|
||||||
Alert alert = new Alert(Alert.AlertType.ERROR);
|
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||||||
setStageIcon(alert.getDialogPane().getScene().getWindow());
|
setStageIcon(alert.getDialogPane().getScene().getWindow());
|
||||||
|
alert.getDialogPane().getScene().getStylesheets().add(AppController.class.getResource("general.css").toExternalForm());
|
||||||
alert.setTitle(title);
|
alert.setTitle(title);
|
||||||
alert.setHeaderText(title);
|
alert.setHeaderText(title);
|
||||||
alert.setContentText(content);
|
alert.setContentText(content);
|
||||||
|
@ -664,6 +678,10 @@ public class AppController implements Initializable {
|
||||||
public static void setStageIcon(Window window) {
|
public static void setStageIcon(Window window) {
|
||||||
Stage stage = (Stage)window;
|
Stage stage = (Stage)window;
|
||||||
stage.getIcons().add(new Image(AppController.class.getResourceAsStream("/image/sparrow.png")));
|
stage.getIcons().add(new Image(AppController.class.getResourceAsStream("/image/sparrow.png")));
|
||||||
|
|
||||||
|
if(stage.getScene() != null && Config.get().getTheme() == Theme.DARK) {
|
||||||
|
stage.getScene().getStylesheets().add(AppController.class.getResource("darktheme.css").toExternalForm());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Font getMonospaceFont() {
|
public static Font getMonospaceFont() {
|
||||||
|
@ -1092,6 +1110,19 @@ public class AppController implements Initializable {
|
||||||
return contextMenu;
|
return contextMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTheme(ActionEvent event) {
|
||||||
|
Theme selectedTheme = (Theme)theme.getSelectedToggle().getUserData();
|
||||||
|
if(Config.get().getTheme() != selectedTheme) {
|
||||||
|
Config.get().setTheme(selectedTheme);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(selectedTheme == Theme.DARK) {
|
||||||
|
tabs.getScene().getStylesheets().add(getClass().getResource("darktheme.css").toExternalForm());
|
||||||
|
} else {
|
||||||
|
tabs.getScene().getStylesheets().remove(getClass().getResource("darktheme.css").toExternalForm());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
public void tabSelected(TabSelectedEvent event) {
|
public void tabSelected(TabSelectedEvent event) {
|
||||||
String tabName = event.getTabName();
|
String tabName = event.getTabName();
|
||||||
|
|
5
src/main/java/com/sparrowwallet/sparrow/Theme.java
Normal file
5
src/main/java/com/sparrowwallet/sparrow/Theme.java
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
package com.sparrowwallet.sparrow;
|
||||||
|
|
||||||
|
public enum Theme {
|
||||||
|
LIGHT, DARK
|
||||||
|
}
|
|
@ -54,7 +54,7 @@ public class QRDisplayDialog extends Dialog<UR> {
|
||||||
qrImageView = new ImageView();
|
qrImageView = new ImageView();
|
||||||
stackPane.getChildren().add(qrImageView);
|
stackPane.getChildren().add(qrImageView);
|
||||||
|
|
||||||
dialogPane.setContent(Borders.wrap(stackPane).lineBorder().outerPadding(0).innerPadding(0).buildAll());
|
dialogPane.setContent(Borders.wrap(stackPane).lineBorder().buildAll());
|
||||||
|
|
||||||
nextPart();
|
nextPart();
|
||||||
if(encoder.isSinglePart()) {
|
if(encoder.isSinglePart()) {
|
||||||
|
|
|
@ -40,7 +40,7 @@ public class QRScanDialog extends Dialog<QRScanDialog.Result> {
|
||||||
StackPane stackPane = new StackPane();
|
StackPane stackPane = new StackPane();
|
||||||
stackPane.getChildren().add(webcamView.getView());
|
stackPane.getChildren().add(webcamView.getView());
|
||||||
|
|
||||||
dialogPane.setContent(Borders.wrap(stackPane).lineBorder().outerPadding(0).innerPadding(0).buildAll());
|
dialogPane.setContent(Borders.wrap(stackPane).lineBorder().buildAll());
|
||||||
|
|
||||||
webcamService.resultProperty().addListener(new QRResultListener());
|
webcamService.resultProperty().addListener(new QRResultListener());
|
||||||
webcamService.setOnFailed(failedEvent -> {
|
webcamService.setOnFailed(failedEvent -> {
|
||||||
|
|
|
@ -26,6 +26,7 @@ public class TextAreaDialog extends Dialog<String> {
|
||||||
this.defaultValue = defaultValue;
|
this.defaultValue = defaultValue;
|
||||||
|
|
||||||
dialogPane.setContent(hbox);
|
dialogPane.setContent(hbox);
|
||||||
|
dialogPane.getStylesheets().add(AppController.class.getResource("general.css").toExternalForm());
|
||||||
AppController.setStageIcon(dialogPane.getScene().getWindow());
|
AppController.setStageIcon(dialogPane.getScene().getWindow());
|
||||||
|
|
||||||
dialogPane.getStyleClass().add("text-input-dialog");
|
dialogPane.getStyleClass().add("text-input-dialog");
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.sparrowwallet.sparrow.io;
|
||||||
import com.google.gson.*;
|
import com.google.gson.*;
|
||||||
import com.sparrowwallet.drongo.BitcoinUnit;
|
import com.sparrowwallet.drongo.BitcoinUnit;
|
||||||
import com.sparrowwallet.sparrow.Mode;
|
import com.sparrowwallet.sparrow.Mode;
|
||||||
|
import com.sparrowwallet.sparrow.Theme;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
@ -24,6 +25,7 @@ public class Config {
|
||||||
private boolean includeMempoolChange = true;
|
private boolean includeMempoolChange = true;
|
||||||
private boolean notifyNewTransactions = true;
|
private boolean notifyNewTransactions = true;
|
||||||
private boolean checkNewVersions = true;
|
private boolean checkNewVersions = true;
|
||||||
|
private Theme theme;
|
||||||
private List<File> recentWalletFiles;
|
private List<File> recentWalletFiles;
|
||||||
private Integer keyDerivationPeriod;
|
private Integer keyDerivationPeriod;
|
||||||
private File hwi;
|
private File hwi;
|
||||||
|
@ -145,6 +147,15 @@ public class Config {
|
||||||
flush();
|
flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Theme getTheme() {
|
||||||
|
return theme;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTheme(Theme theme) {
|
||||||
|
this.theme = theme;
|
||||||
|
flush();
|
||||||
|
}
|
||||||
|
|
||||||
public List<File> getRecentWalletFiles() {
|
public List<File> getRecentWalletFiles() {
|
||||||
return recentWalletFiles;
|
return recentWalletFiles;
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ public class KeystoreImportDialog extends Dialog<Keystore> {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
FXMLLoader ksiLoader = new FXMLLoader(AppController.class.getResource("keystoreimport/keystoreimport.fxml"));
|
FXMLLoader ksiLoader = new FXMLLoader(AppController.class.getResource("keystoreimport/keystoreimport.fxml"));
|
||||||
dialogPane.setContent(Borders.wrap(ksiLoader.load()).lineBorder().outerPadding(0).innerPadding(0).buildAll());
|
dialogPane.setContent(Borders.wrap(ksiLoader.load()).emptyBorder().buildAll());
|
||||||
keystoreImportController = ksiLoader.getController();
|
keystoreImportController = ksiLoader.getController();
|
||||||
keystoreImportController.initializeView(wallet);
|
keystoreImportController.initializeView(wallet);
|
||||||
keystoreImportController.selectSource(initialSource);
|
keystoreImportController.selectSource(initialSource);
|
||||||
|
|
|
@ -31,7 +31,7 @@ public class PreferencesDialog extends Dialog<Boolean> {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
FXMLLoader preferencesLoader = new FXMLLoader(AppController.class.getResource("preferences/preferences.fxml"));
|
FXMLLoader preferencesLoader = new FXMLLoader(AppController.class.getResource("preferences/preferences.fxml"));
|
||||||
dialogPane.setContent(Borders.wrap(preferencesLoader.load()).lineBorder().outerPadding(0).innerPadding(0).buildAll());
|
dialogPane.setContent(Borders.wrap(preferencesLoader.load()).emptyBorder().buildAll());
|
||||||
PreferencesController preferencesController = preferencesLoader.getController();
|
PreferencesController preferencesController = preferencesLoader.getController();
|
||||||
preferencesController.initializeView(Config.get());
|
preferencesController.initializeView(Config.get());
|
||||||
if(initialGroup != null) {
|
if(initialGroup != null) {
|
||||||
|
|
|
@ -227,7 +227,7 @@ public class ServerPreferencesController extends PreferencesDetailController {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showConnectionSuccess(List<String> serverVersion, String serverBanner) {
|
private void showConnectionSuccess(List<String> serverVersion, String serverBanner) {
|
||||||
testConnection.setGraphic(getGlyph(FontAwesome5.Glyph.CHECK_CIRCLE, Color.rgb(80, 161, 79)));
|
testConnection.setGraphic(getGlyph(FontAwesome5.Glyph.CHECK_CIRCLE, "success"));
|
||||||
if(serverVersion != null) {
|
if(serverVersion != null) {
|
||||||
testResults.setText("Connected to " + serverVersion.get(0) + " on protocol version " + serverVersion.get(1));
|
testResults.setText("Connected to " + serverVersion.get(0) + " on protocol version " + serverVersion.get(1));
|
||||||
if(ElectrumServer.supportsBatching(serverVersion)) {
|
if(ElectrumServer.supportsBatching(serverVersion)) {
|
||||||
|
@ -248,7 +248,7 @@ public class ServerPreferencesController extends PreferencesDetailController {
|
||||||
}
|
}
|
||||||
|
|
||||||
testResults.setText("Could not connect:\n\n" + reason);
|
testResults.setText("Could not connect:\n\n" + reason);
|
||||||
testConnection.setGraphic(getGlyph(FontAwesome5.Glyph.EXCLAMATION_CIRCLE, Color.rgb(202, 18, 67)));
|
testConnection.setGraphic(getGlyph(FontAwesome5.Glyph.EXCLAMATION_CIRCLE, "failure"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setupValidation() {
|
private void setupValidation() {
|
||||||
|
@ -340,11 +340,11 @@ public class ServerPreferencesController extends PreferencesDetailController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Glyph getGlyph(FontAwesome5.Glyph glyphName, Color color) {
|
private Glyph getGlyph(FontAwesome5.Glyph glyphName, String styleClass) {
|
||||||
Glyph glyph = new Glyph(FontAwesome5.FONT_NAME, glyphName);
|
Glyph glyph = new Glyph(FontAwesome5.FONT_NAME, glyphName);
|
||||||
glyph.setFontSize(13);
|
glyph.setFontSize(12);
|
||||||
if(color != null) {
|
if(styleClass != null) {
|
||||||
glyph.setColor(color);
|
glyph.getStyleClass().add(styleClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
return glyph;
|
return glyph;
|
||||||
|
|
|
@ -18,7 +18,7 @@ public class AdvancedDialog extends Dialog<Void> {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
FXMLLoader advancedLoader = new FXMLLoader(AppController.class.getResource("wallet/advanced.fxml"));
|
FXMLLoader advancedLoader = new FXMLLoader(AppController.class.getResource("wallet/advanced.fxml"));
|
||||||
dialogPane.setContent(Borders.wrap(advancedLoader.load()).lineBorder().outerPadding(0).innerPadding(0).buildAll());
|
dialogPane.setContent(Borders.wrap(advancedLoader.load()).emptyBorder().buildAll());
|
||||||
AdvancedController settingsAdvancedController = advancedLoader.getController();
|
AdvancedController settingsAdvancedController = advancedLoader.getController();
|
||||||
settingsAdvancedController.initializeView(wallet);
|
settingsAdvancedController.initializeView(wallet);
|
||||||
|
|
||||||
|
|
|
@ -183,7 +183,7 @@ public class KeystoreController extends WalletFormController implements Initiali
|
||||||
|
|
||||||
validationSupport.registerValidator(fingerprint, Validator.combine(
|
validationSupport.registerValidator(fingerprint, Validator.combine(
|
||||||
Validator.createEmptyValidator("Master fingerprint is required"),
|
Validator.createEmptyValidator("Master fingerprint is required"),
|
||||||
(Control c, String newValue) -> ValidationResult.fromErrorIf( c, "Master fingerprint is invalid", (newValue.length() != 8 || !Utils.isHex(newValue)))
|
(Control c, String newValue) -> ValidationResult.fromErrorIf( c, "Master fingerprint is invalid", (newValue == null || newValue.length() != 8 || !Utils.isHex(newValue)))
|
||||||
));
|
));
|
||||||
|
|
||||||
validationSupport.setValidationDecorator(new StyleClassValidationDecoration());
|
validationSupport.setValidationDecorator(new StyleClassValidationDecoration());
|
||||||
|
|
|
@ -114,7 +114,7 @@ public class ReceiveController extends WalletFormController implements Initializ
|
||||||
scriptPubKeyArea.appendScript(nodeEntry.getOutputScript(), null, null);
|
scriptPubKeyArea.appendScript(nodeEntry.getOutputScript(), null, null);
|
||||||
|
|
||||||
outputDescriptor.clear();
|
outputDescriptor.clear();
|
||||||
outputDescriptor.appendText(nodeEntry.getOutputDescriptor());
|
outputDescriptor.append(nodeEntry.getOutputDescriptor(), "descriptor-text");
|
||||||
|
|
||||||
updateDisplayAddress(AppController.getDevices());
|
updateDisplayAddress(AppController.getDevices());
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,7 +88,7 @@ public class SettingsController extends WalletFormController implements Initiali
|
||||||
@Override
|
@Override
|
||||||
public void initializeView() {
|
public void initializeView() {
|
||||||
keystoreTabs = new TabPane();
|
keystoreTabs = new TabPane();
|
||||||
keystoreTabsPane.getChildren().add(Borders.wrap(keystoreTabs).etchedBorder().outerPadding(10, 5, 0 ,0).innerPadding(0).raised().buildAll());
|
keystoreTabsPane.getChildren().add(keystoreTabs);
|
||||||
|
|
||||||
policyType.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, policyType) -> {
|
policyType.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, policyType) -> {
|
||||||
walletForm.getWallet().setPolicyType(policyType);
|
walletForm.getWallet().setPolicyType(policyType);
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
<?import javafx.scene.shape.Rectangle?>
|
<?import javafx.scene.shape.Rectangle?>
|
||||||
<?import com.sparrowwallet.sparrow.control.UnlabeledToggleSwitch?>
|
<?import com.sparrowwallet.sparrow.control.UnlabeledToggleSwitch?>
|
||||||
<?import com.sparrowwallet.drongo.BitcoinUnit?>
|
<?import com.sparrowwallet.drongo.BitcoinUnit?>
|
||||||
|
<?import com.sparrowwallet.sparrow.Theme?>
|
||||||
|
|
||||||
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="200" minWidth="350" prefHeight="770.0" prefWidth="1000.0" fx:controller="com.sparrowwallet.sparrow.AppController" xmlns="http://javafx.com/javafx/10.0.2-internal" xmlns:fx="http://javafx.com/fxml/1">
|
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="200" minWidth="350" prefHeight="770.0" prefWidth="1000.0" fx:controller="com.sparrowwallet.sparrow.AppController" xmlns="http://javafx.com/javafx/10.0.2-internal" xmlns:fx="http://javafx.com/fxml/1">
|
||||||
<children>
|
<children>
|
||||||
|
@ -39,6 +40,9 @@
|
||||||
<fx:define>
|
<fx:define>
|
||||||
<ToggleGroup fx:id="bitcoinUnit"/>
|
<ToggleGroup fx:id="bitcoinUnit"/>
|
||||||
</fx:define>
|
</fx:define>
|
||||||
|
<fx:define>
|
||||||
|
<ToggleGroup fx:id="theme"/>
|
||||||
|
</fx:define>
|
||||||
<Menu mnemonicParsing="false" text="View">
|
<Menu mnemonicParsing="false" text="View">
|
||||||
<items>
|
<items>
|
||||||
<Menu mnemonicParsing="false" text="Bitcoin Unit">
|
<Menu mnemonicParsing="false" text="Bitcoin Unit">
|
||||||
|
@ -60,6 +64,20 @@
|
||||||
</RadioMenuItem>
|
</RadioMenuItem>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
<Menu mnemonicParsing="false" text="Theme">
|
||||||
|
<items>
|
||||||
|
<RadioMenuItem mnemonicParsing="false" text="Light" toggleGroup="$theme" onAction="#setTheme">
|
||||||
|
<userData>
|
||||||
|
<Theme fx:constant="LIGHT" />
|
||||||
|
</userData>
|
||||||
|
</RadioMenuItem>
|
||||||
|
<RadioMenuItem mnemonicParsing="false" text="Dark" toggleGroup="$theme" onAction="#setTheme">
|
||||||
|
<userData>
|
||||||
|
<Theme fx:constant="DARK" />
|
||||||
|
</userData>
|
||||||
|
</RadioMenuItem>
|
||||||
|
</items>
|
||||||
|
</Menu>
|
||||||
<CheckMenuItem fx:id="showTxHex" mnemonicParsing="false" text="Show Transaction Hex" onAction="#showTxHex"/>
|
<CheckMenuItem fx:id="showTxHex" mnemonicParsing="false" text="Show Transaction Hex" onAction="#showTxHex"/>
|
||||||
</items>
|
</items>
|
||||||
</Menu>
|
</Menu>
|
||||||
|
|
146
src/main/resources/com/sparrowwallet/sparrow/darktheme.css
Normal file
146
src/main/resources/com/sparrowwallet/sparrow/darktheme.css
Normal file
|
@ -0,0 +1,146 @@
|
||||||
|
.root {
|
||||||
|
-fx-accent: #1e88cf;
|
||||||
|
-fx-focus-color: -fx-accent;
|
||||||
|
-fx-base: #373e43;
|
||||||
|
-fx-control-inner-background: derive(-fx-base, 35%);
|
||||||
|
-fx-control-inner-background-alt: -fx-control-inner-background ;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label{
|
||||||
|
-fx-text-fill: lightgray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-field {
|
||||||
|
-fx-prompt-text-fill: gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titulo{
|
||||||
|
-fx-font-weight: bold;
|
||||||
|
-fx-font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button{
|
||||||
|
-fx-focus-traversable: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button:hover{
|
||||||
|
-fx-text-fill: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.separator *.line {
|
||||||
|
-fx-background-color: #3C3C3C;
|
||||||
|
-fx-border-style: solid;
|
||||||
|
-fx-border-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll-bar{
|
||||||
|
-fx-background-color: derive(-fx-base,45%)
|
||||||
|
}
|
||||||
|
|
||||||
|
.button:default {
|
||||||
|
-fx-base: -fx-accent ;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-view{
|
||||||
|
/*-fx-background-color: derive(-fx-base, 10%);*/
|
||||||
|
-fx-selection-bar-non-focused: derive(-fx-base, 50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-view .column-header .label{
|
||||||
|
-fx-alignment: CENTER_LEFT;
|
||||||
|
-fx-font-weight: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-cell:even,
|
||||||
|
.list-cell:odd,
|
||||||
|
.table-row-cell:even,
|
||||||
|
.table-row-cell:odd{
|
||||||
|
-fx-control-inner-background: derive(-fx-base, 15%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-cell:empty,
|
||||||
|
.table-row-cell:empty {
|
||||||
|
-fx-background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-cell,
|
||||||
|
.table-row-cell{
|
||||||
|
-fx-border-color: transparent;
|
||||||
|
-fx-table-cell-border-color:transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status-bar {
|
||||||
|
-fx-background-color: black, -fx-body-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chart .default-color0.chart-series-line {
|
||||||
|
-fx-stroke: rgba(125, 128, 139, 0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.chart .chart-bar {
|
||||||
|
-fx-bar-fill: rgba(135, 138, 149, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
#inputsPie .default-color0.chart-pie {
|
||||||
|
-fx-pie-color: #e06c75;
|
||||||
|
}
|
||||||
|
|
||||||
|
#outputsPie .default-color3.chart-pie {
|
||||||
|
-fx-pie-color: #e06c75
|
||||||
|
}
|
||||||
|
|
||||||
|
.root .etched-raised-border {
|
||||||
|
-fx-border-color: #ffffff, #000000;
|
||||||
|
-fx-border-style: solid, solid;
|
||||||
|
-fx-border-width: 1px, 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.root .line-border {
|
||||||
|
-fx-border-color: #000000;
|
||||||
|
-fx-border-style: solid;
|
||||||
|
-fx-border-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.root .duplicate-warning {
|
||||||
|
-fx-text-fill: #e06c75;
|
||||||
|
}
|
||||||
|
|
||||||
|
.root .unused-check {
|
||||||
|
-fx-text-fill: #98c379;
|
||||||
|
}
|
||||||
|
|
||||||
|
.root .script-nest { -fx-fill: #565c64 }
|
||||||
|
.root .script-opcode { -fx-fill: #56b6c2 }
|
||||||
|
.root .script-hash { -fx-fill: #d19a66 }
|
||||||
|
.root .script-signature { -fx-fill: #98c379 }
|
||||||
|
.root .script-pubkey { -fx-fill: #c678dd }
|
||||||
|
.root .script-redeem { -fx-fill: #e06c75 }
|
||||||
|
.root .script-other { -fx-fill: #b6bdca }
|
||||||
|
|
||||||
|
.root #txhex {
|
||||||
|
color-0: #e06c75;
|
||||||
|
color-1: #e5c07b;
|
||||||
|
color-2: #d19a66;
|
||||||
|
color-3: #98c379;
|
||||||
|
color-4: #61afef;
|
||||||
|
color-5: #56b6c2;
|
||||||
|
color-6: #c678dd;
|
||||||
|
color-7: #be5046;
|
||||||
|
color-8: #000000;
|
||||||
|
color-grey: #565c64;
|
||||||
|
}
|
||||||
|
|
||||||
|
.root .success {
|
||||||
|
-fx-text-fill: #98c379;
|
||||||
|
}
|
||||||
|
|
||||||
|
.root .failure {
|
||||||
|
-fx-text-fill: #e06c75;
|
||||||
|
}
|
||||||
|
|
||||||
|
.root .titled-description-pane > .title {
|
||||||
|
-fx-background-color: derive(-fx-base, 10%);
|
||||||
|
-fx-padding: 0;
|
||||||
|
-fx-border-color: derive(-fx-base, -2%);
|
||||||
|
/*-fx-border-width: 1;*/
|
||||||
|
}
|
|
@ -1,3 +1,3 @@
|
||||||
.descriptor-text { -fx-fill: #000000 }
|
.descriptor-text { -fx-fill: -fx-text-inner-color }
|
||||||
.descriptor-error { -fx-fill: #ca1243 }
|
.descriptor-error { -fx-fill: #ca1243 }
|
||||||
|
|
||||||
|
|
|
@ -127,3 +127,27 @@
|
||||||
.default-button {
|
.default-button {
|
||||||
-fx-base: -fx-default-button;
|
-fx-base: -fx-default-button;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.etched-raised-border {
|
||||||
|
-fx-border-color: #ffffff, #a9a9a9;
|
||||||
|
-fx-border-style: solid, solid;
|
||||||
|
-fx-border-width: 1px, 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line-border {
|
||||||
|
-fx-border-color: #a9a9a9;
|
||||||
|
-fx-border-style: solid;
|
||||||
|
-fx-border-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.success {
|
||||||
|
-fx-text-fill: rgb(80, 161, 79);
|
||||||
|
}
|
||||||
|
|
||||||
|
.failure {
|
||||||
|
-fx-text-fill: rgb(202, 18, 67);
|
||||||
|
}
|
||||||
|
|
||||||
|
.root .header-panel {
|
||||||
|
-fx-background-color: -fx-box-border, derive(-fx-background, 10%);
|
||||||
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<?import com.sparrowwallet.drongo.wallet.KeystoreSource?>
|
<?import com.sparrowwallet.drongo.wallet.KeystoreSource?>
|
||||||
|
|
||||||
<?import javafx.geometry.Insets?>
|
<?import javafx.geometry.Insets?>
|
||||||
<BorderPane stylesheets="@../general.css, @keystoreimport.css" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" fx:controller="com.sparrowwallet.sparrow.keystoreimport.KeystoreImportController">
|
<BorderPane stylesheets="@../general.css, @keystoreimport.css" styleClass="line-border" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" fx:controller="com.sparrowwallet.sparrow.keystoreimport.KeystoreImportController">
|
||||||
<padding>
|
<padding>
|
||||||
<Insets top="0" left="0" right="0" bottom="0" />
|
<Insets top="0" left="0" right="0" bottom="0" />
|
||||||
</padding>
|
</padding>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<?import javafx.geometry.Insets?>
|
<?import javafx.geometry.Insets?>
|
||||||
<?import com.sparrowwallet.sparrow.preferences.PreferenceGroup?>
|
<?import com.sparrowwallet.sparrow.preferences.PreferenceGroup?>
|
||||||
<?import org.controlsfx.glyphfont.Glyph?>
|
<?import org.controlsfx.glyphfont.Glyph?>
|
||||||
<BorderPane stylesheets="@../general.css, @preferences.css" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" fx:controller="com.sparrowwallet.sparrow.preferences.PreferencesController">
|
<BorderPane stylesheets="@../general.css, @preferences.css" styleClass="line-border" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" fx:controller="com.sparrowwallet.sparrow.preferences.PreferencesController">
|
||||||
<left>
|
<left>
|
||||||
<VBox styleClass="list-menu">
|
<VBox styleClass="list-menu">
|
||||||
<ToggleButton VBox.vgrow="ALWAYS" text="General" wrapText="true" textAlignment="CENTER" contentDisplay="TOP" styleClass="list-item" maxHeight="Infinity" toggleGroup="$preferencesMenu">
|
<ToggleButton VBox.vgrow="ALWAYS" text="General" wrapText="true" textAlignment="CENTER" contentDisplay="TOP" styleClass="list-item" maxHeight="Infinity" toggleGroup="$preferencesMenu">
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
-fx-font-size: 13px;
|
-fx-font-size: 13px;
|
||||||
-fx-font-family: 'Roboto Mono';
|
-fx-font-family: 'Roboto Mono';
|
||||||
-fx-padding: 4;
|
-fx-padding: 4;
|
||||||
|
-fx-fill: -fx-text-inner-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.virtualized-scroll-pane {
|
.virtualized-scroll-pane {
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
.version { -fx-fill: #986801 }
|
.version { -fx-fill: color-7 }
|
||||||
.segwit-marker { -fx-fill: #000000 }
|
.segwit-marker { -fx-fill: color-8 }
|
||||||
.segwit-flag { -fx-fill: #4078f2 }
|
.segwit-flag { -fx-fill: color-5 }
|
||||||
|
|
||||||
.num-inputs { -fx-fill: #ca1243 }
|
.num-inputs { -fx-fill: color-0 }
|
||||||
.input-hash { -fx-fill: #0184bc }
|
.input-hash { -fx-fill: color-4 }
|
||||||
.input-index { -fx-fill: #0184bc }
|
.input-index { -fx-fill: color-4 }
|
||||||
.input-sigscript-length { -fx-fill: #0184bc }
|
.input-sigscript-length { -fx-fill: color-4 }
|
||||||
.input-sigscript { -fx-fill: #0184bc }
|
.input-sigscript { -fx-fill: color-4 }
|
||||||
.input-sequence { -fx-fill: #0184bc }
|
.input-sequence { -fx-fill: color-4 }
|
||||||
|
|
||||||
.num-outputs { -fx-fill: #ca1243 }
|
.num-outputs { -fx-fill: color-0 }
|
||||||
.output-value { -fx-fill: #50a14f }
|
.output-value { -fx-fill: color-3 }
|
||||||
.output-pubkeyscript-length { -fx-fill: #50a14f }
|
.output-pubkeyscript-length { -fx-fill: color-3 }
|
||||||
.output-pubkeyscript { -fx-fill: #50a14f }
|
.output-pubkeyscript { -fx-fill: color-3 }
|
||||||
|
|
||||||
.witness-count { -fx-fill: #ca1243 }
|
.witness-count { -fx-fill: color-0 }
|
||||||
.witness-length { -fx-fill: #a626a4 }
|
.witness-length { -fx-fill: color-6 }
|
||||||
.witness-data { -fx-fill: #a626a4 }
|
.witness-data { -fx-fill: color-6 }
|
||||||
|
|
||||||
.locktime { -fx-fill: #986801 }
|
.locktime { -fx-fill: color-7 }
|
||||||
|
|
||||||
#locktimeCurrentHeight {
|
#locktimeCurrentHeight {
|
||||||
-fx-padding: 0 0 0 12;
|
-fx-padding: 0 0 0 12;
|
||||||
|
|
|
@ -1,27 +1,27 @@
|
||||||
.version { -fx-fill: #e5e5e6 }
|
.version { -fx-fill: color-grey }
|
||||||
.segwit-marker { -fx-fill: #e5e5e6 }
|
.segwit-marker { -fx-fill: color-grey }
|
||||||
.segwit-flag { -fx-fill: #e5e5e6 }
|
.segwit-flag { -fx-fill: color-grey }
|
||||||
|
|
||||||
.num-inputs { -fx-fill: #e5e5e6 }
|
.num-inputs { -fx-fill: color-grey }
|
||||||
.input-other { -fx-fill: #e5e5e6 }
|
.input-other { -fx-fill: color-grey }
|
||||||
|
|
||||||
.input-hash { -fx-fill: #0184bc }
|
.input-hash { -fx-fill: color-4 }
|
||||||
.input-index { -fx-fill: #000000 }
|
.input-index { -fx-fill: color-8 }
|
||||||
.input-sigscript-length { -fx-fill: #a626a4 }
|
.input-sigscript-length { -fx-fill: color-6 }
|
||||||
.input-sigscript { -fx-fill: #50a14f }
|
.input-sigscript { -fx-fill: color-3 }
|
||||||
.input-sequence { -fx-fill: #986801 }
|
.input-sequence { -fx-fill: color-7 }
|
||||||
|
|
||||||
.num-outputs { -fx-fill: #e5e5e6 }
|
.num-outputs { -fx-fill: color-grey }
|
||||||
.output-value { -fx-fill: #e5e5e6 }
|
.output-value { -fx-fill: color-grey }
|
||||||
.output-pubkeyscript-length { -fx-fill: #e5e5e6 }
|
.output-pubkeyscript-length { -fx-fill: color-grey }
|
||||||
.output-pubkeyscript { -fx-fill: #e5e5e6 }
|
.output-pubkeyscript { -fx-fill: color-grey }
|
||||||
|
|
||||||
.witness-other { -fx-fill: #e5e5e6 }
|
.witness-other { -fx-fill: color-grey }
|
||||||
|
|
||||||
.witness-count { -fx-fill: #ca1243 }
|
.witness-count { -fx-fill: color-0 }
|
||||||
.witness-length { -fx-fill: #986801 }
|
.witness-length { -fx-fill: color-7 }
|
||||||
.witness-data { -fx-fill: #a626a4 }
|
.witness-data { -fx-fill: color-6 }
|
||||||
|
|
||||||
.locktime { -fx-fill: #e5e5e6 }
|
.locktime { -fx-fill: color-grey }
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
.version { -fx-fill: #e5e5e6 }
|
.version { -fx-fill: color-grey }
|
||||||
.segwit-marker { -fx-fill: #e5e5e6 }
|
.segwit-marker { -fx-fill: color-grey }
|
||||||
.segwit-flag { -fx-fill: #e5e5e6 }
|
.segwit-flag { -fx-fill: color-grey }
|
||||||
|
|
||||||
.num-inputs { -fx-fill: #ca1243 }
|
.num-inputs { -fx-fill: color-0 }
|
||||||
.input-hash { -fx-fill: #0184bc }
|
.input-hash { -fx-fill: color-4 }
|
||||||
.input-index { -fx-fill: #000000 }
|
.input-index { -fx-fill: color-8 }
|
||||||
.input-sigscript-length { -fx-fill: #a626a4 }
|
.input-sigscript-length { -fx-fill: color-6 }
|
||||||
.input-sigscript { -fx-fill: #50a14f }
|
.input-sigscript { -fx-fill: color-3 }
|
||||||
.input-sequence { -fx-fill: #986801 }
|
.input-sequence { -fx-fill: color-7 }
|
||||||
|
|
||||||
.num-outputs { -fx-fill: #e5e5e6 }
|
.num-outputs { -fx-fill: color-grey }
|
||||||
.output-value { -fx-fill: #e5e5e6 }
|
.output-value { -fx-fill: color-grey }
|
||||||
.output-pubkeyscript-length { -fx-fill: #e5e5e6 }
|
.output-pubkeyscript-length { -fx-fill: color-grey }
|
||||||
.output-pubkeyscript { -fx-fill: #e5e5e6 }
|
.output-pubkeyscript { -fx-fill: color-grey }
|
||||||
|
|
||||||
.witness-count { -fx-fill: #ca1243 }
|
.witness-count { -fx-fill: color-0 }
|
||||||
.witness-length { -fx-fill: #986801 }
|
.witness-length { -fx-fill: color-7 }
|
||||||
.witness-data { -fx-fill: #a626a4 }
|
.witness-data { -fx-fill: color-6 }
|
||||||
|
|
||||||
.locktime { -fx-fill: #e5e5e6 }
|
.locktime { -fx-fill: color-grey }
|
||||||
|
|
||||||
.chart-legend-item {
|
.chart-legend-item {
|
||||||
-fx-font-size: 13px;
|
-fx-font-size: 13px;
|
||||||
|
|
|
@ -1,26 +1,26 @@
|
||||||
.version { -fx-fill: #e5e5e6 }
|
.version { -fx-fill: color-grey }
|
||||||
.segwit-marker { -fx-fill: #e5e5e6 }
|
.segwit-marker { -fx-fill: color-grey }
|
||||||
.segwit-flag { -fx-fill: #e5e5e6 }
|
.segwit-flag { -fx-fill: color-grey }
|
||||||
|
|
||||||
.num-inputs { -fx-fill: #e5e5e6 }
|
.num-inputs { -fx-fill: color-grey }
|
||||||
.input-hash { -fx-fill: #e5e5e6 }
|
.input-hash { -fx-fill: color-grey }
|
||||||
.input-index { -fx-fill: #e5e5e6 }
|
.input-index { -fx-fill: color-grey }
|
||||||
.input-sigscript-length { -fx-fill: #e5e5e6 }
|
.input-sigscript-length { -fx-fill: color-grey }
|
||||||
.input-sigscript { -fx-fill: #e5e5e6 }
|
.input-sigscript { -fx-fill: color-grey }
|
||||||
.input-sequence { -fx-fill: #e5e5e6 }
|
.input-sequence { -fx-fill: color-grey }
|
||||||
|
|
||||||
.num-outputs { -fx-fill: #e5e5e6 }
|
.num-outputs { -fx-fill: color-grey }
|
||||||
.output-other { -fx-fill: #e5e5e6 }
|
.output-other { -fx-fill: color-grey }
|
||||||
|
|
||||||
.output-value { -fx-fill: #000000 }
|
.output-value { -fx-fill: color-8 }
|
||||||
.output-pubkeyscript-length { -fx-fill: #a626a4 }
|
.output-pubkeyscript-length { -fx-fill: color-6 }
|
||||||
.output-pubkeyscript { -fx-fill: #50a14f }
|
.output-pubkeyscript { -fx-fill: color-3 }
|
||||||
|
|
||||||
.witness-count { -fx-fill: #e5e5e6 }
|
.witness-count { -fx-fill: color-grey }
|
||||||
.witness-length { -fx-fill: #e5e5e6 }
|
.witness-length { -fx-fill: color-grey }
|
||||||
.witness-data { -fx-fill: #e5e5e6 }
|
.witness-data { -fx-fill: color-grey }
|
||||||
|
|
||||||
.locktime { -fx-fill: #e5e5e6 }
|
.locktime { -fx-fill: color-grey }
|
||||||
|
|
||||||
#spentField .input-container {
|
#spentField .input-container {
|
||||||
-fx-alignment: center-left;
|
-fx-alignment: center-left;
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
.version { -fx-fill: #e5e5e6 }
|
.version { -fx-fill: color-grey }
|
||||||
.segwit-marker { -fx-fill: #e5e5e6 }
|
.segwit-marker { -fx-fill: color-grey }
|
||||||
.segwit-flag { -fx-fill: #e5e5e6 }
|
.segwit-flag { -fx-fill: color-grey }
|
||||||
|
|
||||||
.num-inputs { -fx-fill: #e5e5e6 }
|
.num-inputs { -fx-fill: color-grey }
|
||||||
.input-hash { -fx-fill: #e5e5e6 }
|
.input-hash { -fx-fill: color-grey }
|
||||||
.input-index { -fx-fill: #e5e5e6 }
|
.input-index { -fx-fill: color-grey }
|
||||||
.input-sigscript-length { -fx-fill: #e5e5e6 }
|
.input-sigscript-length { -fx-fill: color-grey }
|
||||||
.input-sigscript { -fx-fill: #e5e5e6 }
|
.input-sigscript { -fx-fill: color-grey }
|
||||||
.input-sequence { -fx-fill: #e5e5e6 }
|
.input-sequence { -fx-fill: color-grey }
|
||||||
|
|
||||||
.num-outputs { -fx-fill: #ca1243 }
|
.num-outputs { -fx-fill: color-0 }
|
||||||
.output-value { -fx-fill: #000000 }
|
.output-value { -fx-fill: color-8 }
|
||||||
.output-pubkeyscript-length { -fx-fill: #a626a4 }
|
.output-pubkeyscript-length { -fx-fill: color-6 }
|
||||||
.output-pubkeyscript { -fx-fill: #50a14f }
|
.output-pubkeyscript { -fx-fill: color-3 }
|
||||||
|
|
||||||
.witness-count { -fx-fill: #e5e5e6 }
|
.witness-count { -fx-fill: color-grey }
|
||||||
.witness-length { -fx-fill: #e5e5e6 }
|
.witness-length { -fx-fill: color-grey }
|
||||||
.witness-data { -fx-fill: #e5e5e6 }
|
.witness-data { -fx-fill: color-grey }
|
||||||
|
|
||||||
.locktime { -fx-fill: #e5e5e6 }
|
.locktime { -fx-fill: color-grey }
|
||||||
|
|
||||||
.chart-legend-item {
|
.chart-legend-item {
|
||||||
-fx-font-size: 13;
|
-fx-font-size: 13;
|
||||||
|
|
|
@ -1,8 +1,18 @@
|
||||||
#txhex {
|
#txhex {
|
||||||
-fx-background-color: #ffffff;
|
-fx-background-color: -fx-control-inner-background;
|
||||||
-fx-font-size: 13px;
|
-fx-font-size: 13px;
|
||||||
-fx-font-family: 'Roboto Mono';
|
-fx-font-family: 'Roboto Mono';
|
||||||
-fx-padding: 2;
|
-fx-padding: 2;
|
||||||
|
color-0: #ca1243;
|
||||||
|
color-1: #d75f00;
|
||||||
|
color-2: #c18401;
|
||||||
|
color-3: #50a14f;
|
||||||
|
color-4: #0184bc;
|
||||||
|
color-5: #4078f2;
|
||||||
|
color-6: #a626a4;
|
||||||
|
color-7: #986801;
|
||||||
|
color-8: #000000;
|
||||||
|
color-grey: #e5e5e6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tx-pane {
|
.tx-pane {
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<?import com.sparrowwallet.sparrow.control.HelpLabel?>
|
<?import com.sparrowwallet.sparrow.control.HelpLabel?>
|
||||||
<?import javafx.geometry.Insets?>
|
<?import javafx.geometry.Insets?>
|
||||||
|
|
||||||
<BorderPane stylesheets="@../general.css" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" fx:controller="com.sparrowwallet.sparrow.wallet.AdvancedController">
|
<BorderPane stylesheets="@../general.css" styleClass="line-border" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" fx:controller="com.sparrowwallet.sparrow.wallet.AdvancedController">
|
||||||
<center>
|
<center>
|
||||||
<GridPane hgap="10.0" vgap="10.0">
|
<GridPane hgap="10.0" vgap="10.0">
|
||||||
<padding>
|
<padding>
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
<?import com.sparrowwallet.sparrow.control.CopyableTextField?>
|
<?import com.sparrowwallet.sparrow.control.CopyableTextField?>
|
||||||
<?import com.sparrowwallet.sparrow.control.ScriptArea?>
|
<?import com.sparrowwallet.sparrow.control.ScriptArea?>
|
||||||
|
|
||||||
<BorderPane stylesheets="@receive.css, @wallet.css, @../script.css, @../general.css" styleClass="wallet-pane" xmlns="http://javafx.com/javafx/10.0.2-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.sparrowwallet.sparrow.wallet.ReceiveController">
|
<BorderPane stylesheets="@receive.css, @wallet.css, @../script.css, @../descriptor.css, @../general.css" styleClass="wallet-pane" xmlns="http://javafx.com/javafx/10.0.2-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.sparrowwallet.sparrow.wallet.ReceiveController">
|
||||||
<center>
|
<center>
|
||||||
|
|
||||||
<GridPane styleClass="receive-form" hgap="10.0" vgap="10.0">
|
<GridPane styleClass="receive-form" hgap="10.0" vgap="10.0">
|
||||||
|
|
|
@ -10,4 +10,9 @@
|
||||||
-fx-alignment: center-left;
|
-fx-alignment: center-left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.keystore-padding-border {
|
||||||
|
-fx-border-color: #00000000;
|
||||||
|
-fx-border-style: none;
|
||||||
|
-fx-border-width: 10 5 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,11 @@
|
||||||
|
|
||||||
<Form GridPane.columnIndex="0" GridPane.columnSpan="2" GridPane.rowIndex="2">
|
<Form GridPane.columnIndex="0" GridPane.columnSpan="2" GridPane.rowIndex="2">
|
||||||
<Fieldset inputGrow="SOMETIMES" text="Keystores">
|
<Fieldset inputGrow="SOMETIMES" text="Keystores">
|
||||||
|
<StackPane styleClass="keystore-padding-border">
|
||||||
|
<StackPane styleClass="etched-raised-border">
|
||||||
<StackPane fx:id="keystoreTabsPane"/>
|
<StackPane fx:id="keystoreTabsPane"/>
|
||||||
|
</StackPane>
|
||||||
|
</StackPane>
|
||||||
</Fieldset>
|
</Fieldset>
|
||||||
</Form>
|
</Form>
|
||||||
</GridPane>
|
</GridPane>
|
||||||
|
|
|
@ -35,33 +35,29 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.hashindex-row {
|
.hashindex-row {
|
||||||
-fx-text-fill: #696c77;
|
-fx-opacity: 0.7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hashindex-row.spent {
|
.hashindex-row.spent {
|
||||||
-fx-text-fill: #a0a1a7;
|
-fx-opacity: 0.4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.transaction-row.confirming {
|
.transaction-row.confirming {
|
||||||
-fx-text-fill: #696c77;
|
-fx-opacity: 0.7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.utxo-row.unspendable {
|
.utxo-row.unspendable {
|
||||||
-fx-text-fill: #a0a1a7;
|
-fx-opacity: 0.4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tree-table-row-cell:selected .utxo-row.unspendable {
|
.tree-table-row-cell:selected .utxo-row.unspendable {
|
||||||
-fx-text-fill: #696c77;
|
-fx-opacity: 0.7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tree-table-view:focused:row-selection .tree-table-row-cell:selected .utxo-row.unspendable {
|
.tree-table-view:focused:row-selection .tree-table-row-cell:selected .utxo-row.unspendable {
|
||||||
-fx-text-fill: derive(white, -15%);
|
-fx-text-fill: derive(white, -15%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tree-table-row-cell:selected .hashindex-row, .tree-table-row-cell:selected .transaction-row {
|
|
||||||
-fx-text-fill: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.label-cell .text-field {
|
.label-cell .text-field {
|
||||||
-fx-padding: 0;
|
-fx-padding: 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue