diff options
author | Jonathan Bauer | 2015-08-24 17:09:11 +0200 |
---|---|---|
committer | Jonathan Bauer | 2015-08-24 17:09:11 +0200 |
commit | 16f14d99e4b7dd011c7bbe73b77c018fce56d069 (patch) | |
tree | 694c0d5136758aac9032208327b0b11b5000906a /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java | |
parent | Merge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1 (diff) | |
download | tutor-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.java | 25 |
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()); |