diff options
| author | Simon Rettberg | 2015-10-22 11:00:44 +0200 |
|---|---|---|
| committer | Simon Rettberg | 2015-10-22 11:00:44 +0200 |
| commit | 8708c9090f8187ab63abb78b87606c3fb3d5b1b3 (patch) | |
| tree | 87c0679d9f2e1a8d15528237d559c645f5095630 /dozentenmodul/src/main/java | |
| parent | [client] Add experimental setting for number of connections per transfer (diff) | |
| download | tutor-module-8708c9090f8187ab63abb78b87606c3fb3d5b1b3.tar.gz tutor-module-8708c9090f8187ab63abb78b87606c3fb3d5b1b3.tar.xz tutor-module-8708c9090f8187ab63abb78b87606c3fb3d5b1b3.zip | |
[client] Make list deselection more consistent with native behaviour, match scroll pane background with table
Diffstat (limited to 'dozentenmodul/src/main/java')
5 files changed, 16 insertions, 22 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LectureTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LectureTable.java index 8eda6013..54b5d36b 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LectureTable.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/LectureTable.java @@ -72,7 +72,7 @@ public class LectureTable extends ListTable<LectureSummary> { if (dateInvalid || !row.isImageVersionUsable) { component.setForeground(invalidColor); } else { - component.setForeground(getForeground()); + component.setForeground(isSelected ? getSelectionForeground() : getForeground()); } } else { component.setForeground(Color.RED); diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java index f8808c0d..47ddcf22 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ListTable.java @@ -3,7 +3,6 @@ package org.openslx.dozmod.gui.control.table; import java.awt.Component; import java.util.ArrayList; import java.util.Comparator; -import java.util.LinkedList; import java.util.List; import javax.swing.JTable; diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/QScrollPane.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/QScrollPane.java index ca79073b..d3c9329d 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/QScrollPane.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/QScrollPane.java @@ -2,32 +2,37 @@ package org.openslx.dozmod.gui.control.table; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import javax.swing.JScrollPane; import javax.swing.JTable; /** - * Extended JScrollPane to make deselection by clicking on empty space possible + * Extended JScrollPane to make deselection by clicking on empty space + * possible; make the scroll pane's background color match that of the JTable. */ @SuppressWarnings("serial") public class QScrollPane extends JScrollPane { + public QScrollPane(final JTable view) { super(view); this.addMouseListener(new MouseAdapter() { @Override - public void mousePressed(MouseEvent e) { - processClick(e); - } - - @Override public void mouseReleased(MouseEvent e) { - processClick(e); - } - - private void processClick(MouseEvent e) { view.clearSelection(); } }); + PropertyChangeListener listener = new PropertyChangeListener() { + @Override + public void propertyChange(PropertyChangeEvent evt) { + if (getViewport() == null) + return; + getViewport().setBackground(view.getBackground()); + } + }; + view.addPropertyChangeListener("background", listener); + listener.propertyChange(null); } } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java index 18409997..9fd25b5c 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java @@ -159,11 +159,6 @@ public class ImageListWindow extends ImageListWindowLayout implements DownloadCa pop.show(e.getComponent(), e.getX(), e.getY()); } } - // TODO This doesn't work, make deselection possible by clicking on empty table space - else if (SwingUtilities.isLeftMouseButton(e) - && (mouseRowIndex < 0 || mouseRowIndex > imageTable.getRowCount())) { - imageTable.clearSelection(); - } } }); diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java index eb91739e..a1591370 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureListWindow.java @@ -312,11 +312,6 @@ public class LectureListWindow extends LectureListWindowLayout { pop.show(e.getComponent(), e.getX(), e.getY()); } } - // TODO This doesn't work, make deselection possible by clicking on empty table space - else if (SwingUtilities.isLeftMouseButton(e) - && (mouseRowIndex < 0 || mouseRowIndex > lectureTable.getRowCount())) { - lectureTable.clearSelection(); - } } }); |
