diff --git a/gui/src/main/java/io/bisq/gui/app/BisqApp.java b/gui/src/main/java/io/bisq/gui/app/BisqApp.java index c551fb3ee0..e913ee9251 100644 --- a/gui/src/main/java/io/bisq/gui/app/BisqApp.java +++ b/gui/src/main/java/io/bisq/gui/app/BisqApp.java @@ -60,6 +60,7 @@ import io.bisq.gui.common.view.CachingViewLoader; import io.bisq.gui.common.view.View; import io.bisq.gui.common.view.ViewLoader; import io.bisq.gui.common.view.guice.InjectorViewFactory; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.main.MainView; import io.bisq.gui.main.debug.DebugView; import io.bisq.gui.main.overlays.popups.Popup; @@ -398,7 +399,7 @@ public class BisqApp extends Application { } private void showFPSWindow() { - Label label = new Label(); + Label label = new AutoTooltipLabel(); EventStreams.animationTicks() .latestN(100) .map(ticks -> { diff --git a/gui/src/main/java/io/bisq/gui/components/AddressWithIconAndDirection.java b/gui/src/main/java/io/bisq/gui/components/AddressWithIconAndDirection.java index cb7d098ba3..93040dd266 100644 --- a/gui/src/main/java/io/bisq/gui/components/AddressWithIconAndDirection.java +++ b/gui/src/main/java/io/bisq/gui/components/AddressWithIconAndDirection.java @@ -20,7 +20,7 @@ public class AddressWithIconAndDirection extends AnchorPane { private final Label openLinkIcon; public AddressWithIconAndDirection(String text, String address, AwesomeIcon awesomeIcon, boolean received) { - Label directionIcon = new Label(); + Label directionIcon = new AutoTooltipLabel(); directionIcon.setLayoutY(3); directionIcon.getStyleClass().add(received ? "received-funds-icon" : "sent-funds-icon"); AwesomeDude.setIcon(directionIcon, received ? AwesomeIcon.SIGNIN : AwesomeIcon.SIGNOUT); @@ -28,7 +28,7 @@ public class AddressWithIconAndDirection extends AnchorPane { HBox hBox = new HBox(); hBox.setSpacing(-1); - Label label = new Label(text); + Label label = new AutoTooltipLabel(text); label.setMouseTransparent(true); HBox.setMargin(label, new Insets(4, 0, 0, 0)); HBox.setHgrow(label, Priority.ALWAYS); @@ -43,7 +43,7 @@ public class AddressWithIconAndDirection extends AnchorPane { hBox.getChildren().addAll(label, hyperlink); - openLinkIcon = new Label(); + openLinkIcon = new AutoTooltipLabel(); openLinkIcon.setLayoutY(3); openLinkIcon.getStyleClass().add("external-link-icon"); openLinkIcon.setOpacity(0.7); diff --git a/gui/src/main/java/io/bisq/gui/components/AutoTooltipLabel.java b/gui/src/main/java/io/bisq/gui/components/AutoTooltipLabel.java new file mode 100644 index 0000000000..24f5e60708 --- /dev/null +++ b/gui/src/main/java/io/bisq/gui/components/AutoTooltipLabel.java @@ -0,0 +1,48 @@ +package io.bisq.gui.components; + +import com.sun.javafx.scene.control.skin.LabelSkin; +import javafx.scene.Node; +import javafx.scene.control.Label; +import javafx.scene.control.Skin; +import javafx.scene.control.Tooltip; +import javafx.scene.text.Text; + +public class AutoTooltipLabel extends Label { + + public AutoTooltipLabel(){ + super(); + } + + public AutoTooltipLabel(String text) { + super(text); + } + + @Override + protected Skin createDefaultSkin() { + return new AutoTooltipLabelSkin(this); + } + + private class AutoTooltipLabelSkin extends LabelSkin { + private final Label truncateToFitLabel; + + public AutoTooltipLabelSkin(Label label) { + super(label); + this.truncateToFitLabel = label; + } + + @Override + protected void layoutChildren(double x, double y, double w, double h) { + super.layoutChildren(x, y, w, h); + for (Node node : getChildren()) { + if (node instanceof Text) { + String displayedText = ((Text) node).getText(); + if (displayedText.equals(truncateToFitLabel.getText())) { + truncateToFitLabel.setTooltip(null); + } else { + truncateToFitLabel.setTooltip(new Tooltip(truncateToFitLabel.getText())); + } + } + } + } + } +} diff --git a/gui/src/main/java/io/bisq/gui/components/BsqAddressTextField.java b/gui/src/main/java/io/bisq/gui/components/BsqAddressTextField.java index e8235febbb..e7f5835556 100644 --- a/gui/src/main/java/io/bisq/gui/components/BsqAddressTextField.java +++ b/gui/src/main/java/io/bisq/gui/components/BsqAddressTextField.java @@ -72,7 +72,7 @@ public class BsqAddressTextField extends AnchorPane { //focusedProperty().addListener((ov, oldValue, newValue) -> textField.requestFocus()); - Label copyIcon = new Label(); + Label copyIcon = new AutoTooltipLabel(); copyIcon.setLayoutY(3); copyIcon.getStyleClass().add("copy-icon"); copyIcon.setTooltip(new Tooltip(Res.get("addressTextField.copyToClipboard"))); diff --git a/gui/src/main/java/io/bisq/gui/components/HyperlinkWithIcon.java b/gui/src/main/java/io/bisq/gui/components/HyperlinkWithIcon.java index 94dc4922c2..56036118ad 100644 --- a/gui/src/main/java/io/bisq/gui/components/HyperlinkWithIcon.java +++ b/gui/src/main/java/io/bisq/gui/components/HyperlinkWithIcon.java @@ -28,7 +28,7 @@ public class HyperlinkWithIcon extends HBox { setSpacing(5); hyperlink = new Hyperlink(text); - icon = new Label(); + icon = new AutoTooltipLabel(); icon.getStyleClass().add("external-link-icon"); AwesomeDude.setIcon(icon, awesomeIcon); icon.setMinWidth(20); diff --git a/gui/src/main/java/io/bisq/gui/components/InfoDisplay.java b/gui/src/main/java/io/bisq/gui/components/InfoDisplay.java index e73334ff6f..a63526dc45 100644 --- a/gui/src/main/java/io/bisq/gui/components/InfoDisplay.java +++ b/gui/src/main/java/io/bisq/gui/components/InfoDisplay.java @@ -68,7 +68,7 @@ public class InfoDisplay extends Parent { GridPane.setMargin(icon, new Insets(-2, 0, 0, 0)); GridPane.setRowSpan(icon, 2); - label = new Label(); + label = new AutoTooltipLabel(); label.textProperty().bind(text); label.setTextOverrun(OverrunStyle.WORD_ELLIPSIS); // width is set a frame later so we hide it first @@ -79,7 +79,7 @@ public class InfoDisplay extends Parent { // We need that to know if we have a wrapping or not. // Did not find a way to get that from the API. - Label testLabel = new Label(); + Label testLabel = new AutoTooltipLabel(); testLabel.textProperty().bind(text); textFlow = new TextFlow(); diff --git a/gui/src/main/java/io/bisq/gui/components/InputTextField.java b/gui/src/main/java/io/bisq/gui/components/InputTextField.java index 7a5a10d166..af17e1e388 100644 --- a/gui/src/main/java/io/bisq/gui/components/InputTextField.java +++ b/gui/src/main/java/io/bisq/gui/components/InputTextField.java @@ -172,7 +172,7 @@ public class InputTextField extends TextField { private static void createErrorPopOver(String errorMessage) { - Label errorLabel = new Label(errorMessage); + Label errorLabel = new AutoTooltipLabel(errorMessage); errorLabel.setId("validation-error"); errorLabel.setPadding(new Insets(0, 10, 0, 10)); errorLabel.setOnMouseClicked(e -> hideErrorMessageDisplay()); @@ -183,4 +183,4 @@ public class InputTextField extends TextField { errorMessageDisplay.setArrowIndent(5); } -} \ No newline at end of file +} diff --git a/gui/src/main/java/io/bisq/gui/components/PasswordTextField.java b/gui/src/main/java/io/bisq/gui/components/PasswordTextField.java index dd6ec36c8b..3e43faae59 100644 --- a/gui/src/main/java/io/bisq/gui/components/PasswordTextField.java +++ b/gui/src/main/java/io/bisq/gui/components/PasswordTextField.java @@ -159,7 +159,7 @@ public class PasswordTextField extends PasswordField { private static void createErrorPopOver(String errorMessage) { - Label errorLabel = new Label(errorMessage); + Label errorLabel = new AutoTooltipLabel(errorMessage); errorLabel.setId("validation-error"); errorLabel.setPadding(new Insets(0, 10, 0, 10)); errorLabel.setOnMouseClicked(e -> hideErrorMessageDisplay()); @@ -170,4 +170,4 @@ public class PasswordTextField extends PasswordField { errorMessageDisplay.setArrowIndent(5); } -} \ No newline at end of file +} diff --git a/gui/src/main/java/io/bisq/gui/components/PeerInfoIcon.java b/gui/src/main/java/io/bisq/gui/components/PeerInfoIcon.java index f2824fad83..00985cced3 100644 --- a/gui/src/main/java/io/bisq/gui/components/PeerInfoIcon.java +++ b/gui/src/main/java/io/bisq/gui/components/PeerInfoIcon.java @@ -132,7 +132,7 @@ public class PeerInfoIcon extends Group { numTradesPane.setMouseTransparent(true); ImageView numTradesCircle = new ImageView(); numTradesCircle.setId("image-green_circle"); - numTradesLabel = new Label(); + numTradesLabel = new AutoTooltipLabel(); numTradesLabel.relocate(5, 1); numTradesLabel.setId("ident-num-label"); numTradesPane.getChildren().addAll(numTradesCircle, numTradesLabel); @@ -142,7 +142,7 @@ public class PeerInfoIcon extends Group { tagPane.setMouseTransparent(true); ImageView tagCircle = new ImageView(); tagCircle.setId("image-blue_circle"); - tagLabel = new Label(); + tagLabel = new AutoTooltipLabel(); tagLabel.relocate(5, 1); tagLabel.setId("ident-num-label"); tagPane.getChildren().addAll(tagCircle, tagLabel); diff --git a/gui/src/main/java/io/bisq/gui/components/TextFieldWithCopyIcon.java b/gui/src/main/java/io/bisq/gui/components/TextFieldWithCopyIcon.java index 30b51e5bf8..6e7b85364e 100644 --- a/gui/src/main/java/io/bisq/gui/components/TextFieldWithCopyIcon.java +++ b/gui/src/main/java/io/bisq/gui/components/TextFieldWithCopyIcon.java @@ -40,7 +40,7 @@ public class TextFieldWithCopyIcon extends AnchorPane { /////////////////////////////////////////////////////////////////////////////////////////// public TextFieldWithCopyIcon() { - Label copyIcon = new Label(); + Label copyIcon = new AutoTooltipLabel(); copyIcon.setLayoutY(3); copyIcon.getStyleClass().add("copy-icon"); copyIcon.setTooltip(new Tooltip(Res.get("shared.copyToClipboard"))); diff --git a/gui/src/main/java/io/bisq/gui/main/MainView.java b/gui/src/main/java/io/bisq/gui/main/MainView.java index d7801e4329..73626afbe3 100644 --- a/gui/src/main/java/io/bisq/gui/main/MainView.java +++ b/gui/src/main/java/io/bisq/gui/main/MainView.java @@ -28,6 +28,7 @@ import io.bisq.core.app.BisqEnvironment; import io.bisq.core.exceptions.BisqException; import io.bisq.gui.Navigation; import io.bisq.gui.common.view.*; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.BusyAnimation; import io.bisq.gui.main.account.AccountView; import io.bisq.gui.main.dao.DaoView; @@ -286,7 +287,7 @@ public class MainView extends InitializableView { textField.setFocusTraversable(false); textField.setStyle("-fx-alignment: center; -fx-background-color: white;"); - Label label = new Label(text); + Label label = new AutoTooltipLabel(text); label.setId("nav-balance-label"); label.setPadding(new Insets(0, 5, 0, 5)); label.setPrefWidth(textField.getPrefWidth()); @@ -372,7 +373,7 @@ public class MainView extends InitializableView { ); }); - Label label = new Label(Res.get("mainView.marketPrice.provider")); + Label label = new AutoTooltipLabel(Res.get("mainView.marketPrice.provider")); label.setId("nav-balance-label"); label.setPadding(new Insets(0, 5, 0, 2)); @@ -422,7 +423,7 @@ public class MainView extends InitializableView { // createBitcoinInfoBox - btcSplashInfo = new Label(); + btcSplashInfo = new AutoTooltipLabel(); btcSplashInfo.textProperty().bind(model.btcInfo); walletServiceErrorMsgListener = (ov, oldValue, newValue) -> btcSplashInfo.setId("splash-error-state-msg"); model.walletServiceErrorMsg.addListener(walletServiceErrorMsgListener); @@ -455,7 +456,7 @@ public class MainView extends InitializableView { // create P2PNetworkBox - splashP2PNetworkLabel = new Label(); + splashP2PNetworkLabel = new AutoTooltipLabel(); splashP2PNetworkLabel.setWrapText(true); splashP2PNetworkLabel.setMaxWidth(500); splashP2PNetworkLabel.setTextAlignment(TextAlignment.CENTER); @@ -542,7 +543,7 @@ public class MainView extends InitializableView { setTopAnchor(separator, 0d); // BTC - Label btcInfoLabel = new Label(); + Label btcInfoLabel = new AutoTooltipLabel(); btcInfoLabel.setId("footer-pane"); btcInfoLabel.textProperty().bind(model.btcInfo); @@ -580,7 +581,7 @@ public class MainView extends InitializableView { setBottomAnchor(blockchainSyncBox, 7d); // version - versionLabel = new Label(); + versionLabel = new AutoTooltipLabel(); versionLabel.setId("footer-pane"); versionLabel.setTextAlignment(TextAlignment.CENTER); versionLabel.setAlignment(Pos.BASELINE_CENTER); @@ -602,7 +603,7 @@ public class MainView extends InitializableView { }); // P2P Network - Label p2PNetworkLabel = new Label(); + Label p2PNetworkLabel = new AutoTooltipLabel(); p2PNetworkLabel.setId("footer-pane"); setRightAnchor(p2PNetworkLabel, 33d); setBottomAnchor(p2PNetworkLabel, 7d); @@ -635,7 +636,7 @@ public class MainView extends InitializableView { } private void setupNotificationIcon(Pane buttonHolder) { - Label label = new Label(); + Label label = new AutoTooltipLabel(); label.textProperty().bind(model.numPendingTradesAsString); label.relocate(5, 1); label.setId("nav-alert-label"); @@ -654,7 +655,7 @@ public class MainView extends InitializableView { } private void setupDisputesIcon(Pane buttonHolder) { - Label label = new Label(); + Label label = new AutoTooltipLabel(); label.textProperty().bind(model.numOpenDisputesAsString); label.relocate(5, 1); label.setId("nav-alert-label"); diff --git a/gui/src/main/java/io/bisq/gui/main/account/content/altcoinaccounts/AltCoinAccountsView.java b/gui/src/main/java/io/bisq/gui/main/account/content/altcoinaccounts/AltCoinAccountsView.java index dd40ddca68..9d50384522 100644 --- a/gui/src/main/java/io/bisq/gui/main/account/content/altcoinaccounts/AltCoinAccountsView.java +++ b/gui/src/main/java/io/bisq/gui/main/account/content/altcoinaccounts/AltCoinAccountsView.java @@ -29,6 +29,7 @@ import io.bisq.core.payment.PaymentAccountFactory; import io.bisq.core.payment.payload.PaymentMethod; import io.bisq.gui.common.view.ActivatableViewAndModel; import io.bisq.gui.common.view.FxmlView; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.TitledGroupBg; import io.bisq.gui.components.paymentmethods.CryptoCurrencyForm; import io.bisq.gui.components.paymentmethods.PaymentMethodForm; @@ -92,7 +93,7 @@ public class AltCoinAccountsView extends ActivatableViewAndModel call(ListView list) { return new ListCell() { - final Label label = new Label(); + final Label label = new AutoTooltipLabel(); final ImageView icon = ImageUtil.getImageViewById(ImageUtil.REMOVE_ICON); final Button removeButton = new Button("", icon); final AnchorPane pane = new AnchorPane(label, removeButton); diff --git a/gui/src/main/java/io/bisq/gui/main/account/content/arbitratorselection/ArbitratorSelectionView.java b/gui/src/main/java/io/bisq/gui/main/account/content/arbitratorselection/ArbitratorSelectionView.java index 5e250178c0..8b0362b7e6 100644 --- a/gui/src/main/java/io/bisq/gui/main/account/content/arbitratorselection/ArbitratorSelectionView.java +++ b/gui/src/main/java/io/bisq/gui/main/account/content/arbitratorselection/ArbitratorSelectionView.java @@ -23,6 +23,7 @@ import io.bisq.common.locale.Res; import io.bisq.common.util.Tuple2; import io.bisq.gui.common.view.ActivatableViewAndModel; import io.bisq.gui.common.view.FxmlView; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.TableGroupHeadline; import io.bisq.gui.main.overlays.popups.Popup; import io.bisq.gui.util.ImageUtil; @@ -143,7 +144,7 @@ public class ArbitratorSelectionView extends ActivatableViewAndModel call(ListView list) { return new ListCell() { - final Label label = new Label(); + final Label label = new AutoTooltipLabel(); final ImageView icon = ImageUtil.getImageViewById(ImageUtil.REMOVE_ICON); final Button removeButton = new Button("", icon); final AnchorPane pane = new AnchorPane(label, removeButton); diff --git a/gui/src/main/java/io/bisq/gui/main/account/content/fiataccounts/FiatAccountsView.java b/gui/src/main/java/io/bisq/gui/main/account/content/fiataccounts/FiatAccountsView.java index 513f0df5cd..11cbc7c183 100644 --- a/gui/src/main/java/io/bisq/gui/main/account/content/fiataccounts/FiatAccountsView.java +++ b/gui/src/main/java/io/bisq/gui/main/account/content/fiataccounts/FiatAccountsView.java @@ -26,6 +26,7 @@ import io.bisq.core.payment.*; import io.bisq.core.payment.payload.PaymentMethod; import io.bisq.gui.common.view.ActivatableViewAndModel; import io.bisq.gui.common.view.FxmlView; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.TitledGroupBg; import io.bisq.gui.components.paymentmethods.*; import io.bisq.gui.main.overlays.popups.Popup; @@ -118,7 +119,7 @@ public class FiatAccountsView extends ActivatableViewAndModel call(ListView list) { return new ListCell() { - final Label label = new Label(); + final Label label = new AutoTooltipLabel(); final ImageView icon = ImageUtil.getImageViewById(ImageUtil.REMOVE_ICON); final Button removeButton = new Button("", icon); final AnchorPane pane = new AnchorPane(label, removeButton); diff --git a/gui/src/main/java/io/bisq/gui/main/dao/compensation/CompensationView.java b/gui/src/main/java/io/bisq/gui/main/dao/compensation/CompensationView.java index 728e4c6a54..62bd72a856 100644 --- a/gui/src/main/java/io/bisq/gui/main/dao/compensation/CompensationView.java +++ b/gui/src/main/java/io/bisq/gui/main/dao/compensation/CompensationView.java @@ -22,6 +22,7 @@ import de.jensd.fx.fontawesome.AwesomeIcon; import io.bisq.common.locale.Res; import io.bisq.gui.Navigation; import io.bisq.gui.common.view.*; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.main.MainView; import io.bisq.gui.main.dao.DaoView; import io.bisq.gui.main.dao.compensation.active.ActiveCompensationRequestView; @@ -143,7 +144,7 @@ class MenuItem extends ToggleButton { setPrefWidth(240); setAlignment(Pos.CENTER_LEFT); - Label icon = new Label(); + Label icon = new AutoTooltipLabel(); AwesomeDude.setIcon(icon, awesomeIcon); icon.setTextFill(Paint.valueOf("#333")); icon.setPadding(new Insets(0, 5, 0, 0)); diff --git a/gui/src/main/java/io/bisq/gui/main/dao/compensation/active/ActiveCompensationRequestView.java b/gui/src/main/java/io/bisq/gui/main/dao/compensation/active/ActiveCompensationRequestView.java index 7490d28354..7d4b710f28 100644 --- a/gui/src/main/java/io/bisq/gui/main/dao/compensation/active/ActiveCompensationRequestView.java +++ b/gui/src/main/java/io/bisq/gui/main/dao/compensation/active/ActiveCompensationRequestView.java @@ -25,6 +25,7 @@ import io.bisq.core.dao.compensation.CompensationRequestManager; import io.bisq.gui.Navigation; import io.bisq.gui.common.view.ActivatableView; import io.bisq.gui.common.view.FxmlView; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.InputTextField; import io.bisq.gui.components.TableGroupHeadline; import io.bisq.gui.main.MainView; @@ -124,7 +125,7 @@ public class ActiveCompensationRequestView extends ActivatableView(compensationRequestManger.getObservableList()); tableView.setItems(sortedList); setColumns(); diff --git a/gui/src/main/java/io/bisq/gui/main/dao/voting/VotingView.java b/gui/src/main/java/io/bisq/gui/main/dao/voting/VotingView.java index 16e9380775..3342aab98f 100644 --- a/gui/src/main/java/io/bisq/gui/main/dao/voting/VotingView.java +++ b/gui/src/main/java/io/bisq/gui/main/dao/voting/VotingView.java @@ -22,6 +22,7 @@ import de.jensd.fx.fontawesome.AwesomeIcon; import io.bisq.common.locale.Res; import io.bisq.gui.Navigation; import io.bisq.gui.common.view.*; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.main.MainView; import io.bisq.gui.main.dao.DaoView; import io.bisq.gui.main.dao.voting.dashboard.VotingDashboardView; @@ -143,7 +144,7 @@ class MenuItem extends ToggleButton { setPrefWidth(240); setAlignment(Pos.CENTER_LEFT); - Label icon = new Label(); + Label icon = new AutoTooltipLabel(); AwesomeDude.setIcon(icon, awesomeIcon); icon.setTextFill(Paint.valueOf("#333")); icon.setPadding(new Insets(0, 5, 0, 0)); diff --git a/gui/src/main/java/io/bisq/gui/main/dao/voting/vote/ParameterViewItem.java b/gui/src/main/java/io/bisq/gui/main/dao/voting/vote/ParameterViewItem.java index 1317a8e51b..166bb3a801 100644 --- a/gui/src/main/java/io/bisq/gui/main/dao/voting/vote/ParameterViewItem.java +++ b/gui/src/main/java/io/bisq/gui/main/dao/voting/vote/ParameterViewItem.java @@ -21,6 +21,7 @@ import io.bisq.common.UserThread; import io.bisq.common.locale.Res; import io.bisq.core.dao.vote.VoteItem; import io.bisq.core.dao.vote.VotingDefaultValues; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.InputTextField; import javafx.beans.property.DoubleProperty; import javafx.beans.value.ChangeListener; @@ -78,7 +79,7 @@ public class ParameterViewItem { hBox.setSpacing(5); vBox.getChildren().add(hBox); - label = new Label(voteItem.getName() + ":"); + label = new AutoTooltipLabel(voteItem.getName() + ":"); HBox.setMargin(label, new Insets(4, 0, 0, 0)); numberChangeListener = (observable, oldValue, newValue) -> { if ((double) newValue > 0) { diff --git a/gui/src/main/java/io/bisq/gui/main/dao/wallet/BsqWalletView.java b/gui/src/main/java/io/bisq/gui/main/dao/wallet/BsqWalletView.java index 5907fd9fd4..a79125872d 100644 --- a/gui/src/main/java/io/bisq/gui/main/dao/wallet/BsqWalletView.java +++ b/gui/src/main/java/io/bisq/gui/main/dao/wallet/BsqWalletView.java @@ -23,6 +23,7 @@ import io.bisq.common.locale.Res; import io.bisq.core.app.BisqEnvironment; import io.bisq.gui.Navigation; import io.bisq.gui.common.view.*; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.main.MainView; import io.bisq.gui.main.dao.DaoView; import io.bisq.gui.main.dao.wallet.dashboard.BsqDashboardView; @@ -159,7 +160,7 @@ class MenuItem extends ToggleButton { setPrefWidth(240); setAlignment(Pos.CENTER_LEFT); - Label icon = new Label(); + Label icon = new AutoTooltipLabel(); AwesomeDude.setIcon(icon, awesomeIcon); icon.setTextFill(Paint.valueOf("#333")); icon.setPadding(new Insets(0, 5, 0, 0)); diff --git a/gui/src/main/java/io/bisq/gui/main/dao/wallet/dashboard/BsqDashboardView.java b/gui/src/main/java/io/bisq/gui/main/dao/wallet/dashboard/BsqDashboardView.java index 1f547f3f07..9bb9142b92 100644 --- a/gui/src/main/java/io/bisq/gui/main/dao/wallet/dashboard/BsqDashboardView.java +++ b/gui/src/main/java/io/bisq/gui/main/dao/wallet/dashboard/BsqDashboardView.java @@ -30,6 +30,7 @@ import io.bisq.core.provider.price.PriceFeedService; import io.bisq.core.user.Preferences; import io.bisq.gui.common.view.ActivatableView; import io.bisq.gui.common.view.FxmlView; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.HyperlinkWithIcon; import io.bisq.gui.main.dao.wallet.BsqBalanceUtil; import io.bisq.gui.util.BsqFormatter; @@ -91,7 +92,7 @@ public class BsqDashboardView extends ActivatableView implements addLabelTextField(root, gridRow, Res.get("dao.wallet.dashboard.genesisBlockHeight"), String.valueOf(bsqChainState.getGenesisBlockHeight()), Layout.FIRST_ROW_AND_GROUP_DISTANCE); - Label label = new Label(Res.get("dao.wallet.dashboard.genesisTxId")); + Label label = new AutoTooltipLabel(Res.get("dao.wallet.dashboard.genesisTxId")); GridPane.setRowIndex(label, ++gridRow); root.getChildren().add(label); hyperlinkWithIcon = new HyperlinkWithIcon(bsqChainState.getGenesisTxId(), AwesomeIcon.EXTERNAL_LINK); diff --git a/gui/src/main/java/io/bisq/gui/main/dao/wallet/tx/BsqTxView.java b/gui/src/main/java/io/bisq/gui/main/dao/wallet/tx/BsqTxView.java index 12f8f600b0..cfb137e4a2 100644 --- a/gui/src/main/java/io/bisq/gui/main/dao/wallet/tx/BsqTxView.java +++ b/gui/src/main/java/io/bisq/gui/main/dao/wallet/tx/BsqTxView.java @@ -33,6 +33,7 @@ import io.bisq.core.user.Preferences; import io.bisq.gui.common.view.ActivatableView; import io.bisq.gui.common.view.FxmlView; import io.bisq.gui.components.AddressWithIconAndDirection; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.HyperlinkWithIcon; import io.bisq.gui.main.dao.wallet.BsqBalanceUtil; import io.bisq.gui.util.BsqFormatter; @@ -332,7 +333,7 @@ public class BsqTxView extends ActivatableView { if (field != null) field.setOnAction(null); - label = new Label(item.isBurnedBsqTx() ? + label = new AutoTooltipLabel(item.isBurnedBsqTx() ? Res.get("dao.wallet.bsqFee") : Res.get("funds.tx.direction.self")); setGraphic(label); } else { diff --git a/gui/src/main/java/io/bisq/gui/main/funds/deposit/DepositView.java b/gui/src/main/java/io/bisq/gui/main/funds/deposit/DepositView.java index 8916ee8c31..f256a336cc 100644 --- a/gui/src/main/java/io/bisq/gui/main/funds/deposit/DepositView.java +++ b/gui/src/main/java/io/bisq/gui/main/funds/deposit/DepositView.java @@ -29,10 +29,7 @@ import io.bisq.core.provider.fee.FeeService; import io.bisq.core.user.Preferences; import io.bisq.gui.common.view.ActivatableView; import io.bisq.gui.common.view.FxmlView; -import io.bisq.gui.components.AddressTextField; -import io.bisq.gui.components.HyperlinkWithIcon; -import io.bisq.gui.components.InputTextField; -import io.bisq.gui.components.TitledGroupBg; +import io.bisq.gui.components.*; import io.bisq.gui.main.overlays.popups.Popup; import io.bisq.gui.main.overlays.windows.QRCodeWindow; import io.bisq.gui.util.BSFormatter; @@ -122,7 +119,7 @@ public class DepositView extends ActivatableView { walletService.getOrCreateAddressEntry(AddressEntry.Context.AVAILABLE); tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); - tableView.setPlaceholder(new Label(Res.get("funds.deposit.noAddresses"))); + tableView.setPlaceholder(new AutoTooltipLabel(Res.get("funds.deposit.noAddresses"))); tableViewSelectionListener = (observableValue, oldValue, newValue) -> { if (newValue != null) fillForm(newValue.getAddressString()); @@ -316,7 +313,7 @@ public class DepositView extends ActivatableView { public void updateItem(final DepositListItem item, boolean empty) { super.updateItem(item, empty); if (item != null && !empty) { - setGraphic(new Label(item.getUsage())); + setGraphic(new AutoTooltipLabel(item.getUsage())); } else { setGraphic(null); } diff --git a/gui/src/main/java/io/bisq/gui/main/funds/locked/LockedListItem.java b/gui/src/main/java/io/bisq/gui/main/funds/locked/LockedListItem.java index 782aab1642..c2181ed02f 100644 --- a/gui/src/main/java/io/bisq/gui/main/funds/locked/LockedListItem.java +++ b/gui/src/main/java/io/bisq/gui/main/funds/locked/LockedListItem.java @@ -23,6 +23,7 @@ import io.bisq.core.btc.wallet.BtcWalletService; import io.bisq.core.btc.wallet.WalletService; import io.bisq.core.trade.Tradable; import io.bisq.core.trade.Trade; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.util.BSFormatter; import javafx.scene.control.Label; import org.bitcoinj.core.Address; @@ -58,7 +59,7 @@ class LockedListItem { } // balance - balanceLabel = new Label(); + balanceLabel = new AutoTooltipLabel(); balanceListener = new BalanceListener(getAddress()) { @Override public void onBalanceChanged(Coin balance, Transaction tx) { diff --git a/gui/src/main/java/io/bisq/gui/main/funds/locked/LockedView.java b/gui/src/main/java/io/bisq/gui/main/funds/locked/LockedView.java index b1457ca193..9c08434a53 100644 --- a/gui/src/main/java/io/bisq/gui/main/funds/locked/LockedView.java +++ b/gui/src/main/java/io/bisq/gui/main/funds/locked/LockedView.java @@ -30,6 +30,7 @@ import io.bisq.core.trade.TradeManager; import io.bisq.core.user.Preferences; import io.bisq.gui.common.view.ActivatableView; import io.bisq.gui.common.view.FxmlView; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.HyperlinkWithIcon; import io.bisq.gui.main.overlays.windows.OfferDetailsWindow; import io.bisq.gui.main.overlays.windows.TradeDetailsWindow; @@ -96,7 +97,7 @@ public class LockedView extends ActivatableView { balanceColumn.setText(Res.get("shared.balanceWithCur", Res.getBaseCurrencyCode())); tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); - tableView.setPlaceholder(new Label(Res.get("funds.locked.noFunds"))); + tableView.setPlaceholder(new AutoTooltipLabel(Res.get("funds.locked.noFunds"))); setDateColumnCellFactory(); setDetailsColumnCellFactory(); @@ -254,9 +255,9 @@ public class LockedView extends ActivatableView { field.setTooltip(new Tooltip(Res.get("tooltip.openPopupForDetails"))); setGraphic(field); } else if (addressEntry.getContext() == AddressEntry.Context.ARBITRATOR) { - setGraphic(new Label(Res.get("shared.arbitratorsFee"))); + setGraphic(new AutoTooltipLabel(Res.get("shared.arbitratorsFee"))); } else { - setGraphic(new Label(Res.get("shared.noDetailsAvailable"))); + setGraphic(new AutoTooltipLabel(Res.get("shared.noDetailsAvailable"))); } } else { diff --git a/gui/src/main/java/io/bisq/gui/main/funds/reserved/ReservedListItem.java b/gui/src/main/java/io/bisq/gui/main/funds/reserved/ReservedListItem.java index 5dcb31842e..574f90ac26 100644 --- a/gui/src/main/java/io/bisq/gui/main/funds/reserved/ReservedListItem.java +++ b/gui/src/main/java/io/bisq/gui/main/funds/reserved/ReservedListItem.java @@ -22,6 +22,7 @@ import io.bisq.core.btc.listeners.BalanceListener; import io.bisq.core.btc.wallet.BtcWalletService; import io.bisq.core.offer.OpenOffer; import io.bisq.core.trade.Tradable; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.util.BSFormatter; import javafx.scene.control.Label; import org.bitcoinj.core.Address; @@ -48,7 +49,7 @@ class ReservedListItem { addressString = addressEntry.getAddressString(); // balance - balanceLabel = new Label(); + balanceLabel = new AutoTooltipLabel(); balanceListener = new BalanceListener(getAddress()) { @Override public void onBalanceChanged(Coin balance, Transaction tx) { diff --git a/gui/src/main/java/io/bisq/gui/main/funds/reserved/ReservedView.java b/gui/src/main/java/io/bisq/gui/main/funds/reserved/ReservedView.java index 9ff001a46e..9f51431e18 100644 --- a/gui/src/main/java/io/bisq/gui/main/funds/reserved/ReservedView.java +++ b/gui/src/main/java/io/bisq/gui/main/funds/reserved/ReservedView.java @@ -30,6 +30,7 @@ import io.bisq.core.trade.TradeManager; import io.bisq.core.user.Preferences; import io.bisq.gui.common.view.ActivatableView; import io.bisq.gui.common.view.FxmlView; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.HyperlinkWithIcon; import io.bisq.gui.main.overlays.windows.OfferDetailsWindow; import io.bisq.gui.main.overlays.windows.TradeDetailsWindow; @@ -96,7 +97,7 @@ public class ReservedView extends ActivatableView { balanceColumn.setText(Res.get("shared.balanceWithCur", Res.getBaseCurrencyCode())); tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); - tableView.setPlaceholder(new Label(Res.get("funds.reserved.noFunds"))); + tableView.setPlaceholder(new AutoTooltipLabel(Res.get("funds.reserved.noFunds"))); setDateColumnCellFactory(); setDetailsColumnCellFactory(); @@ -253,9 +254,9 @@ public class ReservedView extends ActivatableView { field.setTooltip(new Tooltip(Res.get("tooltip.openPopupForDetails"))); setGraphic(field); } else if (item.getAddressEntry().getContext() == AddressEntry.Context.ARBITRATOR) { - setGraphic(new Label(Res.get("shared.arbitratorsFee"))); + setGraphic(new AutoTooltipLabel(Res.get("shared.arbitratorsFee"))); } else { - setGraphic(new Label(Res.get("shared.noDetailsAvailable"))); + setGraphic(new AutoTooltipLabel(Res.get("shared.noDetailsAvailable"))); } } else { diff --git a/gui/src/main/java/io/bisq/gui/main/funds/transactions/TransactionsView.java b/gui/src/main/java/io/bisq/gui/main/funds/transactions/TransactionsView.java index 3b30adc792..02e7234937 100644 --- a/gui/src/main/java/io/bisq/gui/main/funds/transactions/TransactionsView.java +++ b/gui/src/main/java/io/bisq/gui/main/funds/transactions/TransactionsView.java @@ -37,6 +37,7 @@ import io.bisq.core.user.Preferences; import io.bisq.gui.common.view.ActivatableView; import io.bisq.gui.common.view.FxmlView; import io.bisq.gui.components.AddressWithIconAndDirection; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.HyperlinkWithIcon; import io.bisq.gui.main.overlays.popups.Popup; import io.bisq.gui.main.overlays.windows.OfferDetailsWindow; @@ -137,7 +138,7 @@ public class TransactionsView extends ActivatableView { revertTxColumn.setText(Res.get("shared.revert", Res.getBaseCurrencyCode())); tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); - tableView.setPlaceholder(new Label(Res.get("funds.tx.noTxAvailable"))); + tableView.setPlaceholder(new AutoTooltipLabel(Res.get("funds.tx.noTxAvailable"))); setDateColumnCellFactory(); setDetailsColumnCellFactory(); @@ -383,7 +384,7 @@ public class TransactionsView extends ActivatableView { field.setTooltip(new Tooltip(Res.get("tooltip.openPopupForDetails"))); setGraphic(field); } else { - setGraphic(new Label(item.getDetails())); + setGraphic(new AutoTooltipLabel(item.getDetails())); } } else { setGraphic(null); diff --git a/gui/src/main/java/io/bisq/gui/main/funds/withdrawal/WithdrawalListItem.java b/gui/src/main/java/io/bisq/gui/main/funds/withdrawal/WithdrawalListItem.java index 8fce2ef48f..a9013e5138 100644 --- a/gui/src/main/java/io/bisq/gui/main/funds/withdrawal/WithdrawalListItem.java +++ b/gui/src/main/java/io/bisq/gui/main/funds/withdrawal/WithdrawalListItem.java @@ -21,6 +21,7 @@ import io.bisq.common.locale.Res; import io.bisq.core.btc.AddressEntry; import io.bisq.core.btc.listeners.BalanceListener; import io.bisq.core.btc.wallet.BtcWalletService; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.util.BSFormatter; import javafx.scene.control.Label; import lombok.Getter; @@ -49,7 +50,7 @@ class WithdrawalListItem { addressString = addressEntry.getAddressString(); // balance - balanceLabel = new Label(); + balanceLabel = new AutoTooltipLabel(); balanceListener = new BalanceListener(getAddress()) { @Override public void onBalanceChanged(Coin balance, Transaction tx) { diff --git a/gui/src/main/java/io/bisq/gui/main/funds/withdrawal/WithdrawalView.java b/gui/src/main/java/io/bisq/gui/main/funds/withdrawal/WithdrawalView.java index 4ba9ad7188..e79afd31c3 100644 --- a/gui/src/main/java/io/bisq/gui/main/funds/withdrawal/WithdrawalView.java +++ b/gui/src/main/java/io/bisq/gui/main/funds/withdrawal/WithdrawalView.java @@ -36,6 +36,7 @@ import io.bisq.core.user.Preferences; import io.bisq.core.util.CoinUtil; import io.bisq.gui.common.view.ActivatableView; import io.bisq.gui.common.view.FxmlView; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.HyperlinkWithIcon; import io.bisq.gui.main.overlays.popups.Popup; import io.bisq.gui.main.overlays.windows.WalletPasswordWindow; @@ -148,7 +149,7 @@ public class WithdrawalView extends ActivatableView { selectColumn.setText(Res.get("shared.select")); tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); - tableView.setPlaceholder(new Label(Res.get("funds.withdrawal.noFundsAvailable"))); + tableView.setPlaceholder(new AutoTooltipLabel(Res.get("funds.withdrawal.noFundsAvailable"))); tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); setAddressColumnCellFactory(); diff --git a/gui/src/main/java/io/bisq/gui/main/market/offerbook/OfferBookChartView.java b/gui/src/main/java/io/bisq/gui/main/market/offerbook/OfferBookChartView.java index 1461d935e9..773725e180 100644 --- a/gui/src/main/java/io/bisq/gui/main/market/offerbook/OfferBookChartView.java +++ b/gui/src/main/java/io/bisq/gui/main/market/offerbook/OfferBookChartView.java @@ -26,6 +26,7 @@ import io.bisq.core.offer.OfferPayload; import io.bisq.gui.Navigation; import io.bisq.gui.common.view.ActivatableViewAndModel; import io.bisq.gui.common.view.FxmlView; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.main.MainView; import io.bisq.gui.main.offer.BuyOfferView; import io.bisq.gui.main.offer.SellOfferView; @@ -114,7 +115,7 @@ public class OfferBookChartView extends ActivatableViewAndModel titleLabel.prefWidthProperty().bind(tableView.widthProperty())); diff --git a/gui/src/main/java/io/bisq/gui/main/market/spread/SpreadView.java b/gui/src/main/java/io/bisq/gui/main/market/spread/SpreadView.java index b7d516d37e..5b88656e20 100644 --- a/gui/src/main/java/io/bisq/gui/main/market/spread/SpreadView.java +++ b/gui/src/main/java/io/bisq/gui/main/market/spread/SpreadView.java @@ -21,6 +21,7 @@ import io.bisq.common.locale.CurrencyUtil; import io.bisq.common.locale.Res; import io.bisq.gui.common.view.ActivatableViewAndModel; import io.bisq.gui.common.view.FxmlView; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.util.BSFormatter; import javafx.beans.property.ReadOnlyObjectWrapper; import javafx.collections.ListChangeListener; @@ -65,7 +66,7 @@ public class SpreadView extends ActivatableViewAndModel(); @@ -420,7 +421,7 @@ public class TradesChartsView extends ActivatableViewAndModel priceStringConverter; - private final Label openValue = new Label(); - private final Label closeValue = new Label(); - private final Label highValue = new Label(); - private final Label lowValue = new Label(); - private final Label averageValue = new Label(); - private final Label dateValue = new Label(); + private final Label openValue = new AutoTooltipLabel(); + private final Label closeValue = new AutoTooltipLabel(); + private final Label highValue = new AutoTooltipLabel(); + private final Label lowValue = new AutoTooltipLabel(); + private final Label averageValue = new AutoTooltipLabel(); + private final Label dateValue = new AutoTooltipLabel(); CandleTooltip(StringConverter priceStringConverter) { this.priceStringConverter = priceStringConverter; @@ -60,12 +61,12 @@ public class CandleTooltip extends GridPane { setVgap(2); - Label open = new Label(Res.get("market.trades.tooltip.candle.open")); - Label close = new Label(Res.get("market.trades.tooltip.candle.close")); - Label high = new Label(Res.get("market.trades.tooltip.candle.high")); - Label low = new Label(Res.get("market.trades.tooltip.candle.low")); - Label average = new Label(Res.get("market.trades.tooltip.candle.average")); - Label date = new Label(Res.get("market.trades.tooltip.candle.date")); + Label open = new AutoTooltipLabel(Res.get("market.trades.tooltip.candle.open")); + Label close = new AutoTooltipLabel(Res.get("market.trades.tooltip.candle.close")); + Label high = new AutoTooltipLabel(Res.get("market.trades.tooltip.candle.high")); + Label low = new AutoTooltipLabel(Res.get("market.trades.tooltip.candle.low")); + Label average = new AutoTooltipLabel(Res.get("market.trades.tooltip.candle.average")); + Label date = new AutoTooltipLabel(Res.get("market.trades.tooltip.candle.date")); setConstraints(open, 0, 0); setConstraints(openValue, 1, 0); setConstraints(close, 0, 1); @@ -97,4 +98,4 @@ public class CandleTooltip extends GridPane { averageValue.setText(priceStringConverter.toString(candleData.average)); dateValue.setText(candleData.date); } -} \ No newline at end of file +} diff --git a/gui/src/main/java/io/bisq/gui/main/offer/createoffer/CreateOfferView.java b/gui/src/main/java/io/bisq/gui/main/offer/createoffer/CreateOfferView.java index 9a24ba7022..ed00d4afce 100644 --- a/gui/src/main/java/io/bisq/gui/main/offer/createoffer/CreateOfferView.java +++ b/gui/src/main/java/io/bisq/gui/main/offer/createoffer/CreateOfferView.java @@ -810,7 +810,7 @@ public class CreateOfferView extends ActivatableViewAndModel model.fundFromSavingsWallet()); - Label label = new Label(Res.get("shared.OR")); + Label label = new AutoTooltipLabel(Res.get("shared.OR")); label.setPadding(new Insets(5, 0, 0, 0)); Button fundFromExternalWalletButton = new Button(Res.get("shared.fundFromExternalWalletButton")); fundFromExternalWalletButton.setDefaultButton(false); fundFromExternalWalletButton.setOnAction(e -> GUIUtil.showFeeInfoBeforeExecute(this::openWallet)); waitingForFundsBusyAnimation = new BusyAnimation(); - waitingForFundsLabel = new Label(); + waitingForFundsLabel = new AutoTooltipLabel(); waitingForFundsLabel.setPadding(new Insets(5, 0, 0, 0)); fundingHBox.getChildren().addAll(fundFromSavingsWalletButton, label, fundFromExternalWalletButton, waitingForFundsBusyAnimation, waitingForFundsLabel); @@ -1034,7 +1034,7 @@ public class CreateOfferView extends ActivatableViewAndModel amountInputBoxTuple = getTradeInputBox(amountValueCurrencyBox, Res.get("createOffer.amountPriceBox.minAmountDescription")); - Label xLabel = new Label("x"); + Label xLabel = new AutoTooltipLabel("x"); xLabel.setFont(Font.font("Helvetica-Bold", 20)); xLabel.setPadding(new Insets(14, 3, 0, 3)); xLabel.setVisible(false); // we just use it to get the same layout as the upper row @@ -1236,7 +1236,7 @@ public class CreateOfferView extends ActivatableViewAndModel o1.getOffer().getPaymentMethod().compareTo(o2.getOffer().getPaymentMethod())); avatarColumn.setComparator((o1, o2) -> o1.getOffer().getOwnerNodeAddress().getFullAddress().compareTo(o2.getOffer().getOwnerNodeAddress().getFullAddress())); - nrOfOffersLabel = new Label(""); + nrOfOffersLabel = new AutoTooltipLabel(""); nrOfOffersLabel.setId("num-offers"); GridPane.setHalignment(nrOfOffersLabel, HPos.LEFT); GridPane.setVgrow(nrOfOffersLabel, Priority.NEVER); diff --git a/gui/src/main/java/io/bisq/gui/main/offer/takeoffer/TakeOfferView.java b/gui/src/main/java/io/bisq/gui/main/offer/takeoffer/TakeOfferView.java index 4b20c61ea9..eec2a448ca 100644 --- a/gui/src/main/java/io/bisq/gui/main/offer/takeoffer/TakeOfferView.java +++ b/gui/src/main/java/io/bisq/gui/main/offer/takeoffer/TakeOfferView.java @@ -702,7 +702,7 @@ public class TakeOfferView extends ActivatableViewAndModel model.fundFromSavingsWallet()); - Label label = new Label(Res.get("shared.OR")); + Label label = new AutoTooltipLabel(Res.get("shared.OR")); label.setPadding(new Insets(5, 0, 0, 0)); Button fundFromExternalWalletButton = new Button(Res.get("shared.fundFromExternalWalletButton")); fundFromExternalWalletButton.setDefaultButton(false); fundFromExternalWalletButton.setOnAction(e -> GUIUtil.showFeeInfoBeforeExecute(this::openWallet)); waitingForFundsBusyAnimation = new BusyAnimation(false); - waitingForFundsLabel = new Label(); + waitingForFundsLabel = new AutoTooltipLabel(); waitingForFundsLabel.setPadding(new Insets(5, 0, 0, 0)); fundingHBox.getChildren().addAll(fundFromSavingsWalletButton, label, @@ -908,7 +908,7 @@ public class TakeOfferView extends ActivatableViewAndModel amountInputBoxTuple = getTradeInputBox(amountValueCurrencyBox, Res.get("takeOffer.amountPriceBox.amountRangeDescription")); - Label xLabel = new Label("x"); + Label xLabel = new AutoTooltipLabel("x"); xLabel.setFont(Font.font("Helvetica-Bold", 20)); xLabel.setPadding(new Insets(14, 3, 0, 3)); xLabel.setVisible(false); // we just use it to get the same layout as the upper row @@ -992,7 +992,7 @@ public class TakeOfferView extends ActivatableViewAndModel getTradeInputBox(HBox amountValueBox, String promptText) { - Label descriptionLabel = new Label(promptText); + Label descriptionLabel = new AutoTooltipLabel(promptText); descriptionLabel.setId("input-description-label"); descriptionLabel.setPrefWidth(190); @@ -1045,7 +1045,7 @@ public class TakeOfferView extends ActivatableViewAndModel { gridPane.getChildren().add(qrCodeImageView); String request = bitcoinURI.replace("%20", " ").replace("?", "\n?").replace("&", "\n&"); - Label infoLabel = new Label(Res.get("qRCodeWindow.request", request)); + Label infoLabel = new AutoTooltipLabel(Res.get("qRCodeWindow.request", request)); infoLabel.setMouseTransparent(true); infoLabel.setWrapText(true); infoLabel.setId("popup-qr-code-info"); diff --git a/gui/src/main/java/io/bisq/gui/main/overlays/windows/UnlockArbitrationRegistrationWindow.java b/gui/src/main/java/io/bisq/gui/main/overlays/windows/UnlockArbitrationRegistrationWindow.java index 9de0ec66b3..739804a86c 100644 --- a/gui/src/main/java/io/bisq/gui/main/overlays/windows/UnlockArbitrationRegistrationWindow.java +++ b/gui/src/main/java/io/bisq/gui/main/overlays/windows/UnlockArbitrationRegistrationWindow.java @@ -19,6 +19,7 @@ package io.bisq.gui.main.overlays.windows; import io.bisq.common.app.DevEnv; import io.bisq.common.locale.Res; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.InputTextField; import io.bisq.gui.main.overlays.Overlay; import io.bisq.gui.main.overlays.popups.Popup; @@ -103,7 +104,7 @@ public class UnlockArbitrationRegistrationWindow extends Overlay { } private void addInputFields() { - Label label = new Label(Res.get("password.enterPassword")); + Label label = new AutoTooltipLabel(Res.get("password.enterPassword")); label.setWrapText(true); GridPane.setMargin(label, new Insets(3, 0, 0, 0)); GridPane.setRowIndex(label, ++rowIndex); @@ -177,7 +178,7 @@ public class WalletPasswordWindow extends Overlay { private void addButtons() { BusyAnimation busyAnimation = new BusyAnimation(false); - Label deriveStatusLabel = new Label(); + Label deriveStatusLabel = new AutoTooltipLabel(); unlockButton = new Button(Res.get("shared.unlock")); unlockButton.setDefaultButton(true); @@ -244,7 +245,7 @@ public class WalletPasswordWindow extends Overlay { } private void showRestoreScreen() { - Label headLine2Label = new Label(Res.get("seed.restore.title")); + Label headLine2Label = new AutoTooltipLabel(Res.get("seed.restore.title")); headLine2Label.setId("popup-headline"); headLine2Label.setMouseTransparent(true); GridPane.setHalignment(headLine2Label, HPos.LEFT); diff --git a/gui/src/main/java/io/bisq/gui/main/overlays/windows/downloadupdate/DisplayUpdateDownloadWindow.java b/gui/src/main/java/io/bisq/gui/main/overlays/windows/downloadupdate/DisplayUpdateDownloadWindow.java index 0a41990e42..771ed9cd34 100644 --- a/gui/src/main/java/io/bisq/gui/main/overlays/windows/downloadupdate/DisplayUpdateDownloadWindow.java +++ b/gui/src/main/java/io/bisq/gui/main/overlays/windows/downloadupdate/DisplayUpdateDownloadWindow.java @@ -21,6 +21,7 @@ import com.google.common.base.Joiner; import io.bisq.common.locale.Res; import io.bisq.common.util.Utilities; import io.bisq.core.alert.Alert; +import io.bisq.gui.components.AutoTooltipLabel; import io.bisq.gui.components.BusyAnimation; import io.bisq.gui.main.overlays.Overlay; import io.bisq.gui.main.overlays.popups.Popup; @@ -108,7 +109,7 @@ public class DisplayUpdateDownloadWindow extends Overlay @@ -303,14 +304,14 @@ public class PreferencesView extends ActivatableViewAndModel, ListCell>() { @Override public ListCell call(ListView list) { return new ListCell() { - final Label label = new Label(); + final Label label = new AutoTooltipLabel(); final ImageView icon = ImageUtil.getImageViewById(ImageUtil.REMOVE_ICON); final Button removeButton = new Button("", icon); final AnchorPane pane = new AnchorPane(label, removeButton); @@ -354,7 +355,7 @@ public class PreferencesView extends ActivatableViewAndModel, ListCell>() { @@ -449,12 +450,12 @@ public class PreferencesView extends ActivatableViewAndModel baseCurrencyNetworks = Arrays.asList(BaseCurrencyNetwork.values()); - // We don't support DOGE anymore due lack of interest but leave it in the code in case it will get + // We don't support DOGE anymore due lack of interest but leave it in the code in case it will get // re-activated some day baseCurrencyNetworks = baseCurrencyNetworks.stream() .filter(e -> !e.isDoge()) .collect(Collectors.toList()); - + // show ony mainnet in production version if (!DevEnv.DEV_MODE) baseCurrencyNetworks = baseCurrencyNetworks.stream()