Merge branch 'master' of github.com:Qortal/qortal
@ -25,6 +25,12 @@ public class CrossChainTradeSummary {
|
||||
@XmlJavaTypeAdapter(value = org.qortal.api.AmountTypeAdapter.class)
|
||||
private long foreignAmount;
|
||||
|
||||
private String atAddress;
|
||||
|
||||
private String sellerAddress;
|
||||
|
||||
private String buyerReceivingAddress;
|
||||
|
||||
protected CrossChainTradeSummary() {
|
||||
/* For JAXB */
|
||||
}
|
||||
@ -34,6 +40,9 @@ public class CrossChainTradeSummary {
|
||||
this.qortAmount = crossChainTradeData.qortAmount;
|
||||
this.foreignAmount = crossChainTradeData.expectedForeignAmount;
|
||||
this.btcAmount = this.foreignAmount;
|
||||
this.sellerAddress = crossChainTradeData.qortalCreator;
|
||||
this.buyerReceivingAddress = crossChainTradeData.qortalPartnerReceivingAddress;
|
||||
this.atAddress = crossChainTradeData.qortalAtAddress;
|
||||
}
|
||||
|
||||
public long getTradeTimestamp() {
|
||||
@ -48,7 +57,11 @@ public class CrossChainTradeSummary {
|
||||
return this.btcAmount;
|
||||
}
|
||||
|
||||
public long getForeignAmount() {
|
||||
return this.foreignAmount;
|
||||
}
|
||||
public long getForeignAmount() { return this.foreignAmount; }
|
||||
|
||||
public String getAtAddress() { return this.atAddress; }
|
||||
|
||||
public String getSellerAddress() { return this.sellerAddress; }
|
||||
|
||||
public String getBuyerReceivingAddressAddress() { return this.buyerReceivingAddress; }
|
||||
}
|
||||
|
@ -854,6 +854,7 @@ public class Controller extends Thread {
|
||||
private void updateSysTray() {
|
||||
if (NTP.getTime() == null) {
|
||||
SysTray.getInstance().setToolTipText(Translator.INSTANCE.translate("SysTray", "SYNCHRONIZING_CLOCK"));
|
||||
SysTray.getInstance().setTrayIcon(1);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -867,14 +868,22 @@ public class Controller extends Thread {
|
||||
String actionText;
|
||||
|
||||
synchronized (this.syncLock) {
|
||||
if (this.isMintingPossible)
|
||||
if (this.isMintingPossible) {
|
||||
actionText = Translator.INSTANCE.translate("SysTray", "MINTING_ENABLED");
|
||||
else if (this.isSynchronizing)
|
||||
SysTray.getInstance().setTrayIcon(2);
|
||||
}
|
||||
else if (this.isSynchronizing) {
|
||||
actionText = String.format("%s - %d%%", Translator.INSTANCE.translate("SysTray", "SYNCHRONIZING_BLOCKCHAIN"), this.syncPercent);
|
||||
else if (numberOfPeers < Settings.getInstance().getMinBlockchainPeers())
|
||||
SysTray.getInstance().setTrayIcon(3);
|
||||
}
|
||||
else if (numberOfPeers < Settings.getInstance().getMinBlockchainPeers()) {
|
||||
actionText = Translator.INSTANCE.translate("SysTray", "CONNECTING");
|
||||
else
|
||||
SysTray.getInstance().setTrayIcon(3);
|
||||
}
|
||||
else {
|
||||
actionText = Translator.INSTANCE.translate("SysTray", "MINTING_DISABLED");
|
||||
SysTray.getInstance().setTrayIcon(4);
|
||||
}
|
||||
}
|
||||
|
||||
String tooltip = String.format("%s - %d %s - %s %d", actionText, numberOfPeers, connectionsText, heightText, height) + "\n" + String.format("Build version: %s", this.buildVersion);
|
||||
|
@ -1,15 +1,11 @@
|
||||
package org.qortal.gui;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Image;
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.image.BufferedImage;
|
||||
|
||||
import javax.swing.JDialog;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.*;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
@ -19,46 +15,53 @@ public class SplashFrame {
|
||||
protected static final Logger LOGGER = LogManager.getLogger(SplashFrame.class);
|
||||
|
||||
private static SplashFrame instance;
|
||||
private JDialog splashDialog;
|
||||
private JFrame splashDialog;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public static class SplashPanel extends JPanel {
|
||||
private BufferedImage image;
|
||||
|
||||
private String defaultSplash = "Qlogo_512.png";
|
||||
|
||||
public SplashPanel() {
|
||||
image = Gui.loadImage("splash.png");
|
||||
this.setPreferredSize(new Dimension(image.getWidth(), image.getHeight()));
|
||||
this.setLayout(new BorderLayout());
|
||||
image = Gui.loadImage(defaultSplash);
|
||||
|
||||
setOpaque(false);
|
||||
setLayout(new GridBagLayout());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void paintComponent(Graphics g) {
|
||||
super.paintComponent(g);
|
||||
g.drawImage(image, 0, 0, null);
|
||||
g.drawImage(image, 0, 0, getWidth(), getHeight(), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension getPreferredSize() {
|
||||
return new Dimension(500, 500);
|
||||
}
|
||||
}
|
||||
|
||||
private SplashFrame() {
|
||||
this.splashDialog = new JDialog();
|
||||
this.splashDialog = new JFrame();
|
||||
|
||||
List<Image> icons = new ArrayList<>();
|
||||
icons.add(Gui.loadImage("icons/icon16.png"));
|
||||
icons.add(Gui.loadImage("icons/icon32.png"));
|
||||
icons.add(Gui.loadImage("icons/icon32c.png"));
|
||||
icons.add(Gui.loadImage("icons/icon32m.png"));
|
||||
icons.add(Gui.loadImage("icons/icon32n.png"));
|
||||
icons.add(Gui.loadImage("icons/icon64.png"));
|
||||
icons.add(Gui.loadImage("icons/icon128.png"));
|
||||
this.splashDialog.setIconImages(icons);
|
||||
|
||||
this.splashDialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
|
||||
this.splashDialog.setTitle("qortal");
|
||||
this.splashDialog.setContentPane(new SplashPanel());
|
||||
|
||||
this.splashDialog.getContentPane().add(new SplashPanel());
|
||||
this.splashDialog.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
||||
this.splashDialog.setUndecorated(true);
|
||||
this.splashDialog.setModal(false);
|
||||
this.splashDialog.pack();
|
||||
this.splashDialog.setLocationRelativeTo(null);
|
||||
this.splashDialog.toFront();
|
||||
this.splashDialog.setBackground(new Color(0,0,0,0));
|
||||
this.splashDialog.setVisible(true);
|
||||
this.splashDialog.repaint();
|
||||
}
|
||||
|
||||
public static SplashFrame getInstance() {
|
||||
|
@ -289,6 +289,25 @@ public class SysTray {
|
||||
this.trayIcon.setToolTip(text);
|
||||
}
|
||||
|
||||
public void setTrayIcon(int iconid) {
|
||||
if (trayIcon != null) {
|
||||
switch (iconid) {
|
||||
case 1:
|
||||
this.trayIcon.setImage(Gui.loadImage("icons/icon32c.png"));
|
||||
break;
|
||||
case 2:
|
||||
this.trayIcon.setImage(Gui.loadImage("icons/icon32m.png"));
|
||||
break;
|
||||
case 3:
|
||||
this.trayIcon.setImage(Gui.loadImage("icons/icon32n.png"));
|
||||
break;
|
||||
case 4:
|
||||
this.trayIcon.setImage(Gui.loadImage("icons/icon32.png"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
if (trayIcon != null)
|
||||
SystemTray.getSystemTray().remove(this.trayIcon);
|
||||
|
BIN
src/main/resources/images/Qlogo_512.png
Normal file
After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 694 B |
BIN
src/main/resources/images/icons/icon32c.png
Normal file
After Width: | Height: | Size: 987 B |
BIN
src/main/resources/images/icons/icon32m.png
Normal file
After Width: | Height: | Size: 762 B |
BIN
src/main/resources/images/icons/icon32n.png
Normal file
After Width: | Height: | Size: 676 B |
0
src/main/resources/images/splash.png
Executable file → Normal file
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |