浏览代码

Fixes issue 3427: new window menu code doesn't use menu scrollers

Fixes issue 3419: Unable to execute thread. — addons.ui_swing.framemanager.windowmenu.WindowMenuScroller.<init>(WindowMenuScroller.java:59)

Change-Id: I93190266e54bcc4770554a73bb42ab8b71c5fbf1
Reviewed-on: http://gerrit.dmdirc.com/296
Tested-by: Gregory Holmes <greboid@dmdirc.com>
Reviewed-by: Shane Mc Cormack <shane@dmdirc.com>
tags/0.6.3
Gregory Holmes 14 年前
父节点
当前提交
0066607098

+ 5
- 1
src/com/dmdirc/addons/ui_swing/framemanager/windowmenu/FrameContainerMenu.java 查看文件

@@ -24,6 +24,7 @@
24 24
 package com.dmdirc.addons.ui_swing.framemanager.windowmenu;
25 25
 
26 26
 import com.dmdirc.FrameContainer;
27
+import com.dmdirc.addons.ui_swing.SwingController;
27 28
 import com.dmdirc.interfaces.FrameInfoListener;
28 29
 import com.dmdirc.interfaces.SelectionListener;
29 30
 import com.dmdirc.ui.IconManager;
@@ -55,10 +56,13 @@ public class FrameContainerMenu extends JMenu implements FrameInfoListener,
55 56
      * Instantiates a new FrameContainer menu item wrapping the specified frame.
56 57
      *
57 58
      * @param frame Wrapped frame
59
+     * @param controller Controller
58 60
      */
59
-    public FrameContainerMenu(final FrameContainer frame) {
61
+    public FrameContainerMenu(final FrameContainer frame,
62
+            final SwingController controller) {
60 63
         super(frame.toString());
61 64
         setIcon(IconManager.getIconManager().getIcon(frame.getIcon()));
65
+        new WindowMenuScroller(this, controller.getDomain(), 0);
62 66
 
63 67
         this.frame = frame;
64 68
 

+ 1
- 1
src/com/dmdirc/addons/ui_swing/framemanager/windowmenu/WindowMenuFrameManager.java 查看文件

@@ -171,7 +171,7 @@ public final class WindowMenuFrameManager extends JMenu implements
171 171
         JMenu parentMenu;
172 172
         if (!menus.containsKey(parent)) {
173 173
             final FrameContainerMenu replacement =
174
-                    new FrameContainerMenu(parent);
174
+                    new FrameContainerMenu(parent, controller);
175 175
             replaceItemWithMenu(getParentMenu(parent), items.get(parent),
176 176
                     replacement);
177 177
             parentMenu = replacement;

+ 3
- 0
src/com/dmdirc/addons/ui_swing/framemanager/windowmenu/WindowMenuScroller.java 查看文件

@@ -53,6 +53,9 @@ public class WindowMenuScroller implements ConfigChangeListener {
53 53
      */
54 54
     public WindowMenuScroller(final JMenu menu, final String configDomain,
55 55
             final int fixedCount) {
56
+        if (IdentityManager.getGlobalConfig() == null) {
57
+            throw new IllegalArgumentException("null global config");
58
+        }
56 59
         this.menu = menu;
57 60
         this.configDomain = configDomain;
58 61
         this.fixedCount = fixedCount;

+ 1
- 1
src/com/dmdirc/addons/ui_swing/plugin.config 查看文件

@@ -28,7 +28,7 @@ provides:
28 28
 
29 29
 defaults:
30 30
     debugEDT=false
31
-    windowMenuItems=20
31
+    windowMenuItems=30
32 32
     windowMenuScrollInterval=250
33 33
     showtopicbar=true
34 34
     shownicklist=true

正在加载...
取消
保存