瀏覽代碼

Push some SwingController dependencies out a bit.

Change-Id: I253ee4c7e8a8b4475048b860db244db8d82fbada
Reviewed-on: http://gerrit.dmdirc.com/3053
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
tags/0.8
Chris Smith 10 年之前
父節點
當前提交
528583b923

+ 8
- 3
src/com/dmdirc/addons/debug/commands/FirstRun.java 查看文件

@@ -25,10 +25,11 @@ package com.dmdirc.addons.debug.commands;
25 25
 import com.dmdirc.FrameContainer;
26 26
 import com.dmdirc.addons.debug.Debug;
27 27
 import com.dmdirc.addons.debug.DebugCommand;
28
-import com.dmdirc.addons.ui_swing.SwingController;
29 28
 import com.dmdirc.commandparser.CommandArguments;
30 29
 import com.dmdirc.commandparser.commands.context.CommandContext;
30
+import com.dmdirc.interfaces.ui.UIController;
31 31
 import com.dmdirc.plugins.PluginManager;
32
+import com.dmdirc.plugins.Service;
32 33
 
33 34
 import javax.inject.Inject;
34 35
 import javax.inject.Provider;
@@ -70,8 +71,12 @@ public class FirstRun extends DebugCommand {
70 71
     @Override
71 72
     public void execute(final FrameContainer origin,
72 73
             final CommandArguments args, final CommandContext context) {
73
-        ((SwingController) pluginManager.getPluginInfoByName("ui_swing").getPlugin())
74
-                .showFirstRunWizard();
74
+        for (Service service : pluginManager.getServicesByType("ui")) {
75
+            if (service.isActive()) {
76
+                ((UIController) service.getActiveProvider().getExportedService("getController")
77
+                        .execute()).showFirstRunWizard();
78
+            }
79
+        }
75 80
     }
76 81
 
77 82
 }

+ 25
- 17
src/com/dmdirc/addons/nickcolours/NickColourInputDialog.java 查看文件

@@ -22,9 +22,11 @@
22 22
 
23 23
 package com.dmdirc.addons.nickcolours;
24 24
 
25
-import com.dmdirc.addons.ui_swing.SwingController;
25
+import com.dmdirc.addons.ui_swing.MainFrame;
26 26
 import com.dmdirc.addons.ui_swing.components.colours.ColourChooser;
27 27
 import com.dmdirc.addons.ui_swing.dialogs.StandardDialog;
28
+import com.dmdirc.ui.IconManager;
29
+import com.dmdirc.ui.messages.ColourManager;
28 30
 
29 31
 import java.awt.event.ActionEvent;
30 32
 import java.awt.event.ActionListener;
@@ -66,7 +68,9 @@ public class NickColourInputDialog extends StandardDialog
66 68
     /**
67 69
      * Creates a new instance of NickColourInputDialog.
68 70
      *
69
-     * @param swingController The controller that owns this dialog.
71
+     * @param owner The window that owns this dialog.
72
+     * @param colourManager The colour manager to use to retrieve colours.
73
+     * @param iconManager The icon manager to use for the dialog icon.
70 74
      * @param panel The panel that's opening this dialog
71 75
      * @param row The row of the table we're editing
72 76
      * @param nickname The nickname that's currently set
@@ -75,18 +79,20 @@ public class NickColourInputDialog extends StandardDialog
75 79
      * @param nickcolour The nicklist colour that's currently set
76 80
      */
77 81
     public NickColourInputDialog(
78
-            final SwingController swingController,
82
+            final MainFrame owner,
83
+            final ColourManager colourManager,
84
+            final IconManager iconManager,
79 85
             final NickColourPanel panel, final int row,
80 86
             final String nickname, final String network,
81 87
             final String textcolour, final String nickcolour) {
82
-        super(swingController.getMainFrame(), false);
88
+        super(owner, false);
83 89
 
84 90
         this.panel = panel;
85 91
         this.row = row;
86 92
 
87 93
         setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
88 94
 
89
-        initComponents(swingController, nickname, network, textcolour, nickcolour);
95
+        initComponents(colourManager, iconManager, nickname, network, textcolour, nickcolour);
90 96
         initListeners();
91 97
         layoutComponents();
92 98
 
@@ -97,13 +103,17 @@ public class NickColourInputDialog extends StandardDialog
97 103
     /**
98 104
      * Creates a new instance of NickColourInputDialog.
99 105
      *
100
-     * @param swingController The controller that owns this dialog.
106
+     * @param owner The window that owns this dialog.
107
+     * @param colourManager The colour manager to use to retrieve colours.
108
+     * @param iconManager The icon manager to use for the dialog icon.
101 109
      * @param panel The panel that's opening this dialog
102 110
      */
103 111
     public NickColourInputDialog(
104
-            final SwingController swingController,
112
+            final MainFrame owner,
113
+            final ColourManager colourManager,
114
+            final IconManager iconManager,
105 115
             final NickColourPanel panel) {
106
-        this(swingController, panel, -1, "", "", "", "");
116
+        this(owner, colourManager, iconManager, panel, -1, "", "", "", "");
107 117
 
108 118
         isnew = true;
109 119
     }
@@ -116,21 +126,19 @@ public class NickColourInputDialog extends StandardDialog
116 126
      * @param defaultTextColour The default value for the text colour option
117 127
      * @param defaultNickColour The default value for the nick colour option
118 128
      */
119
-    private void initComponents(final SwingController swingController, final String defaultNickname,
129
+    private void initComponents(
130
+            final ColourManager colourManager,
131
+            final IconManager iconManager,
132
+            final String defaultNickname,
120 133
             final String defaultNetwork, final String defaultTextColour,
121 134
             final String defaultNickColour) {
122 135
         orderButtons(new JButton(), new JButton());
123 136
 
124 137
         nickname = new JTextField(defaultNickname);
125 138
         network = new JTextField(defaultNetwork);
126
-        textColour = new ColourChooser(
127
-                swingController.getColourManager(),
128
-                swingController.getIconManager(),
129
-                defaultTextColour, true, true);
130
-        nicklistColour = new ColourChooser(
131
-                swingController.getColourManager(),
132
-                swingController.getIconManager(),
133
-                defaultNickColour, true, true);
139
+        textColour = new ColourChooser(colourManager, iconManager, defaultTextColour, true, true);
140
+        nicklistColour = new ColourChooser(colourManager, iconManager, defaultNickColour,
141
+                true, true);
134 142
     }
135 143
 
136 144
     /** Initialises the listeners. */

+ 14
- 4
src/com/dmdirc/addons/nickcolours/NickColourPanel.java 查看文件

@@ -79,13 +79,15 @@ public class NickColourPanel extends JPanel implements ActionListener,
79 79
      * @param controller The UI controller that owns this panel
80 80
      * @param plugin The plugin that owns this panel
81 81
      * @param colourManager The colour manager to use to parse colours.
82
+     * @param userSettings The provider to write user settings to.
82 83
      */
83 84
     public NickColourPanel(
84 85
             final SwingController controller,
85 86
             final NickColourPlugin plugin,
86
-            final ColourManager colourManager) {
87
+            final ColourManager colourManager,
88
+            final ConfigProvider userSettings) {
87 89
         this.plugin = plugin;
88
-        this.configIdentity = controller.getIdentityManager().getUserSettings();
90
+        this.configIdentity = userSettings;
89 91
         this.swingController = controller;
90 92
 
91 93
         final Object[][] data = plugin.getData();
@@ -164,7 +166,11 @@ public class NickColourPanel extends JPanel implements ActionListener,
164 166
         final int row = table.getSelectedRow();
165 167
         switch (e.getActionCommand()) {
166 168
             case "Add":
167
-                new NickColourInputDialog(swingController, this);
169
+                new NickColourInputDialog(
170
+                        swingController.getMainFrame(),
171
+                        swingController.getColourManager(),
172
+                        swingController.getIconManager(),
173
+                        this);
168 174
                 break;
169 175
             case "Edit":
170 176
                 final DefaultTableModel model = ((DefaultTableModel) table.getModel());
@@ -178,7 +184,11 @@ public class NickColourPanel extends JPanel implements ActionListener,
178 184
                 if (nickcolour == null) {
179 185
                     nickcolour = "";
180 186
                 }
181
-                new NickColourInputDialog(swingController, this, row, nickname, network,
187
+                new NickColourInputDialog(
188
+                        swingController.getMainFrame(),
189
+                        swingController.getColourManager(),
190
+                        swingController.getIconManager(),
191
+                        this, row, nickname, network,
182 192
                         textcolour, nickcolour);
183 193
                 break;
184 194
             case "Delete":

+ 5
- 2
src/com/dmdirc/addons/nickcolours/NickColourPlugin.java 查看文件

@@ -270,8 +270,11 @@ public class NickColourPlugin extends BasePlugin implements ActionListener, Conf
270 270
                     /** {@inheritDoc} */
271 271
                     @Override
272 272
                     public NickColourPanel call() {
273
-                        return new NickColourPanel(swingController, NickColourPlugin.this,
274
-                                colourManager);
273
+                        return new NickColourPanel(
274
+                                swingController,
275
+                                NickColourPlugin.this,
276
+                                colourManager,
277
+                                swingController.getGlobalIdentity());
275 278
                     }
276 279
                 }));
277 280
 

+ 18
- 13
src/com/dmdirc/addons/ui_swing/PrefsComponentFactory.java 查看文件

@@ -22,6 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.ui_swing;
24 24
 
25
+import com.dmdirc.ClientModule.GlobalConfig;
25 26
 import com.dmdirc.addons.ui_swing.components.FileBrowser;
26 27
 import com.dmdirc.addons.ui_swing.components.FontPicker;
27 28
 import com.dmdirc.addons.ui_swing.components.OptionalJSpinner;
@@ -32,6 +33,8 @@ import com.dmdirc.addons.ui_swing.components.renderers.MapEntryRenderer;
32 33
 import com.dmdirc.addons.ui_swing.components.text.TextLabel;
33 34
 import com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField;
34 35
 import com.dmdirc.config.prefs.PreferencesSetting;
36
+import com.dmdirc.ui.IconManager;
37
+import com.dmdirc.ui.messages.ColourManager;
35 38
 import com.dmdirc.util.validators.NumericalValidator;
36 39
 import com.dmdirc.util.validators.OptionalValidator;
37 40
 import com.dmdirc.util.validators.Validator;
@@ -68,17 +71,23 @@ import org.jdesktop.jxlayer.JXLayer;
68 71
 @Singleton
69 72
 public final class PrefsComponentFactory {
70 73
 
71
-    /** Swing Controller. */
72
-    private final SwingController controller;
74
+    /** The icon manager to use for dialog and error icons. */
75
+    private final IconManager iconManager;
76
+    /** The colour manager to use for colour preferences. */
77
+    private final ColourManager colourManager;
73 78
 
74 79
     /**
75 80
      * Creates a new instance of PrefsComponentFactory.
76 81
      *
77
-     * @param controller Swing Controller
82
+     * @param iconManager The icon manager to use for dialog and error icons.
83
+     * @param colourManager The colour manager to use for colour preferences.
78 84
      */
79 85
     @Inject
80
-    public PrefsComponentFactory(final SwingController controller) {
81
-        this.controller = controller;
86
+    public PrefsComponentFactory(
87
+            @GlobalConfig final IconManager iconManager,
88
+            final ColourManager colourManager) {
89
+        this.iconManager = iconManager;
90
+        this.colourManager = colourManager;
82 91
     }
83 92
 
84 93
     /**
@@ -153,7 +162,7 @@ public final class PrefsComponentFactory {
153 162
      */
154 163
     private JComponent getTextOption(final PreferencesSetting setting) {
155 164
         final ValidatingJTextField option = new ValidatingJTextField(
156
-                controller.getIconManager(), setting.getValidator());
165
+                iconManager, setting.getValidator());
157 166
         option.setText(setting.getValue());
158 167
 
159 168
         option.addKeyListener(new KeyAdapter() {
@@ -364,9 +373,7 @@ public final class PrefsComponentFactory {
364 373
     private JComponent getColourOption(
365 374
             final PreferencesSetting setting) {
366 375
         final OptionalColourChooser option = new OptionalColourChooser(
367
-                controller.getIconManager(),
368
-                controller.getColourManager(),
369
-                setting.getValue(), true, true, true);
376
+                iconManager, colourManager, setting.getValue(), true, true, true);
370 377
 
371 378
         option.addActionListener(new ActionListener() {
372 379
 
@@ -398,8 +405,7 @@ public final class PrefsComponentFactory {
398 405
                 .getValue().substring(1 + setting.getValue().indexOf(':'));
399 406
 
400 407
         final OptionalColourChooser option = new OptionalColourChooser(
401
-                controller.getIconManager(), controller.getColourManager(),
402
-                colour, state, true, true);
408
+                iconManager, colourManager, colour, state, true, true);
403 409
 
404 410
         option.addActionListener(new ActionListener() {
405 411
 
@@ -454,8 +460,7 @@ public final class PrefsComponentFactory {
454 460
      */
455 461
     private JComponent getFileBrowseOption(
456 462
             final PreferencesSetting setting, final int type) {
457
-        final FileBrowser option = new FileBrowser(controller.getIconManager(),
458
-                setting, type);
463
+        final FileBrowser option = new FileBrowser(iconManager, setting, type);
459 464
 
460 465
         option.addActionListener(new ActionListener() {
461 466
             /** {@inheritDoc} */

Loading…
取消
儲存