summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
diff options
context:
space:
mode:
authorJonathan Bauer2015-08-24 17:09:11 +0200
committerJonathan Bauer2015-08-24 17:09:11 +0200
commit16f14d99e4b7dd011c7bbe73b77c018fce56d069 (patch)
tree694c0d5136758aac9032208327b0b11b5000906a /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
parentMerge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1 (diff)
downloadtutor-module-16f14d99e4b7dd011c7bbe73b77c018fce56d069.tar.gz
tutor-module-16f14d99e4b7dd011c7bbe73b77c018fce56d069.tar.xz
tutor-module-16f14d99e4b7dd011c7bbe73b77c018fce56d069.zip
[client] timer to check if date was chagned
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
index cca7ed90..02d6f233 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
@@ -6,6 +6,8 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
@@ -41,6 +43,8 @@ import org.openslx.dozmod.thrift.ThriftError;
import org.openslx.dozmod.thrift.cache.UserCache;
import org.openslx.dozmod.util.FormatHelper;
import org.openslx.thrifthelper.ThriftManager;
+import org.openslx.util.QuickTimer;
+import org.openslx.util.QuickTimer.Task;
@SuppressWarnings("serial")
public class LectureDetailsWindow extends LectureDetailsWindowLayout implements UiFeedback {
@@ -78,6 +82,10 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
*/
private ImageDetailsRead image = null;
+ private Task dateChecker;
+
+ private boolean reactive = false;
+
/**
* Constructor
*
@@ -89,6 +97,12 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
this.callback = callback;
// save default color of date/time stuff to reset the background later
dateTimeTextColor = startDate.getForeground();
+ addWindowListener(new WindowAdapter() {
+ @Override
+ public void windowClosed(WindowEvent e) {
+ dateChecker.cancel();
+ }
+ });
/**
* Button listeners
*/
@@ -311,6 +325,8 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
}
private void listenToChange() {
+ if (reactive)
+ return;
// final step, add listeners to react to change
final DocumentListener docListener = new DocumentListener() {
@Override
@@ -365,6 +381,14 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
startDate.addActionListener(dateTimeListener);
endDate.addActionListener(dateTimeListener);
+ dateChecker = new Task() {
+ @Override
+ public void fire() {
+ reactToChange();
+ }
+ };
+ QuickTimer.scheduleAtFixedRate(dateChecker, 1000, 1000);
+ reactive = true;
}
private boolean isPeriodValid(final Date start, final Date end, boolean feedback) {
@@ -394,7 +418,6 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
* enables the save button if so.
*/
private void reactToChange() {
-
boolean changed = false;
// version checkbox changed?
ImageVersionDetails currentVersion = cboVersions.getItemAt(cboVersions.getSelectedIndex());