diff options
author | Simon Rettberg | 2017-01-13 13:24:19 +0100 |
---|---|---|
committer | Simon Rettberg | 2017-01-13 13:24:19 +0100 |
commit | 6d4599b636e959af36b49dfeca691aa33eba7d79 (patch) | |
tree | 94360d5520b0e3f5fd1537b6785d8e0f2deeec5d | |
parent | [server] Reset delete-state to KEEP on setExpiryDate() (diff) | |
download | tutor-module-6d4599b636e959af36b49dfeca691aa33eba7d79.tar.gz tutor-module-6d4599b636e959af36b49dfeca691aa33eba7d79.tar.xz tutor-module-6d4599b636e959af36b49dfeca691aa33eba7d79.zip |
[client] Make update notification a bit more noticeable; add "open update window" button to it
4 files changed, 28 insertions, 13 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/UpdatePanel.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/UpdatePanel.java index 8f89bca3..3e6ca7ff 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/UpdatePanel.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/UpdatePanel.java @@ -3,46 +3,61 @@ package org.openslx.dozmod.gui.activity; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; -import javax.swing.JLabel; import javax.swing.JPanel; +import javax.swing.SwingUtilities; +import org.openslx.dozmod.gui.Gui; import org.openslx.dozmod.gui.control.QLabel; +import org.openslx.dozmod.gui.window.CheckUpdateWindow; import org.openslx.dozmod.util.OpenLinks; import org.openslx.dozmod.util.OpenLinks.Link; public class UpdatePanel extends ActivityPanel implements ActionListener { + private static final long serialVersionUID = 1L; + protected JPanel header; - protected JLabel lblInfo; + protected QLabel lblInfo; protected final JButton btnLink; + protected final JButton btnDetails; protected final JButton btnClose; + @Override public boolean wantConfirmQuit() { return false; } - + public UpdatePanel(final String newVersion) { super(); - + setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS)); // Header: Neue Version verfügbar: <newVersion> [Button] header = new JPanel(); header.setLayout(new BoxLayout(header, BoxLayout.LINE_AXIS)); - lblInfo = new QLabel("Neue Version verfügbar: " + newVersion); + lblInfo = new QLabel("Neue Version verfügbar: " + newVersion, Gui.getScaledIconResource("/img/upload-icon.png", "!", 32, this), QLabel.LEFT); header.add(lblInfo); header.add(Box.createHorizontalGlue()); - btnLink = new JButton("Im Browser öffnen"); - btnClose = new JButton("Schließen"); + btnLink = new JButton("Im Browser öffnen", Gui.getScaledIconResource("/img/download-icon.png", "!", 24, this)); + btnDetails = new JButton("Changelog", Gui.getScaledIconResource("/img/info-icon.png", "?", 24, this)); + btnClose = new JButton("Schließen", Gui.getScaledIconResource("/img/delete-icon.png", "X", 24, this)); btnLink.addActionListener(this); btnClose.addActionListener(this); header.add(btnLink); + header.add(btnDetails); header.add(btnClose); add(header); + + btnDetails.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + CheckUpdateWindow.open(SwingUtilities.getWindowAncestor(UpdatePanel.this)); + } + }); } + @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == btnLink) { diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/CheckUpdateWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/CheckUpdateWindow.java index c2e31435..0a0f5883 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/CheckUpdateWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/CheckUpdateWindow.java @@ -1,6 +1,6 @@ package org.openslx.dozmod.gui.window; -import java.awt.Frame; +import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -17,7 +17,7 @@ public class CheckUpdateWindow extends CheckUpdateWindowLayout implements UiFeed private final static Logger LOGGER = Logger.getLogger(CheckUpdateWindow.class); - public CheckUpdateWindow(Frame modalParent) { + public CheckUpdateWindow(Window modalParent) { super(modalParent); btnClose.addActionListener(this); @@ -42,7 +42,7 @@ public class CheckUpdateWindow extends CheckUpdateWindowLayout implements UiFeed } } - public static void open(Frame modalParent) { + public static void open(Window modalParent) { new CheckUpdateWindow(modalParent).setVisible(true); } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/CheckUpdateWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/CheckUpdateWindowLayout.java index cf6dbab2..9c20e88c 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/CheckUpdateWindowLayout.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/CheckUpdateWindowLayout.java @@ -1,7 +1,7 @@ package org.openslx.dozmod.gui.window.layout; import java.awt.BorderLayout; -import java.awt.Frame; +import java.awt.Window; import javax.swing.BorderFactory; import javax.swing.Box; @@ -33,7 +33,7 @@ public abstract class CheckUpdateWindowLayout extends JDialog { protected final JTextArea txtChangelog; - public CheckUpdateWindowLayout(Frame modalParent) { + public CheckUpdateWindowLayout(Window modalParent) { super(modalParent, title, modalParent != null ? ModalityType.APPLICATION_MODAL : ModalityType.MODELESS); setLayout(new BorderLayout()); diff --git a/dozentenmodul/src/main/resources/img/info-icon.png b/dozentenmodul/src/main/resources/img/info-icon.png Binary files differnew file mode 100644 index 00000000..622adaa1 --- /dev/null +++ b/dozentenmodul/src/main/resources/img/info-icon.png |