Browse Source

Ad double click to join to channel list dialog.

Change-Id: Idad6fcc99ac5214efc04aa8d75ba44122ba1d697
Depends-On: I03182e7b30e1215dafebdefd4b0b9389932c487f
Reviewed-on: http://gerrit.dmdirc.com/2226
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
tags/0.7rc1
Greg Holmes 12 years ago
parent
commit
8e81639825

+ 1
- 1
src/com/dmdirc/addons/ui_swing/dialogs/channellist/ChannelListPanel.java View File

@@ -24,8 +24,8 @@ package com.dmdirc.addons.ui_swing.dialogs.channellist;
24 24
 
25 25
 import com.dmdirc.Server;
26 26
 import com.dmdirc.lists.GroupListManager;
27
-import javax.swing.JLabel;
28 27
 
28
+import javax.swing.JLabel;
29 29
 import javax.swing.JPanel;
30 30
 
31 31
 import net.miginfocom.swing.MigLayout;

+ 10
- 0
src/com/dmdirc/addons/ui_swing/dialogs/channellist/ChannelListTableModel.java View File

@@ -89,4 +89,14 @@ public class ChannelListTableModel extends ObservableListTableModelAdapter<Group
89 89
         return COLUMN_NAMES[column];
90 90
     }
91 91
 
92
+    /**
93
+     * Returns the group list entry at the specified row.
94
+     *
95
+     * @param row Row index
96
+     *
97
+     * @return Group list entry
98
+     */
99
+    public GroupListEntry getGroupListEntry(final int row) {
100
+        return list.get(row);
101
+    }
92 102
 }

+ 31
- 4
src/com/dmdirc/addons/ui_swing/dialogs/channellist/ResultsPanel.java View File

@@ -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
 }

Loading…
Cancel
Save