diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml
index a55f42f1..abcc9ab2 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/update.xml
+++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml
@@ -3169,7 +3169,11 @@
IMPROVEMENT
Improved rendering precision, especially when using metric units
-
+
+
+ IMPROVEMENT
+ Shorten donation label when the window is smaller
+
NEW_FEATURE
On MacOS the app registers to open .DIY files
diff --git a/diylc/diylc-swing/build.xml b/diylc/diylc-swing/build.xml
index ba0e7b11..44584ff4 100644
--- a/diylc/diylc-swing/build.xml
+++ b/diylc/diylc-swing/build.xml
@@ -10,7 +10,7 @@
-
+
diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/ActionBarPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/ActionBarPlugin.java
index 9994f095..35c86f1d 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/ActionBarPlugin.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/gui/actionbar/ActionBarPlugin.java
@@ -22,6 +22,8 @@ import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.EnumSet;
@@ -29,6 +31,8 @@ import java.util.EnumSet;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
+import javax.swing.JRootPane;
+import javax.swing.SwingUtilities;
import org.diylc.appframework.miscutils.Utils;
import org.diylc.common.EventType;
@@ -57,6 +61,7 @@ public class ActionBarPlugin implements IPlugIn {
private JLabel donateLabel;
private static final String DONATE_HTML = "" + LangUtil.translate("Enjoying DIYLC? Click here to buy me a coffee :)") + "";
+ private static final String DONATE_HTML_SHORT = "" + LangUtil.translate("Donate") + "";
public ActionBarPlugin(ISwingUI swingUI) {
this.swingUI = swingUI;
@@ -104,7 +109,26 @@ public class ActionBarPlugin implements IPlugIn {
donateLabel = new JLabel(DONATE_HTML);
donateLabel.setForeground(Color.blue);
donateLabel.setIcon(IconLoader.Donate.getIcon());
- donateLabel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
+ donateLabel.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
+ this.swingUI.getOwnerFrame().addComponentListener(new ComponentAdapter() {
+
+ @Override
+ public void componentShown(ComponentEvent e) {
+ JRootPane rootPane = SwingUtilities.getRootPane(donateLabel);
+ rootPane.addComponentListener(new ComponentAdapter() {
+ @Override
+ public void componentResized(ComponentEvent e) {
+ if (rootPane.getWidth() < 920) {
+ if (!DONATE_HTML_SHORT.equals(donateLabel.getText()))
+ donateLabel.setText(DONATE_HTML_SHORT);
+ } else {
+ if (!DONATE_HTML.equals(donateLabel.getText()))
+ donateLabel.setText(DONATE_HTML);
+ }
+ }
+ });
+ }
+ });
donateLabel.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {