Explorar el Código

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 hace 10 años
padre
commit
e999c5643f

+ 11
- 11
src/com/dmdirc/addons/ui_swing/components/menubar/ChannelMenu.java Ver fichero

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

+ 10
- 14
src/com/dmdirc/addons/ui_swing/dialogs/channellist/ChannelListDialog.java Ver fichero

23
 package com.dmdirc.addons.ui_swing.dialogs.channellist;
23
 package com.dmdirc.addons.ui_swing.dialogs.channellist;
24
 
24
 
25
 import com.dmdirc.Server;
25
 import com.dmdirc.Server;
26
-import com.dmdirc.addons.ui_swing.SwingController;
26
+import com.dmdirc.addons.ui_swing.MainFrame;
27
 import com.dmdirc.addons.ui_swing.dialogs.StandardDialog;
27
 import com.dmdirc.addons.ui_swing.dialogs.StandardDialog;
28
 
28
 
29
 import java.awt.event.ActionEvent;
29
 import java.awt.event.ActionEvent;
30
 import java.awt.event.ActionListener;
30
 import java.awt.event.ActionListener;
31
 
31
 
32
+import javax.inject.Inject;
32
 import javax.swing.JLabel;
33
 import javax.swing.JLabel;
33
 
34
 
34
 import net.miginfocom.swing.MigLayout;
35
 import net.miginfocom.swing.MigLayout;
36
 /**
37
 /**
37
  * Provides a UI to search for channels in DMDirc.
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
     /** Serial version UID. */
42
     /** Serial version UID. */
43
     private static final long serialVersionUID = 1L;
43
     private static final long serialVersionUID = 1L;
44
     /** List panel. */
44
     /** List panel. */
45
-    private ChannelListPanel list;
45
+    private final ChannelListPanel list;
46
     /** Size label. */
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
         setTitle("Channel List");
52
         setTitle("Channel List");
52
         total = new JLabel("No results.");
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
         layoutComponents();
56
         layoutComponents();
56
         getCancelButton().setText("Close");
57
         getCancelButton().setText("Close");
57
         getCancelButton().addActionListener(this);
58
         getCancelButton().addActionListener(this);
65
         add(getCancelButton(), "right");
66
         add(getCancelButton(), "right");
66
     }
67
     }
67
 
68
 
68
-    /**
69
-     * {@inheritDoc}
70
-     *
71
-     * @param e Action event
72
-     */
73
     @Override
69
     @Override
74
     public void actionPerformed(final ActionEvent e) {
70
     public void actionPerformed(final ActionEvent e) {
75
         dispose();
71
         dispose();

+ 8
- 0
src/com/dmdirc/addons/ui_swing/injection/DialogModule.java Ver fichero

36
 import com.dmdirc.addons.ui_swing.dialogs.about.AboutDialog;
36
 import com.dmdirc.addons.ui_swing.dialogs.about.AboutDialog;
37
 import com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog;
37
 import com.dmdirc.addons.ui_swing.dialogs.actionsmanager.ActionsManagerDialog;
38
 import com.dmdirc.addons.ui_swing.dialogs.aliases.AliasManagerDialog;
38
 import com.dmdirc.addons.ui_swing.dialogs.aliases.AliasManagerDialog;
39
+import com.dmdirc.addons.ui_swing.dialogs.channellist.ChannelListDialog;
39
 import com.dmdirc.addons.ui_swing.dialogs.channelsetting.ChannelSettingsDialog;
40
 import com.dmdirc.addons.ui_swing.dialogs.channelsetting.ChannelSettingsDialog;
40
 import com.dmdirc.addons.ui_swing.dialogs.prefs.SwingPreferencesDialog;
41
 import com.dmdirc.addons.ui_swing.dialogs.prefs.SwingPreferencesDialog;
41
 import com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog;
42
 import com.dmdirc.addons.ui_swing.dialogs.profiles.ProfileManagerDialog;
205
         return new SwingRestartDialog(mainFrame, lifecycleController, "apply settings");
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…
Cancelar
Guardar