|
@@ -24,20 +24,27 @@ package com.dmdirc.addons.ui_swing.dialogs.channellist;
|
24
|
24
|
|
25
|
25
|
import com.dmdirc.addons.ui_swing.components.PackingTable;
|
26
|
26
|
import com.dmdirc.lists.GroupListManager;
|
27
|
|
-import javax.swing.JLabel;
|
28
|
27
|
|
|
28
|
+import java.awt.event.MouseEvent;
|
|
29
|
+import java.awt.event.MouseListener;
|
|
30
|
+
|
|
31
|
+import javax.swing.JLabel;
|
29
|
32
|
import javax.swing.JPanel;
|
30
|
33
|
import javax.swing.JScrollPane;
|
31
|
34
|
import javax.swing.event.TableModelEvent;
|
32
|
35
|
import javax.swing.event.TableModelListener;
|
33
|
36
|
import javax.swing.table.TableModel;
|
34
|
37
|
|
|
38
|
+import lombok.AutoGenMethodStub;
|
|
39
|
+
|
35
|
40
|
import net.miginfocom.swing.MigLayout;
|
36
|
41
|
|
37
|
42
|
/**
|
38
|
43
|
* Displays the results of a group list search in a table.
|
39
|
44
|
*/
|
40
|
|
-public class ResultsPanel extends JPanel implements TableModelListener {
|
|
45
|
+@AutoGenMethodStub
|
|
46
|
+public class ResultsPanel extends JPanel implements TableModelListener,
|
|
47
|
+ MouseListener {
|
41
|
48
|
|
42
|
49
|
/** Serial version UID. */
|
43
|
50
|
private static final long serialVersionUID = 1L;
|
|
@@ -45,6 +52,10 @@ public class ResultsPanel extends JPanel implements TableModelListener {
|
45
|
52
|
private GroupListManager manager;
|
46
|
53
|
/** Size label. */
|
47
|
54
|
private JLabel total;
|
|
55
|
+ /** Results table. */
|
|
56
|
+ private PackingTable table;
|
|
57
|
+ /** Results table model. */
|
|
58
|
+ private ChannelListTableModel model;
|
48
|
59
|
|
49
|
60
|
/**
|
50
|
61
|
* Creates a new panel to show group list results.
|
|
@@ -60,9 +71,10 @@ public class ResultsPanel extends JPanel implements TableModelListener {
|
60
|
71
|
|
61
|
72
|
/** Lays out the components in the panel. */
|
62
|
73
|
private void layoutComponents() {
|
63
|
|
- final ChannelListTableModel model = new ChannelListTableModel(manager);
|
|
74
|
+ model = new ChannelListTableModel(manager);
|
64
|
75
|
final JScrollPane sp = new JScrollPane();
|
65
|
|
- final PackingTable table = new PackingTable(model, sp);
|
|
76
|
+ table = new PackingTable(model, sp);
|
|
77
|
+ table.addMouseListener(this);
|
66
|
78
|
model.addTableModelListener(this);
|
67
|
79
|
sp.setViewportView(table);
|
68
|
80
|
setLayout(new MigLayout("fill, hidemode 3, ins 0"));
|
|
@@ -78,4 +90,19 @@ public class ResultsPanel extends JPanel implements TableModelListener {
|
78
|
90
|
public void tableChanged(final TableModelEvent e) {
|
79
|
91
|
total.setText("Total: " + ((TableModel) e.getSource()).getRowCount());
|
80
|
92
|
}
|
|
93
|
+
|
|
94
|
+ /**
|
|
95
|
+ * {@inheritDoc}
|
|
96
|
+ *
|
|
97
|
+ * @param e Mouse event
|
|
98
|
+ */
|
|
99
|
+ @Override
|
|
100
|
+ public void mouseClicked(final MouseEvent e) {
|
|
101
|
+ if (e.getClickCount() == 2) {
|
|
102
|
+ final int index = table.getSelectedRow();
|
|
103
|
+ if (index != -1) {
|
|
104
|
+ manager.joinGroupListEntry(model.getGroupListEntry(index));
|
|
105
|
+ }
|
|
106
|
+ }
|
|
107
|
+ }
|
81
|
108
|
}
|