Ver código fonte

Move serverlist dialog to server list plugin.

Fixes-Issue: CLIENT-238
Change-Id: I4333c2a982b0c6757b4a450441903316500e4065
Reviewed-on: http://gerrit.dmdirc.com/2245
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Shane Mc Cormack <shane@dmdirc.com>
tags/0.7rc1
Greg Holmes 12 anos atrás
pai
commit
30b3ef4e1b

src/com/dmdirc/addons/ui_swing/dialogs/serverlist/AddEntryInputDialog.java → src/com/dmdirc/addons/serverlistdialog/AddEntryInputDialog.java Ver arquivo

@@ -20,7 +20,7 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.addons.ui_swing.dialogs.serverlist;
23
+package com.dmdirc.addons.serverlistdialog;
24 24
 
25 25
 import com.dmdirc.addons.ui_swing.components.text.TextLabel;
26 26
 import com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField;
@@ -30,10 +30,9 @@ import com.dmdirc.util.validators.NotEmptyValidator;
30 30
 import com.dmdirc.util.validators.URIValidator;
31 31
 import com.dmdirc.util.validators.Validator;
32 32
 import com.dmdirc.addons.serverlists.ServerGroup;
33
+import com.dmdirc.addons.ui_swing.SwingController;
33 34
 
34
-import com.dmdirc.ui.IconManager;
35 35
 import java.awt.Window;
36
-import java.awt.Dialog.ModalityType;
37 36
 import java.awt.event.ActionEvent;
38 37
 import java.awt.event.ActionListener;
39 38
 import java.awt.event.WindowAdapter;
@@ -54,11 +53,7 @@ import net.miginfocom.swing.MigLayout;
54 53
  */
55 54
 public class AddEntryInputDialog extends StandardDialog {
56 55
 
57
-    /**
58
-     * A version number for this class. It should be changed whenever the class
59
-     * structure is changed (or anything else that would prevent serialized
60
-     * objects being unserialized with the new class).
61
-     */
56
+    /** Serial version UID. */
62 57
     private static final long serialVersionUID = 1;
63 58
     /** Entry name Validator. */
64 59
     private final Validator<String> entryValidator;
@@ -76,23 +71,23 @@ public class AddEntryInputDialog extends StandardDialog {
76 71
     private final JTree items;
77 72
     /** Parent model. */
78 73
     private final ServerListModel model;
79
-    /** Icon manager. */
80
-    private final IconManager iconManager;
74
+    /** Swing controller. */
75
+    private final SwingController controller;
81 76
 
82 77
     /**
83 78
      * Instantiates a new standard input dialog.
84 79
      *
85
-     * @param iconManager Icon manager
80
+     * @param controller Swing controller
86 81
      * @param items Parent tree
87 82
      * @param owner Dialog owner
88 83
      * @param model Server list model
89 84
      */
90
-    public AddEntryInputDialog(final IconManager iconManager,
85
+    public AddEntryInputDialog(final SwingController controller,
91 86
             final Window owner, final JTree items,
92 87
             final ServerListModel model) {
93 88
         super(owner, ModalityType.MODELESS);
94 89
 
95
-        this.iconManager = iconManager;
90
+        this.controller = controller;
96 91
         this.items = items;
97 92
         this.model = model;
98 93
         this.entryValidator = new NotEmptyValidator();
@@ -128,8 +123,8 @@ public class AddEntryInputDialog extends StandardDialog {
128 123
      */
129 124
     private void initComponents() {
130 125
         orderButtons(new JButton(), new JButton());
131
-        entryName = new ValidatingJTextField(iconManager, entryValidator);
132
-        uri = new ValidatingJTextField(iconManager, new URIJTextField(), uriValidator);
126
+        entryName = new ValidatingJTextField(controller.getIconManager(), entryValidator);
127
+        uri = new ValidatingJTextField(controller.getIconManager(), new URIJTextField(), uriValidator);
133 128
         blurb = new TextLabel(message);
134 129
         validateText();
135 130
     }

src/com/dmdirc/addons/ui_swing/dialogs/serverlist/AddGroupInputDialog.java → src/com/dmdirc/addons/serverlistdialog/AddGroupInputDialog.java Ver arquivo

@@ -20,19 +20,18 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.addons.ui_swing.dialogs.serverlist;
23
+package com.dmdirc.addons.serverlistdialog;
24 24
 
25
+import com.dmdirc.addons.serverlists.ServerGroup;
26
+import com.dmdirc.addons.ui_swing.SwingController;
25 27
 import com.dmdirc.addons.ui_swing.components.text.TextLabel;
26 28
 import com.dmdirc.addons.ui_swing.components.validating.ValidatingJTextField;
27 29
 import com.dmdirc.addons.ui_swing.dialogs.StandardDialog;
28 30
 import com.dmdirc.addons.ui_swing.dialogs.StandardInputDialog;
29 31
 import com.dmdirc.util.validators.NotEmptyValidator;
30 32
 import com.dmdirc.util.validators.Validator;
31
-import com.dmdirc.addons.serverlists.ServerGroup;
32
-import com.dmdirc.ui.IconManager;
33 33
 
34 34
 import java.awt.Window;
35
-import java.awt.Dialog.ModalityType;
36 35
 import java.awt.event.ActionEvent;
37 36
 import java.awt.event.ActionListener;
38 37
 import java.awt.event.WindowAdapter;
@@ -53,11 +52,7 @@ import net.miginfocom.swing.MigLayout;
53 52
  */
54 53
 public class AddGroupInputDialog extends StandardDialog {
55 54
 
56
-    /**
57
-     * A version number for this class. It should be changed whenever the class
58
-     * structure is changed (or anything else that would prevent serialized
59
-     * objects being unserialized with the new class).
60
-     */
55
+    /** Serial version UID. */
61 56
     private static final long serialVersionUID = 1;
62 57
     /** Validator. */
63 58
     private final Validator<String> validator;
@@ -73,23 +68,23 @@ public class AddGroupInputDialog extends StandardDialog {
73 68
     private final JTree tree;
74 69
     /** Parent model. */
75 70
     private final ServerListModel serverListModel;
76
-    /** Icon manager. */
77
-    private final IconManager iconManager;
71
+    /** Swing controller. */
72
+    private final SwingController controller;
78 73
 
79 74
     /**
80 75
      * Instantiates a new standard input dialog.
81 76
      *
82
-     * @param iconManager Icon manager
77
+     * @param controller Swing controller
83 78
      * @param items Parent tree
84 79
      * @param owner Dialog owner
85 80
      * @param model Server list model
86 81
      */
87
-    public AddGroupInputDialog(final IconManager iconManager,
82
+    public AddGroupInputDialog(final SwingController controller,
88 83
             final Window owner, final JTree items,
89 84
             final ServerListModel model) {
90 85
         super(owner, ModalityType.MODELESS);
91 86
 
92
-        this.iconManager = iconManager;
87
+        this.controller = controller;
93 88
         this.tree = items;
94 89
         this.serverListModel = model;
95 90
         this.validator = new NotEmptyValidator();
@@ -137,7 +132,7 @@ public class AddGroupInputDialog extends StandardDialog {
137 132
      */
138 133
     private void initComponents() {
139 134
         orderButtons(new JButton(), new JButton());
140
-        groupName = new ValidatingJTextField(iconManager, validator);
135
+        groupName = new ValidatingJTextField(controller.getIconManager(), validator);
141 136
         networkName = new JTextField();
142 137
         blurb = new TextLabel(message);
143 138
         validateText();

src/com/dmdirc/addons/ui_swing/dialogs/serverlist/Help.java → src/com/dmdirc/addons/serverlistdialog/Help.java Ver arquivo

@@ -20,7 +20,7 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.addons.ui_swing.dialogs.serverlist;
23
+package com.dmdirc.addons.serverlistdialog;
24 24
 
25 25
 import com.dmdirc.addons.ui_swing.components.text.TextLabel;
26 26
 

src/com/dmdirc/addons/ui_swing/dialogs/serverlist/Info.java → src/com/dmdirc/addons/serverlistdialog/Info.java Ver arquivo

@@ -20,7 +20,7 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.addons.ui_swing.dialogs.serverlist;
23
+package com.dmdirc.addons.serverlistdialog;
24 24
 
25 25
 import com.dmdirc.addons.ui_swing.UIUtilities;
26 26
 import com.dmdirc.addons.serverlists.ServerGroupItem;

src/com/dmdirc/addons/ui_swing/dialogs/serverlist/Perform.java → src/com/dmdirc/addons/serverlistdialog/Perform.java Ver arquivo

@@ -20,7 +20,7 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.addons.ui_swing.dialogs.serverlist;
23
+package com.dmdirc.addons.serverlistdialog;
24 24
 
25 25
 import com.dmdirc.addons.ui_swing.components.performpanel.PerformPanel;
26 26
 import com.dmdirc.addons.serverlists.ServerGroupItem;

src/com/dmdirc/addons/ui_swing/dialogs/serverlist/Profiles.java → src/com/dmdirc/addons/serverlistdialog/Profiles.java Ver arquivo

@@ -20,11 +20,11 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.addons.ui_swing.dialogs.serverlist;
23
+package com.dmdirc.addons.serverlistdialog;
24 24
 
25
+import com.dmdirc.addons.ui_swing.SwingController;
25 26
 import com.dmdirc.addons.ui_swing.components.vetoable.VetoableComboBoxModel;
26 27
 import com.dmdirc.config.Identity;
27
-import com.dmdirc.config.IdentityManager;
28 28
 import com.dmdirc.addons.serverlists.ServerGroupItem;
29 29
 
30 30
 import java.util.HashMap;
@@ -46,11 +46,7 @@ import net.miginfocom.swing.MigLayout;
46 46
  */
47 47
 public class Profiles extends JPanel implements ServerListListener {
48 48
 
49
-    /**
50
-     * A version number for this class. It should be changed whenever the class
51
-     * structure is changed (or anything else that would prevent serialized
52
-     * objects being unserialized with the new class).
53
-     */
49
+    /** Serial version UID. */
54 50
     private static final long serialVersionUID = 2;
55 51
     /** Server list model. */
56 52
     private final ServerListModel model;
@@ -59,16 +55,20 @@ public class Profiles extends JPanel implements ServerListListener {
59 55
             new HashMap<ServerGroupItem, JComboBox>();
60 56
     /** Info label. */
61 57
     private final JLabel label;
58
+    /** Swing controller. */
59
+    private final SwingController controller;
62 60
 
63 61
     /**
64 62
      * Creates a new profile panel backed by the specified model.
65 63
      *
66 64
      * @param model Backing server list model
65
+     * @param controller Swing controller
67 66
      */
68
-    public Profiles(final ServerListModel model) {
67
+    public Profiles(final ServerListModel model, final SwingController controller) {
69 68
         super();
70 69
 
71 70
         this.model = model;
71
+        this.controller = controller;
72 72
 
73 73
         label = new JLabel("Use this profile on this network: ");
74 74
         setBorder(BorderFactory.createTitledBorder(UIManager.getBorder(
@@ -109,8 +109,8 @@ public class Profiles extends JPanel implements ServerListListener {
109 109
         if (!combos.containsKey(item)) {
110 110
             final DefaultComboBoxModel comboModel = new VetoableComboBoxModel();
111 111
 
112
-            final List<Identity> profiles = IdentityManager.getCustomIdentities(
113
-                    "profile");
112
+            final List<Identity> profiles = controller.getIdentityManager()
113
+                    .getIdentitiesByType("profile");
114 114
             Identity selectedItem = null;
115 115
             comboModel.addElement(null);
116 116
             for (Identity profile : profiles) {

src/com/dmdirc/addons/ui_swing/dialogs/serverlist/ServerListDialog.java → src/com/dmdirc/addons/serverlistdialog/ServerListDialog.java Ver arquivo

@@ -20,15 +20,14 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.addons.ui_swing.dialogs.serverlist;
23
+package com.dmdirc.addons.serverlistdialog;
24 24
 
25
-import com.dmdirc.addons.ui_swing.components.LockedLayer;
26
-import com.dmdirc.addons.ui_swing.dialogs.StandardDialog;
27 25
 import com.dmdirc.addons.serverlists.ServerGroupItem;
28 26
 import com.dmdirc.addons.ui_swing.SwingController;
27
+import com.dmdirc.addons.ui_swing.components.LockedLayer;
28
+import com.dmdirc.addons.ui_swing.dialogs.StandardDialog;
29 29
 import com.dmdirc.ui.core.util.URLHandler;
30 30
 
31
-import java.awt.Window;
32 31
 import java.awt.color.ColorSpace;
33 32
 import java.awt.event.ActionEvent;
34 33
 import java.awt.event.ActionListener;
@@ -47,18 +46,12 @@ import org.jdesktop.jxlayer.plaf.effect.BufferedImageOpEffect;
47 46
 public final class ServerListDialog extends StandardDialog implements
48 47
         ActionListener, ServerListListener {
49 48
 
50
-    /**
51
-     * A version number for this class. It should be changed whenever the class
52
-     * structure is changed (or anything else that would prevent serialized
53
-     * objects being unserialized with the new class).
54
-     */
49
+    /** Serial version UID. */
55 50
     private static final long serialVersionUID = 2;
56 51
     /** Server list model. */
57 52
     private final ServerListModel model;
58 53
     /** Connect button. */
59 54
     private final JButton connectButton;
60
-    /** Previously created instance of dialog. */
61
-    private static ServerListDialog me = null;
62 55
     /** Info lock. */
63 56
     private final LockedLayer<Info> infoLock;
64 57
     /** Perform lock. */
@@ -78,54 +71,16 @@ public final class ServerListDialog extends StandardDialog implements
78 71
     /** Help panel. */
79 72
     private final Help help;
80 73
 
81
-    /**
82
-     * Creates the dialog if one doesn't exist, and displays it.
83
-     *
84
-     * @param controller Swing Controller
85
-     * @param parentWindow Parent window
86
-     * @param urlHandler The URL Handler to use to handle clicked links
87
-     */
88
-    public static void showServerListDialog(final SwingController controller,
89
-            final Window parentWindow, final URLHandler urlHandler) {
90
-        me = getServerListDialog(controller, parentWindow, urlHandler);
91
-
92
-        me.display();
93
-        me.requestFocusInWindow();
94
-    }
95
-
96
-    /**
97
-     * Returns the current instance of the ServerListDialog.
98
-     *
99
-     * @param controller Swing Controller
100
-     * @param parentWindow Parent window
101
-     * @param urlHandler The URL Handler to use to handle clicked links
102
-     *
103
-     * @return The current ServerListDialog instance
104
-     */
105
-    public static ServerListDialog getServerListDialog(
106
-            final SwingController controller, final Window parentWindow,
107
-            final URLHandler urlHandler) {
108
-        synchronized (ServerListDialog.class) {
109
-            if (me == null) {
110
-                me = new ServerListDialog(controller, parentWindow,
111
-                ModalityType.MODELESS, urlHandler);
112
-            }
113
-        }
114
-
115
-        return me;
116
-    }
117
-
118 74
     /**
119 75
      * Creates a new server list dialog.
120 76
      *
121
-     * @param window Parent window
77
+     * @param controller Swing controller
122 78
      * @param modalityType Desired modality
123 79
      * @param urlHandler The URL Handler to use to handle clicked links
124 80
      */
125
-    private ServerListDialog(final SwingController controller,
126
-            final Window window, final ModalityType modalityType,
81
+    public ServerListDialog(final SwingController controller,
127 82
             final URLHandler urlHandler) {
128
-        super(window, modalityType);
83
+        super(controller.getMainFrame(), ModalityType.MODELESS);
129 84
 
130 85
         setTitle("Server List");
131 86
         model = new ServerListModel();
@@ -145,7 +100,8 @@ public final class ServerListDialog extends StandardDialog implements
145 100
         infoLock = new LockedLayer<Info>(new BufferedImageOpEffect(
146 101
                 new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY),
147 102
                 null)));
148
-        profileLayer = new JXLayer<Profiles>(new Profiles(model), profileLock);
103
+        profileLayer = new JXLayer<Profiles>(new Profiles(model, controller),
104
+                profileLock);
149 105
         performLayer = new JXLayer<Perform>(new Perform(model), performLock);
150 106
         settingsLayer = new JXLayer<Settings>(new Settings(controller, model),
151 107
                 settingsLock);
@@ -155,7 +111,7 @@ public final class ServerListDialog extends StandardDialog implements
155 111
 
156 112
         setLayout(new MigLayout("fill, wrap 2, wmin 600, wmax 600"));
157 113
 
158
-        add(new Tree(controller.getIconManager(), model, this),
114
+        add(new Tree(controller, model, this),
159 115
                 "grow, spany 4, wmax 150, wmin 150");
160 116
         add(help, "pos 160 0.5al");
161 117
         add(infoLayer, "growx, pushx");
@@ -198,18 +154,6 @@ public final class ServerListDialog extends StandardDialog implements
198 154
         }
199 155
     }
200 156
 
201
-    /** {@inheritDoc} */
202
-    @Override
203
-    public void dispose() {
204
-        synchronized (ServerListDialog.class) {
205
-            if (me == null) {
206
-                return;
207
-            }
208
-            super.dispose();
209
-            me = null;
210
-        }
211
-    }
212
-
213 157
     /**
214 158
      * Lock or unlock layers.
215 159
      */

+ 64
- 0
src/com/dmdirc/addons/serverlistdialog/ServerListDialogPlugin.java Ver arquivo

@@ -0,0 +1,64 @@
1
+/*
2
+ * Copyright (c) 2006-2011 DMDirc Developers
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in
12
+ * all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
+ * SOFTWARE.
21
+ */
22
+
23
+package com.dmdirc.addons.serverlistdialog;
24
+
25
+import com.dmdirc.addons.ui_swing.SwingController;
26
+import com.dmdirc.addons.ui_swing.components.menubar.MenuBar;
27
+import com.dmdirc.plugins.PluginManager;
28
+
29
+import java.awt.event.ActionEvent;
30
+import java.awt.event.ActionListener;
31
+
32
+import javax.swing.JMenuItem;
33
+
34
+/**
35
+ * Server list dialog plugin.
36
+ */
37
+public class ServerListDialogPlugin implements ActionListener {
38
+
39
+    /** Swing controller. */
40
+    private final SwingController controller;
41
+
42
+    /**
43
+     * Creates a new server list dialog plugin.
44
+     */
45
+    public ServerListDialogPlugin(final PluginManager pluginManager) {
46
+        controller = (SwingController) pluginManager.getPluginInfoByName(
47
+                "ui_swing").getPlugin();
48
+        final JMenuItem item = new JMenuItem("Server lists");
49
+        item.setMnemonic('l');
50
+        item.addActionListener(this);
51
+        ((MenuBar) controller.getMainFrame().getJMenuBar()).addMenuItem(
52
+                "Server", item);
53
+    }
54
+
55
+    /**
56
+     * {@inheritDoc}
57
+     *
58
+     * @param e Action event
59
+     */
60
+    @Override
61
+    public void actionPerformed(final ActionEvent e) {
62
+        new ServerListDialog(controller, controller.getURLHandler()).display();
63
+    }
64
+}

src/com/dmdirc/addons/ui_swing/dialogs/serverlist/ServerListListener.java → src/com/dmdirc/addons/serverlistdialog/ServerListListener.java Ver arquivo

@@ -20,7 +20,7 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.addons.ui_swing.dialogs.serverlist;
23
+package com.dmdirc.addons.serverlistdialog;
24 24
 
25 25
 import com.dmdirc.addons.serverlists.ServerGroupItem;
26 26
 

src/com/dmdirc/addons/ui_swing/dialogs/serverlist/ServerListModel.java → src/com/dmdirc/addons/serverlistdialog/ServerListModel.java Ver arquivo

@@ -20,7 +20,7 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.addons.ui_swing.dialogs.serverlist;
23
+package com.dmdirc.addons.serverlistdialog;
24 24
 
25 25
 import com.dmdirc.actions.wrappers.PerformWrapper.PerformDescription;
26 26
 import com.dmdirc.actions.wrappers.PerformType;

src/com/dmdirc/addons/ui_swing/dialogs/serverlist/Settings.java → src/com/dmdirc/addons/serverlistdialog/Settings.java Ver arquivo

@@ -20,10 +20,9 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.addons.ui_swing.dialogs.serverlist;
23
+package com.dmdirc.addons.serverlistdialog;
24 24
 
25 25
 import com.dmdirc.addons.ui_swing.components.expandingsettings.SettingsPanel;
26
-import com.dmdirc.config.IdentityManager;
27 26
 import com.dmdirc.addons.serverlists.ServerGroup;
28 27
 import com.dmdirc.addons.serverlists.ServerGroupItem;
29 28
 import com.dmdirc.addons.ui_swing.SwingController;
@@ -47,11 +46,7 @@ import net.miginfocom.swing.MigLayout;
47 46
  */
48 47
 public class Settings extends JPanel implements ServerListListener {
49 48
 
50
-    /**
51
-     * A version number for this class. It should be changed whenever the class
52
-     * structure is changed (or anything else that would prevent serialized
53
-     * objects being unserialized with the new class).
54
-     */
49
+    /** Serial version UID. */
55 50
     private static final long serialVersionUID = 2;
56 51
     /** Server list model. */
57 52
     private final ServerListModel model;
@@ -119,7 +114,7 @@ public class Settings extends JPanel implements ServerListListener {
119 114
                 panels.put(item, new SettingsPanel(controller, "", false));
120 115
                 addSettings(panels.get(item), new ConfigManager("irc", "",
121 116
                     item.getGroup().getNetwork(), item.getName()),
122
-                    IdentityManager.getServerConfig(item.getName()));
117
+                    controller.getIdentityManager().createServerConfig(item.getName()));
123 118
             } else if (item == null) {
124 119
                 panels.put(null, new SettingsPanel(controller, "", false));
125 120
             } else {

src/com/dmdirc/addons/ui_swing/dialogs/serverlist/Tree.java → src/com/dmdirc/addons/serverlistdialog/Tree.java Ver arquivo

@@ -20,12 +20,12 @@
20 20
  * SOFTWARE.
21 21
  */
22 22
 
23
-package com.dmdirc.addons.ui_swing.dialogs.serverlist;
23
+package com.dmdirc.addons.serverlistdialog;
24 24
 
25
+import com.dmdirc.addons.serverlists.ServerGroupItem;
26
+import com.dmdirc.addons.ui_swing.SwingController;
25 27
 import com.dmdirc.addons.ui_swing.components.TreeScroller;
26 28
 import com.dmdirc.addons.ui_swing.components.renderers.ServerGroupTreeRenderer;
27
-import com.dmdirc.addons.serverlists.ServerGroupItem;
28
-import com.dmdirc.ui.IconManager;
29 29
 
30 30
 import java.awt.Rectangle;
31 31
 import java.awt.Window;
@@ -52,11 +52,7 @@ import net.miginfocom.swing.MigLayout;
52 52
 public class Tree extends JPanel implements TreeSelectionListener,
53 53
         ServerListListener, ActionListener {
54 54
 
55
-    /**
56
-     * A version number for this class. It should be changed whenever the class
57
-     * structure is changed (or anything else that would prevent serialized
58
-     * objects being unserialized with the new class).
59
-     */
55
+    /** Serial version UID. */
60 56
     private static final long serialVersionUID = 2;
61 57
     /** Tree. */
62 58
     private final JTree items;
@@ -70,21 +66,21 @@ public class Tree extends JPanel implements TreeSelectionListener,
70 66
     private final JButton addItemButton;
71 67
     /** Parent window. */
72 68
     private final Window parentWindow;
73
-    /** Icon manager. */
74
-    private final IconManager iconManager;
69
+    /** Swing controller. */
70
+    private final SwingController controller;
75 71
 
76 72
     /**
77 73
      * Instantiates a new tree of server groups.
78 74
      *
79
-     * @param iconManager Icon Manager
75
+     * @param controller Swing controller
80 76
      * @param model Model backing this tree
81 77
      * @param parentWindow Dialog's parent window
82 78
      */
83
-    public Tree(final IconManager iconManager, final ServerListModel model,
79
+    public Tree(final SwingController controller, final ServerListModel model,
84 80
             final Window parentWindow) {
85 81
         super();
86 82
 
87
-        this.iconManager = iconManager;
83
+        this.controller = controller;
88 84
         this.model = model;
89 85
         this.parentWindow = parentWindow;
90 86
         addGroupButton = new JButton("Add group");
@@ -93,12 +89,7 @@ public class Tree extends JPanel implements TreeSelectionListener,
93 89
         treeModel = model.getTreeModel();
94 90
         items = new JTree(treeModel) {
95 91
 
96
-            /**
97
-             * A version number for this class. It should be changed whenever
98
-             * the class structure is changed (or anything else that would
99
-             * prevent serialized objects being unserialized with the new
100
-             * class).
101
-             */
92
+            /** Serial version UID. */
102 93
             private static final long serialVersionUID = 2;
103 94
 
104 95
             /** {@inheritDoc} */
@@ -145,7 +136,11 @@ public class Tree extends JPanel implements TreeSelectionListener,
145 136
         addItemButton.addActionListener(this);
146 137
     }
147 138
 
148
-    /** {@inheritDoc} */
139
+    /**
140
+     * {@inheritDoc}
141
+     *
142
+     * @param e Tree selection event
143
+     */
149 144
     @Override
150 145
     public final void valueChanged(final TreeSelectionEvent e) {
151 146
         if (items.getSelectionPath() == null) {
@@ -199,9 +194,9 @@ public class Tree extends JPanel implements TreeSelectionListener,
199 194
     @Override
200 195
     public void actionPerformed(final ActionEvent e) {
201 196
         if (e.getSource() == addGroupButton) {
202
-            new AddGroupInputDialog(iconManager, parentWindow, items, model).display();
197
+            new AddGroupInputDialog(controller, parentWindow, items, model).display();
203 198
         } else {
204
-            new AddEntryInputDialog(iconManager, parentWindow, items, model).display();
199
+            new AddEntryInputDialog(controller, parentWindow, items, model).display();
205 200
         }
206 201
     }
207 202
 
@@ -216,7 +211,7 @@ public class Tree extends JPanel implements TreeSelectionListener,
216 211
     private DefaultMutableTreeNode getNodeForGroup(final ServerGroupItem item) {
217 212
         DefaultMutableTreeNode node = (DefaultMutableTreeNode) items.getModel()
218 213
                 .getRoot();
219
-        final Enumeration enumeration = ((DefaultMutableTreeNode) items
214
+        final Enumeration<?> enumeration = ((DefaultMutableTreeNode) items
220 215
                 .getModel().getRoot()).breadthFirstEnumeration();
221 216
         while (enumeration.hasMoreElements()) {
222 217
             final DefaultMutableTreeNode current =

src/com/dmdirc/addons/ui_swing/dialogs/serverlist/URIJTextField.java → src/com/dmdirc/addons/serverlistdialog/URIJTextField.java Ver arquivo

@@ -19,7 +19,7 @@
19 19
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 20
  * SOFTWARE.
21 21
  */
22
-package com.dmdirc.addons.ui_swing.dialogs.serverlist;
22
+package com.dmdirc.addons.serverlistdialog;
23 23
 
24 24
 import javax.swing.JTextField;
25 25
 

+ 29
- 0
src/com/dmdirc/addons/serverlistdialog/plugin.config Ver arquivo

@@ -0,0 +1,29 @@
1
+# This is a DMDirc configuration file.
2
+
3
+# This section indicates which sections below take key/value
4
+# pairs, rather than a simple list. It should be placed above
5
+# any sections that take key/values.
6
+keysections:
7
+  metadata
8
+  updates
9
+  version
10
+  requires
11
+
12
+metadata:
13
+  author=Greg <greg@dmdirc.com>
14
+  mainclass=com.dmdirc.addons.serverlistdialog.ServerListDialogPlugin
15
+  description=Support for server lists
16
+  name=serverlistdialog
17
+  nicename=Server List Dialog
18
+
19
+updates:
20
+  id=59
21
+
22
+version:
23
+  friendly=0.1
24
+
25
+requires:
26
+  parent=ui_swing
27
+
28
+persistent:
29
+  *

+ 1
- 0
src/com/dmdirc/addons/serverlists/plugin.config Ver arquivo

@@ -7,6 +7,7 @@ keysections:
7 7
   metadata
8 8
   updates
9 9
   version
10
+  requires
10 11
 
11 12
 metadata:
12 13
   author=Chris <chris@dmdirc.com>

+ 4
- 37
src/com/dmdirc/addons/ui_swing/components/menubar/ServerMenu.java Ver arquivo

@@ -29,9 +29,6 @@ import com.dmdirc.addons.ui_swing.MainFrame;
29 29
 import com.dmdirc.addons.ui_swing.SwingController;
30 30
 import com.dmdirc.addons.ui_swing.components.frames.TextFrame;
31 31
 import com.dmdirc.addons.ui_swing.dialogs.NewServerDialog;
32
-import com.dmdirc.addons.ui_swing.dialogs.serverlist.ServerListDialog;
33
-import com.dmdirc.plugins.PluginInfo;
34
-import com.dmdirc.plugins.PluginManager;
35 32
 
36 33
 import java.awt.event.ActionEvent;
37 34
 import java.awt.event.ActionListener;
@@ -41,9 +38,12 @@ import javax.swing.JMenuItem;
41 38
 import javax.swing.event.MenuEvent;
42 39
 import javax.swing.event.MenuListener;
43 40
 
41
+import lombok.AutoGenMethodStub;
42
+
44 43
 /**
45 44
  * A menu providing server related commands to the menu bar.
46 45
  */
46
+@AutoGenMethodStub
47 47
 public class ServerMenu extends JMenu implements ActionListener,
48 48
         MenuListener {
49 49
 
@@ -58,7 +58,7 @@ public class ServerMenu extends JMenu implements ActionListener,
58 58
     /** Main frame. */
59 59
     private final MainFrame mainFrame;
60 60
     /** Menu items which can be enabled/disabled. */
61
-    private JMenuItem ssd, disconnect, serverlist;
61
+    private JMenuItem ssd, disconnect;
62 62
 
63 63
     /**
64 64
      * Creates a new Server menu.
@@ -81,12 +81,6 @@ public class ServerMenu extends JMenu implements ActionListener,
81 81
      * Initialises the server menu.
82 82
      */
83 83
     private void initServerMenu() {
84
-        serverlist = new JMenuItem();
85
-        serverlist.setText("Server lists");
86
-        serverlist.setMnemonic('l');
87
-        serverlist.setActionCommand("ServerList");
88
-        serverlist.addActionListener(this);
89
-
90 84
         JMenuItem menuItem = new JMenuItem();
91 85
         menuItem.setText("New Server...");
92 86
         menuItem.setMnemonic('n');
@@ -123,9 +117,6 @@ public class ServerMenu extends JMenu implements ActionListener,
123 117
     public void actionPerformed(final ActionEvent e) {
124 118
         if ("NewServer".equals(e.getActionCommand())) {
125 119
             NewServerDialog.showNewServerDialog(controller);
126
-        } else if (e.getActionCommand().equals("ServerList")) {
127
-            ServerListDialog.showServerListDialog(controller, mainFrame,
128
-                    controller.getURLHandler());
129 120
         } else if (e.getActionCommand().equals("Exit")) {
130 121
             mainFrame.quit();
131 122
         } else if (e.getActionCommand().equals("ServerSettings")) {
@@ -150,29 +141,5 @@ public class ServerMenu extends JMenu implements ActionListener,
150 141
         disconnect.setEnabled(activeWindow != null && activeWindow
151 142
                 .getServer() != null && activeWindow.getServer().getState()
152 143
                 == ServerState.CONNECTED);
153
-
154
-        final PluginInfo plugin = PluginManager.getPluginManager()
155
-                .getPluginInfoByName("serverlists");
156
-        if (plugin != null) {
157
-            if (!plugin.isLoaded()) {
158
-                plugin.loadPlugin();
159
-            }
160
-
161
-            if (getMenuComponent(0) != serverlist) {
162
-                add(serverlist, 0);
163
-            }
164
-        }
165
-    }
166
-
167
-    /** {@inheritDoc} */
168
-    @Override
169
-    public final void menuDeselected(final MenuEvent e) {
170
-        //Ignore
171
-    }
172
-
173
-    /** {@inheritDoc} */
174
-    @Override
175
-    public final void menuCanceled(final MenuEvent e) {
176
-        //Ignore
177 144
     }
178 145
 }

Carregando…
Cancelar
Salvar