Browse Source

Merge commit 'renji/Issue2937'

tags/0.6.3m2a1
Shane Mc Cormack 15 years ago
parent
commit
b5c0a9b98f

+ 1
- 1
src/com/dmdirc/addons/ui_swing/components/MenuBar.java View File

@@ -260,7 +260,7 @@ public class MenuBar extends JMenuBar implements ActionListener, MenuListener {
260 260
         } else if (e.getActionCommand().equals("Exit")) {
261 261
             mainFrame.quit();
262 262
         } else if (e.getActionCommand().equals("Actions")) {
263
-            ActionsManagerDialog.showActionsManagerDialog(mainFrame);
263
+            ActionsManagerDialog.showActionsManagerDialog(mainFrame, controller);
264 264
         } else if (e.getActionCommand().equals("Aliases")) {
265 265
             AliasManagerDialog.showAliasManagerDialog(mainFrame);
266 266
         } else if (e.getActionCommand().equals("JoinDevChat")) {

+ 32
- 0
src/com/dmdirc/addons/ui_swing/components/frames/AppleJFrame.java View File

@@ -0,0 +1,32 @@
1
+package com.dmdirc.addons.ui_swing.components.frames;
2
+
3
+import com.dmdirc.addons.ui_swing.*;
4
+import com.dmdirc.addons.ui_swing.components.MenuBar;
5
+import javax.swing.JFrame;
6
+
7
+/**
8
+ * Haxy JFrame to allow Apple to show the MenuBar in otherwise parent-less
9
+ * dialogs.
10
+ *
11
+ * @author shane
12
+ */
13
+public class AppleJFrame extends JFrame {
14
+    /**
15
+     * A version number for this class. It should be changed whenever the class
16
+     * structure is changed (or anything else that would prevent serialized
17
+     * objects being unserialized with the new class).
18
+     */
19
+    private static final long serialVersionUID = 1;
20
+
21
+    /**
22
+     * Create a new Apple JFrame
23
+     *
24
+     * @param parentWindow Main Window
25
+     */
26
+    public AppleJFrame(final MainFrame parentWindow, final SwingController controller) {
27
+        super();
28
+        final MenuBar menu = new MenuBar(controller, parentWindow);
29
+        Apple.getApple().setMenuBar(menu);
30
+        setJMenuBar(menu);
31
+    }
32
+}

+ 12
- 6
src/com/dmdirc/addons/ui_swing/dialogs/actionsmanager/ActionsManagerDialog.java View File

@@ -22,11 +22,15 @@
22 22
 
23 23
 package com.dmdirc.addons.ui_swing.dialogs.actionsmanager;
24 24
 
25
+import com.dmdirc.addons.ui_swing.components.frames.AppleJFrame;
25 26
 import com.dmdirc.actions.Action;
26 27
 import com.dmdirc.actions.ActionGroup;
27 28
 import com.dmdirc.actions.ActionManager;
28 29
 import com.dmdirc.actions.CoreActionType;
29 30
 import com.dmdirc.actions.interfaces.ActionType;
31
+import com.dmdirc.addons.ui_swing.Apple;
32
+import com.dmdirc.addons.ui_swing.MainFrame;
33
+import com.dmdirc.addons.ui_swing.SwingController;
30 34
 import com.dmdirc.config.IdentityManager;
31 35
 import com.dmdirc.config.prefs.validator.ActionGroupValidator;
32 36
 import com.dmdirc.config.prefs.validator.FileNameValidator;
@@ -98,8 +102,9 @@ public final class ActionsManagerDialog extends StandardDialog implements Action
98 102
     /** 
99 103
      * Creates a new instance of ActionsManagerDialog.
100 104
      */
101
-    private ActionsManagerDialog(final Window parentWindow) {
102
-        super(null, ModalityType.MODELESS);
105
+    private ActionsManagerDialog(final Window parentWindow, final SwingController controller) {
106
+        super(Apple.isAppleUI() ? new AppleJFrame((MainFrame) parentWindow, controller) :
107
+            null, ModalityType.MODELESS);
103 108
 
104 109
         initComponents();
105 110
         addListeners();
@@ -116,8 +121,8 @@ public final class ActionsManagerDialog extends StandardDialog implements Action
116 121
      * 
117 122
      * @param parentWindow Parent window
118 123
      */
119
-    public static void showActionsManagerDialog(final Window parentWindow) {
120
-        getActionsManagerDialog(parentWindow);
124
+    public static void showActionsManagerDialog(final Window parentWindow, final SwingController controller) {
125
+        getActionsManagerDialog(parentWindow, controller);
121 126
 
122 127
         me.setIconImages(parentWindow.getIconImages());
123 128
         me.pack();
@@ -140,10 +145,11 @@ public final class ActionsManagerDialog extends StandardDialog implements Action
140 145
      * 
141 146
      * @return The current ActionsManagerDialog instance
142 147
      */
143
-    public static ActionsManagerDialog getActionsManagerDialog(final Window parentWindow) {
148
+    public static ActionsManagerDialog getActionsManagerDialog(final Window parentWindow,
149
+            final SwingController controller) {
144 150
         synchronized (ActionsManagerDialog.class) {
145 151
             if (me == null) {
146
-                me = new ActionsManagerDialog(parentWindow);
152
+                me = new ActionsManagerDialog(parentWindow, controller);
147 153
             } else {
148 154
                 me.reloadGroups();
149 155
             }

Loading…
Cancel
Save