Revision: 3811
Author: [email protected]
Date: Thu Jul 29 15:04:01 2010
Log: NEW - bug 2899: Compare revisions - Auto compare when hovering over
checkbox
http://trillian.sqlpower.ca/bugzilla/show_bug.cgi?id=2899
The auto-compare box should be using an ItemStateListener, not a
ChangeListener. This fixes the issue where hovering over the check box
causes a compare to occur.
http://code.google.com/p/power-architect/source/detail?r=3811
Modified:
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/CompareRevisionsPanel.java
=======================================
---
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/CompareRevisionsPanel.java
Wed May 26 14:59:32 2010
+++
/trunk/src/main/java/ca/sqlpower/architect/swingui/enterprise/CompareRevisionsPanel.java
Thu Jul 29 15:04:01 2010
@@ -22,6 +22,8 @@
import java.awt.Dimension;
import java.awt.Insets;
import java.awt.event.ActionEvent;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
import java.util.List;
import javax.swing.AbstractAction;
@@ -33,8 +35,6 @@
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.text.BadLocationException;
@@ -97,7 +97,7 @@
final JCheckBox autoCompare = new JCheckBox("Auto-compare", true);
- final ListSelectionListener changeListener = new
ListSelectionListener() {
+ final ListSelectionListener listSelectionListener = new
ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
refreshPanel();
if (autoCompare.isSelected()
@@ -108,13 +108,14 @@
}
};
- autoCompare.addChangeListener(new ChangeListener() {
- public void stateChanged(ChangeEvent e) {
- changeListener.valueChanged(null);
- }
- });
-
revisionsTableLeft.getSelectionModel().addListSelectionListener(changeListener);
-
revisionsTableRight.getSelectionModel().addListSelectionListener(changeListener);
+ autoCompare.addItemListener(new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ listSelectionListener.valueChanged(null);
+ }
+ });
+
revisionsTableLeft.getSelectionModel().addListSelectionListener(listSelectionListener);
+
revisionsTableRight.getSelectionModel().addListSelectionListener(listSelectionListener);
comparePane = new JTextPane();
comparePane.setEditable(false);