summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java
diff options
context:
space:
mode:
authorSimon Rettberg2015-10-05 14:09:19 +0200
committerSimon Rettberg2015-10-05 14:09:19 +0200
commit60a8be0b0929eff63db610558181778e646981eb (patch)
tree01ebc7983c9e5e7aacdeefb5b59e41d3f7e5b306 /dozentenmodul/src/main/java
parentMerge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1 (diff)
downloadtutor-module-60a8be0b0929eff63db610558181778e646981eb.tar.gz
tutor-module-60a8be0b0929eff63db610558181778e646981eb.tar.xz
tutor-module-60a8be0b0929eff63db610558181778e646981eb.zip
[client] Show satellite selection dialog again if connect failed but login succeeded
Diffstat (limited to 'dozentenmodul/src/main/java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LoginWindow.java22
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/SatelliteListWindow.java35
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/SatelliteListWindowLayout.java9
4 files changed, 51 insertions, 19 deletions
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 fc7d6ca4..33bcdf5b 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
@@ -7,7 +7,6 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
-import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
@@ -131,7 +130,7 @@ public class LoginWindow extends LoginWindowLayout {
if (savedLoginType == LoginType.ECP) {
// disable login button til the idp list is here
- loginButton.setEnabled(false);
+ enableLogin(false);
}
// While filling, disable
idpCombo.setEnabled(false);
@@ -166,7 +165,7 @@ public class LoginWindow extends LoginWindowLayout {
@Override
public void run() {
populateIdpCombo(orgs);
- loginButton.setEnabled(true);
+ enableLogin(true);
}
});
}
@@ -348,7 +347,7 @@ public class LoginWindow extends LoginWindowLayout {
Gui.showMessageBox(me, "Internal error!", MessageType.ERROR, LOGGER, null);
break;
}
- loginButton.setEnabled(true);
+ enableLogin(true);
}
};
@@ -369,7 +368,7 @@ public class LoginWindow extends LoginWindowLayout {
return;
}
- loginButton.setEnabled(false);
+ enableLogin(false);
final String finalUsername = username;
QuickTimer.scheduleOnce(new Task() {
@Override
@@ -385,7 +384,7 @@ public class LoginWindow extends LoginWindowLayout {
Gui.showMessageBox(LoginWindow.this, "Anmeldung fehlgeschlagen", MessageType.ERROR,
LOGGER, e);
}
- loginButton.setEnabled(true);
+ enableLogin(true);
}
});
}
@@ -412,7 +411,16 @@ public class LoginWindow extends LoginWindowLayout {
dispose();
return;
}
- loginButton.setEnabled(true);
+ enableLogin(true);
+ }
+
+ private void enableLogin(boolean enable) {
+ loginButton.setEnabled(enable);
+ usernameField.setEnabled(enable);
+ passwordField.setEnabled(enable);
+ loginTypePanel.setEnabled(enable);
+ loginFormPanel.setEnabled(enable);
+ saveUsernameCheck.setEnabled(enable);
}
/**
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/SatelliteListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/SatelliteListWindow.java
index 566cc99e..c4e02306 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/SatelliteListWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/SatelliteListWindow.java
@@ -16,14 +16,16 @@ import org.openslx.bwlp.thrift.iface.Satellite;
import org.openslx.bwlp.thrift.iface.UserInfo;
import org.openslx.dozmod.Config;
import org.openslx.dozmod.gui.Gui;
+import org.openslx.dozmod.gui.Gui.GuiCallable;
import org.openslx.dozmod.gui.helper.MessageType;
+import org.openslx.dozmod.gui.helper.UiFeedback;
import org.openslx.dozmod.gui.window.layout.SatelliteListWindowLayout;
/**
* Window for selecting an available satellite or setting custom ip.
*/
@SuppressWarnings("serial")
-public class SatelliteListWindow extends SatelliteListWindowLayout {
+public class SatelliteListWindow extends SatelliteListWindowLayout implements UiFeedback {
private Satellite satellite = null;
@@ -31,10 +33,7 @@ public class SatelliteListWindow extends SatelliteListWindowLayout {
public void userAdded(UserInfo user, SatelliteListWindow window);
}
- /**
- * Don't use this, use the static function open instead.
- */
- public SatelliteListWindow(final Window modalParent, List<Satellite> satList) {
+ private SatelliteListWindow(final Window modalParent, List<Satellite> satList) {
super(modalParent, satList);
// Prepare doubleclick listener
MouseListener radioDoubleClick = new MouseAdapter() {
@@ -88,6 +87,13 @@ public class SatelliteListWindow extends SatelliteListWindowLayout {
}
radioCustomIp.addActionListener(listener);
+ // Cancel button
+ cancelButton.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ dispose();
+ }
+ });
// Continue button
nextButton.addActionListener(new ActionListener() {
@Override
@@ -142,8 +148,23 @@ public class SatelliteListWindow extends SatelliteListWindowLayout {
* @param satList The list of satellites to display.
* @return satellite with address to use, or null on error/cancel
*/
- public static Satellite open(Window modalParent, List<Satellite> satList) {
- return new SatelliteListWindow(modalParent, satList).runAndReturn();
+ public static Satellite open(final Window modalParent, final List<Satellite> satList) {
+ return Gui.syncExec(new GuiCallable<Satellite>() {
+ @Override
+ public Satellite run() {
+ return new SatelliteListWindow(modalParent, satList).runAndReturn();
+ }
+ });
+ }
+
+ @Override
+ public boolean wantConfirmQuit() {
+ return false;
+ }
+
+ @Override
+ public void escapePressed() {
+ dispose();
}
}
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 aec1a844..fd5d71ad 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
@@ -59,6 +59,7 @@ public abstract class LoginWindowLayout extends JDialog {
protected final JPasswordField passwordField;
protected final JCheckBox saveUsernameCheck;
protected final JButton loginButton;
+ protected final JPanel loginTypePanel;
protected final JPanel loginFormPanel;
/**
@@ -98,7 +99,8 @@ public abstract class LoginWindowLayout extends JDialog {
loginButton = new JButton("Login");
saveUsernameCheck = new JCheckBox("Benutzername speichern");
- grid.add(makeLoginTypePanel()).expand(0.25, 1).fill(true, true);
+ loginTypePanel = makeLoginTypePanel();
+ grid.add(loginTypePanel).expand(0.25, 1).fill(true, true);
loginFormPanel = makeLoginFormPanel();
grid.add(loginFormPanel).expand(0.75, 1).fill(true, true);
grid.nextRow();
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/SatelliteListWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/SatelliteListWindowLayout.java
index 399a9241..dd71352f 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/SatelliteListWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/SatelliteListWindowLayout.java
@@ -1,7 +1,6 @@
package org.openslx.dozmod.gui.window.layout;
import java.awt.BorderLayout;
-import java.awt.Dimension;
import java.awt.Window;
import java.util.HashMap;
import java.util.List;
@@ -23,6 +22,7 @@ import org.openslx.dozmod.gui.helper.GridManager;
@SuppressWarnings("serial")
public class SatelliteListWindowLayout extends JDialog {
+ protected final JButton cancelButton;
protected final JButton nextButton;
protected final JTextField customIpField;
protected final JRadioButton radioCustomIp;
@@ -34,7 +34,7 @@ public class SatelliteListWindowLayout extends JDialog {
super(modalParent, title, modalParent != null ? ModalityType.APPLICATION_MODAL
: ModalityType.MODELESS);
JPanel radioPanel = new JPanel();
- radioPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
+ radioPanel.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3));
GridManager selectionPanelGrid = new GridManager(radioPanel, 2);
ButtonGroup btnGroup = new ButtonGroup();
@@ -69,9 +69,10 @@ public class SatelliteListWindowLayout extends JDialog {
// --------------- button panel --------------------------------------
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new BoxLayout(buttonPane, BoxLayout.LINE_AXIS));
- buttonPane.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
+ buttonPane.setBorder(BorderFactory.createEmptyBorder(1, 3, 3, 3));
+ cancelButton = new JButton("Abbrechen");
+ buttonPane.add(cancelButton);
buttonPane.add(Box.createHorizontalGlue());
- buttonPane.add(Box.createRigidArea(new Dimension(10, 0)));
nextButton = new JButton("Weiter");
buttonPane.add(nextButton);
// --------------- end button panel ----------------------------------