summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2019-10-15 15:14:34 +0200
committerSimon Rettberg2019-10-15 15:14:34 +0200
commit915bf9c68c728d4a3fed8a82ebc01c8b28591adb (patch)
treed3cc87369d9f268bd9033608508d9e3b41d945d7
parent[client] Change update-button text in login mask if update is available (diff)
downloadtutor-module-915bf9c68c728d4a3fed8a82ebc01c8b28591adb.tar.gz
tutor-module-915bf9c68c728d4a3fed8a82ebc01c8b28591adb.tar.xz
tutor-module-915bf9c68c728d4a3fed8a82ebc01c8b28591adb.zip
[client] LoginWindow: Show same update notification as in main window
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/activity/UpdatePanel.java6
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LoginWindow.java13
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java12
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java6
4 files changed, 23 insertions, 14 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 46290a83..41b53302 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
@@ -31,8 +31,11 @@ public class UpdatePanel extends ActivityPanel implements ActionListener {
}
public UpdatePanel(final String newVersion) {
+ this(newVersion, true);
+ }
+
+ public UpdatePanel(final String newVersion, boolean allowClose) {
super();
-
setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
// Header: Neue Version verfügbar: <newVersion> [Button]
header = new JPanel();
@@ -56,6 +59,7 @@ public class UpdatePanel extends ActivityPanel implements ActionListener {
CheckUpdateWindow.open(SwingUtilities.getWindowAncestor(UpdatePanel.this));
}
});
+ btnClose.setEnabled(allowClose);
}
@Override
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LoginWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LoginWindow.java
index 6d9d4de4..a6601ea7 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LoginWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LoginWindow.java
@@ -152,6 +152,7 @@ public class LoginWindow extends LoginWindowLayout {
@Override
public void run() {
populateIdpCombo(orgs);
+ LoginWindow.this.validate();
LoginWindow.this.pack();
enableLogin(true);
}
@@ -199,13 +200,6 @@ public class LoginWindow extends LoginWindowLayout {
DesktopEnvironment.openLocal(new File(Config.getPath()));
}
});
-
- btnUpdateCheck.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- CheckUpdateWindow.open(SwingUtilities.getWindowAncestor(btnUpdateCheck));
- }
- });
txtUsername.getDocument().addDocumentListener(new TextChangeListener() {
@Override
@@ -240,7 +234,10 @@ public class LoginWindow extends LoginWindowLayout {
Gui.asyncExec(new Runnable() {
@Override
public void run() {
- btnUpdateCheck.setText("!! UPDATE !!");
+ pnlActivity.add(new UpdatePanel(ClientVersion.getRemoteRevision(), false));
+ pnlActivity.setVisible(true);
+ LoginWindow.this.validate();
+ LoginWindow.this.pack();
}
});
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java
index e5970b9f..0264da11 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java
@@ -14,6 +14,7 @@ import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
+import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
@@ -70,7 +71,7 @@ public abstract class LoginWindowLayout extends JDialog {
// advanced panel
protected final JButton btnSettings;
protected final JButton btnLogDir;
- protected final JButton btnUpdateCheck;
+ protected final JPanel pnlActivity;
/**
* Create a new login composite
@@ -92,7 +93,6 @@ public abstract class LoginWindowLayout extends JDialog {
rdoLoginType[2] = new JRadioButton("Direkter Zugang zum Satelliten");
btnSettings = new JButton("Einstellungen");
btnLogDir = new JButton("Logverzeichnis");
- btnUpdateCheck = new JButton("Update");
cboOrganization = new ComboBox<>(new ComboBoxRenderer<Organization>() {
@Override
@@ -121,6 +121,13 @@ public abstract class LoginWindowLayout extends JDialog {
pnlAdvanced = makeAdvancedPanel();
grid.add(pnlAdvanced).expand(true, true).fill(true, true);
+
+ grid.nextRow();
+ pnlActivity = new JPanel();
+ pnlActivity.setLayout(new BoxLayout(pnlActivity, BoxLayout.PAGE_AXIS));
+ pnlActivity.setVisible(false);
+ pnlActivity.add(new JSeparator());
+ grid.add(pnlActivity, 2).expand(true, false).fill(true, true);
grid.finish(false);
@@ -175,7 +182,6 @@ public abstract class LoginWindowLayout extends JDialog {
p.setBorder(new TitledBorder(ADVANCED_LABEL));
p.add(btnSettings);
p.add(btnLogDir);
- p.add(btnUpdateCheck);
return p;
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java
index 365d1796..e7eb31c3 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java
@@ -186,10 +186,12 @@ public class ClientVersion {
if (remoteThread == null)
return;
try {
- remoteThread.join();
+ remoteThread.join(5000);
} catch (InterruptedException e) {
}
- remoteThread = null;
+ if (!remoteThread.isAlive()) {
+ remoteThread = null;
+ }
}
/**