Parcourir la 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 il y a 12 ans
Parent
révision
8e81639825

+ 1
- 1
src/com/dmdirc/addons/ui_swing/dialogs/channellist/ChannelListPanel.java Voir le fichier

24
 
24
 
25
 import com.dmdirc.Server;
25
 import com.dmdirc.Server;
26
 import com.dmdirc.lists.GroupListManager;
26
 import com.dmdirc.lists.GroupListManager;
27
-import javax.swing.JLabel;
28
 
27
 
28
+import javax.swing.JLabel;
29
 import javax.swing.JPanel;
29
 import javax.swing.JPanel;
30
 
30
 
31
 import net.miginfocom.swing.MigLayout;
31
 import net.miginfocom.swing.MigLayout;

+ 10
- 0
src/com/dmdirc/addons/ui_swing/dialogs/channellist/ChannelListTableModel.java Voir le fichier

89
         return COLUMN_NAMES[column];
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 Voir le fichier

24
 
24
 
25
 import com.dmdirc.addons.ui_swing.components.PackingTable;
25
 import com.dmdirc.addons.ui_swing.components.PackingTable;
26
 import com.dmdirc.lists.GroupListManager;
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
 import javax.swing.JPanel;
32
 import javax.swing.JPanel;
30
 import javax.swing.JScrollPane;
33
 import javax.swing.JScrollPane;
31
 import javax.swing.event.TableModelEvent;
34
 import javax.swing.event.TableModelEvent;
32
 import javax.swing.event.TableModelListener;
35
 import javax.swing.event.TableModelListener;
33
 import javax.swing.table.TableModel;
36
 import javax.swing.table.TableModel;
34
 
37
 
38
+import lombok.AutoGenMethodStub;
39
+
35
 import net.miginfocom.swing.MigLayout;
40
 import net.miginfocom.swing.MigLayout;
36
 
41
 
37
 /**
42
 /**
38
  * Displays the results of a group list search in a table.
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
     /** Serial version UID. */
49
     /** Serial version UID. */
43
     private static final long serialVersionUID = 1L;
50
     private static final long serialVersionUID = 1L;
45
     private GroupListManager manager;
52
     private GroupListManager manager;
46
     /** Size label. */
53
     /** Size label. */
47
     private JLabel total;
54
     private JLabel total;
55
+    /** Results table. */
56
+    private PackingTable table;
57
+    /** Results table model. */
58
+    private ChannelListTableModel model;
48
 
59
 
49
     /**
60
     /**
50
      * Creates a new panel to show group list results.
61
      * Creates a new panel to show group list results.
60
 
71
 
61
     /** Lays out the components in the panel. */
72
     /** Lays out the components in the panel. */
62
     private void layoutComponents() {
73
     private void layoutComponents() {
63
-        final ChannelListTableModel model = new ChannelListTableModel(manager);
74
+        model = new ChannelListTableModel(manager);
64
         final JScrollPane sp = new JScrollPane();
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
         model.addTableModelListener(this);
78
         model.addTableModelListener(this);
67
         sp.setViewportView(table);
79
         sp.setViewportView(table);
68
         setLayout(new MigLayout("fill, hidemode 3, ins 0"));
80
         setLayout(new MigLayout("fill, hidemode 3, ins 0"));
78
     public void tableChanged(final TableModelEvent e) {
90
     public void tableChanged(final TableModelEvent e) {
79
         total.setText("Total: " + ((TableModel) e.getSource()).getRowCount());
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
 }

Chargement…
Annuler
Enregistrer