Browse Source

Add dialog provider for Channel List Dialog.

Change-Id: I6d9576d01be09a16727b2f0e69391d90d60279e6
Reviewed-on: http://gerrit.dmdirc.com/3270
Reviewed-by: Chris Smith <chris@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
changes/70/3270/3
Greg Holmes 10 years ago
parent
commit
e999c5643f

+ 11
- 11
src/com/dmdirc/addons/ui_swing/components/menubar/ChannelMenu.java View File

@@ -26,11 +26,11 @@ import com.dmdirc.Channel;
26 26
 import com.dmdirc.FrameContainer;
27 27
 import com.dmdirc.ServerState;
28 28
 import com.dmdirc.addons.ui_swing.MainFrame;
29
-import com.dmdirc.addons.ui_swing.SwingController;
30 29
 import com.dmdirc.addons.ui_swing.components.frames.TextFrame;
31 30
 import com.dmdirc.addons.ui_swing.dialogs.ChannelJoinDialogFactory;
32 31
 import com.dmdirc.addons.ui_swing.dialogs.channellist.ChannelListDialog;
33 32
 import com.dmdirc.addons.ui_swing.dialogs.channelsetting.ChannelSettingsDialog;
33
+import com.dmdirc.addons.ui_swing.injection.DialogProvider;
34 34
 import com.dmdirc.addons.ui_swing.injection.KeyedDialogProvider;
35 35
 
36 36
 import java.awt.event.ActionEvent;
@@ -54,10 +54,10 @@ public class ChannelMenu extends JMenu implements ActionListener,
54 54
     private static final long serialVersionUID = 1;
55 55
     /** Dialog provider. */
56 56
     private final KeyedDialogProvider<Channel, ChannelSettingsDialog> dialogProvider;
57
+    /** Channel list dialog provider. */
58
+    private final DialogProvider<ChannelListDialog> channelListDialogProvider;
57 59
     /** Channel join dialog factory. */
58 60
     private final ChannelJoinDialogFactory channelJoinDialogFactory;
59
-    /** Swing controller. */
60
-    private final SwingController controller;
61 61
     /** Main frame. */
62 62
     private final MainFrame mainFrame;
63 63
     /** Menu items to be disabled/enabled. */
@@ -68,22 +68,22 @@ public class ChannelMenu extends JMenu implements ActionListener,
68 68
     /**
69 69
      * Creates a new channel menu.
70 70
      *
71
-     * @param controller               Parent swing controller.
72
-     * @param mainFrame                Parent mainframe
73
-     * @param dialogProvider           Channel settings dialog provider
74
-     * @param channelJoinDialogFactory Channel join dialog factory
71
+     * @param mainFrame                 Parent mainframe
72
+     * @param dialogProvider            Channel settings dialog provider
73
+     * @param channelJoinDialogFactory  Channel join dialog factory
74
+     * @param channelListDialogProvider Channel list dialog provider
75 75
      */
76 76
     @Inject
77 77
     public ChannelMenu(
78
-            final SwingController controller,
79 78
             final MainFrame mainFrame,
80 79
             final KeyedDialogProvider<Channel, ChannelSettingsDialog> dialogProvider,
81
-            final ChannelJoinDialogFactory channelJoinDialogFactory) {
80
+            final ChannelJoinDialogFactory channelJoinDialogFactory,
81
+            final DialogProvider<ChannelListDialog> channelListDialogProvider) {
82 82
         super("Channel");
83
-        this.controller = controller;
84 83
         this.mainFrame = mainFrame;
85 84
         this.dialogProvider = dialogProvider;
86 85
         this.channelJoinDialogFactory = channelJoinDialogFactory;
86
+        this.channelListDialogProvider = channelListDialogProvider;
87 87
         setMnemonic('c');
88 88
         addMenuListener(this);
89 89
         initChannelMenu();
@@ -130,7 +130,7 @@ public class ChannelMenu extends JMenu implements ActionListener,
130 130
                 }
131 131
                 break;
132 132
             case "ListChannels":
133
-                new ChannelListDialog(controller).display();
133
+                channelListDialogProvider.displayOrRequestFocus();
134 134
                 break;
135 135
         }
136 136
     }

+ 10
- 14
src/com/dmdirc/addons/ui_swing/dialogs/channellist/ChannelListDialog.java View File

@@ -23,12 +23,13 @@
23 23
 package com.dmdirc.addons.ui_swing.dialogs.channellist;
24 24
 
25 25
 import com.dmdirc.Server;
26
-import com.dmdirc.addons.ui_swing.SwingController;
26
+import com.dmdirc.addons.ui_swing.MainFrame;
27 27
 import com.dmdirc.addons.ui_swing.dialogs.StandardDialog;
28 28
 
29 29
 import java.awt.event.ActionEvent;
30 30
 import java.awt.event.ActionListener;
31 31
 
32
+import javax.inject.Inject;
32 33
 import javax.swing.JLabel;
33 34
 
34 35
 import net.miginfocom.swing.MigLayout;
@@ -36,22 +37,22 @@ import net.miginfocom.swing.MigLayout;
36 37
 /**
37 38
  * Provides a UI to search for channels in DMDirc.
38 39
  */
39
-public class ChannelListDialog extends StandardDialog implements
40
-        ActionListener {
40
+public class ChannelListDialog extends StandardDialog implements ActionListener {
41 41
 
42 42
     /** Serial version UID. */
43 43
     private static final long serialVersionUID = 1L;
44 44
     /** List panel. */
45
-    private ChannelListPanel list;
45
+    private final ChannelListPanel list;
46 46
     /** Size label. */
47
-    private JLabel total;
47
+    private final JLabel total;
48 48
 
49
-    public ChannelListDialog(final SwingController controller) {
50
-        super(controller.getMainFrame(), ModalityType.MODELESS);
49
+    @Inject
50
+    public ChannelListDialog(final MainFrame mainFrame) {
51
+        super(mainFrame, ModalityType.MODELESS);
51 52
         setTitle("Channel List");
52 53
         total = new JLabel("No results.");
53
-        list = new ChannelListPanel((Server) controller.getMainFrame().getActiveFrame()
54
-                .getContainer().getConnection(), total);
54
+        list = new ChannelListPanel((Server) mainFrame.getActiveFrame().getContainer()
55
+                .getConnection(), total);
55 56
         layoutComponents();
56 57
         getCancelButton().setText("Close");
57 58
         getCancelButton().addActionListener(this);
@@ -65,11 +66,6 @@ public class ChannelListDialog extends StandardDialog implements
65 66
         add(getCancelButton(), "right");
66 67
     }
67 68
 
68
-    /**
69
-     * {@inheritDoc}
70
-     *
71
-     * @param e Action event
72
-     */
73 69
     @Override
74 70
     public void actionPerformed(final ActionEvent e) {
75 71
         dispose();

+ 8
- 0
src/com/dmdirc/addons/ui_swing/injection/DialogModule.java View File

@@ -36,6 +36,7 @@ import com.dmdirc.addons.ui_swing.dialogs.NewServerDialog;
36 36
 import com.dmdirc.addons.ui_swing.dialogs.about.AboutDialog;
37 37
 import com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog;
38 38
 import com.dmdirc.addons.ui_swing.dialogs.aliases.AliasManagerDialog;
39
+import com.dmdirc.addons.ui_swing.dialogs.channellist.ChannelListDialog;
39 40
 import com.dmdirc.addons.ui_swing.dialogs.channelsetting.ChannelSettingsDialog;
40 41
 import com.dmdirc.addons.ui_swing.dialogs.prefs.SwingPreferencesDialog;
41 42
 import com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog;
@@ -205,4 +206,11 @@ public class DialogModule {
205 206
         return new SwingRestartDialog(mainFrame, lifecycleController, "apply settings");
206 207
     }
207 208
 
209
+    @Provides
210
+    @Singleton
211
+    public DialogProvider<ChannelListDialog> getChannelListDialogProvider(
212
+            final Provider<ChannelListDialog> provider) {
213
+        return new DialogProvider<>(provider);
214
+    }
215
+
208 216
 }

Loading…
Cancel
Save