Parcourir la source

Inject some more dialogs

Change-Id: I73731643e3af5b13dd6dcaa2fdb53349a775372b
Reviewed-on: http://gerrit.dmdirc.com/3042
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
tags/0.8
Chris Smith il y a 10 ans
Parent
révision
ae2144ee63

+ 14
- 3
src/com/dmdirc/addons/ui_swing/components/statusbar/UpdaterLabel.java Voir le fichier

@@ -34,6 +34,7 @@ import com.dmdirc.updater.manager.UpdateManagerStatus;
34 34
 import java.awt.event.MouseEvent;
35 35
 
36 36
 import javax.inject.Inject;
37
+import javax.inject.Provider;
37 38
 import javax.swing.BorderFactory;
38 39
 import javax.swing.JLabel;
39 40
 
@@ -54,6 +55,10 @@ public class UpdaterLabel extends StatusbarPopupPanel<JLabel> implements
54 55
     private final SwingController controller;
55 56
     /** The update manager to use to retrieve information. */
56 57
     private final CachingUpdateManager updateManager;
58
+    /** Provider of updater dialogs. */
59
+    private final Provider<SwingUpdaterDialog> updaterDialogProvider;
60
+    /** Provider of restart dialogs. */
61
+    private final Provider<SwingRestartDialog> restartDialogProvider;
57 62
 
58 63
     /**
59 64
      * Instantiates a new updater label, handles showing updates on the status
@@ -61,15 +66,21 @@ public class UpdaterLabel extends StatusbarPopupPanel<JLabel> implements
61 66
      *
62 67
      * @param controller Swing controller
63 68
      * @param updateManager The manager to use to retrieve information.
69
+     * @param updaterDialogProvider Provider of updater dialogs.
70
+     * @param restartDialogProvider Provider of restart dialogs.
64 71
      */
65 72
     @Inject
66 73
     public UpdaterLabel(
67 74
             final SwingController controller,
68
-            final CachingUpdateManager updateManager) {
75
+            final CachingUpdateManager updateManager,
76
+            final Provider<SwingUpdaterDialog> updaterDialogProvider,
77
+            final Provider<SwingRestartDialog> restartDialogProvider) {
69 78
         super(new JLabel());
70 79
 
71 80
         this.controller = controller;
72 81
         this.updateManager = updateManager;
82
+        this.updaterDialogProvider = updaterDialogProvider;
83
+        this.restartDialogProvider = restartDialogProvider;
73 84
         setBorder(BorderFactory.createEtchedBorder());
74 85
         updateManager.addUpdateManagerListener(this);
75 86
         setVisible(false);
@@ -87,9 +98,9 @@ public class UpdaterLabel extends StatusbarPopupPanel<JLabel> implements
87 98
         if (mouseEvent.getButton() == MouseEvent.BUTTON1) {
88 99
             if (updateManager.getManagerStatus() == UpdateManagerStatus.IDLE_RESTART_NEEDED) {
89 100
                 closeDialog();
90
-                controller.showDialog(SwingRestartDialog.class);
101
+                restartDialogProvider.get().displayOrRequestFocus();
91 102
             } else {
92
-                controller.showDialog(SwingUpdaterDialog.class, updateManager);
103
+                updaterDialogProvider.get().displayOrRequestFocus();
93 104
             }
94 105
         }
95 106
     }

+ 6
- 1
src/com/dmdirc/addons/ui_swing/dialogs/updater/SwingRestartDialog.java Voir le fichier

@@ -22,6 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.ui_swing.dialogs.updater;
24 24
 
25
+import com.dmdirc.addons.ui_swing.MainFrame;
25 26
 import com.dmdirc.addons.ui_swing.components.text.TextLabel;
26 27
 import com.dmdirc.addons.ui_swing.dialogs.DialogManager;
27 28
 import com.dmdirc.addons.ui_swing.dialogs.StandardDialog;
@@ -33,6 +34,7 @@ import java.awt.Window;
33 34
 import java.awt.event.ActionEvent;
34 35
 import java.awt.event.ActionListener;
35 36
 
37
+import javax.inject.Inject;
36 38
 import javax.swing.JButton;
37 39
 
38 40
 import net.miginfocom.swing.MigLayout;
@@ -58,7 +60,10 @@ public class SwingRestartDialog extends StandardDialog implements ActionListener
58 60
      * @param parentWindow Parent window
59 61
      * @param lifecycleController Life cycle controller, for restarting client
60 62
      */
61
-    public SwingRestartDialog(final DialogManager dialogManager, final Window parentWindow,
63
+    @Inject
64
+    public SwingRestartDialog(
65
+            final DialogManager dialogManager,
66
+            final MainFrame parentWindow,
62 67
             final LifecycleController lifecycleController) {
63 68
         this(dialogManager, parentWindow, lifecycleController, "finish updating");
64 69
     }

+ 15
- 4
src/com/dmdirc/addons/ui_swing/dialogs/updater/SwingUpdaterDialog.java Voir le fichier

@@ -22,6 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.ui_swing.dialogs.updater;
24 24
 
25
+import com.dmdirc.addons.ui_swing.MainFrame;
25 26
 import com.dmdirc.addons.ui_swing.UIUtilities;
26 27
 import com.dmdirc.addons.ui_swing.components.LoggingSwingWorker;
27 28
 import com.dmdirc.addons.ui_swing.components.PackingTable;
@@ -44,6 +45,8 @@ import java.awt.event.ActionListener;
44 45
 import java.util.ArrayList;
45 46
 import java.util.List;
46 47
 
48
+import javax.inject.Inject;
49
+import javax.inject.Provider;
47 50
 import javax.swing.JButton;
48 51
 import javax.swing.JScrollPane;
49 52
 import javax.swing.JTable;
@@ -76,6 +79,8 @@ public class SwingUpdaterDialog extends StandardDialog implements
76 79
     private UpdateComponentTableCellRenderer updateComponentRenderer;
77 80
     /** Update.Status renderer. */
78 81
     private UpdateStatusTableCellRenderer updateStatusRenderer;
82
+    /** Provider of restart dialogs. */
83
+    private final Provider<SwingRestartDialog> restartDialogProvider;
79 84
 
80 85
     /**
81 86
      * Creates a new instance of the updater dialog.
@@ -83,13 +88,19 @@ public class SwingUpdaterDialog extends StandardDialog implements
83 88
      * @param updateManager The update manager to use for information
84 89
      * @param dialogManager Dialog manager
85 90
      * @param parentWindow Parent window
91
+     * @param restartDialogProvider Provider of restart dialogs.
86 92
      */
87
-    public SwingUpdaterDialog(final CachingUpdateManager updateManager,
88
-            final DialogManager dialogManager, final Window parentWindow) {
93
+    @Inject
94
+    public SwingUpdaterDialog(
95
+            final CachingUpdateManager updateManager,
96
+            final DialogManager dialogManager,
97
+            final MainFrame parentWindow,
98
+            final Provider<SwingRestartDialog> restartDialogProvider) {
89 99
         super(dialogManager, parentWindow, ModalityType.MODELESS);
90 100
 
91 101
         this.dialogManager = dialogManager;
92 102
         this.updateManager = updateManager;
103
+        this.restartDialogProvider = restartDialogProvider;
93 104
 
94 105
         initComponents();
95 106
         layoutComponents();
@@ -199,7 +210,7 @@ public class SwingUpdaterDialog extends StandardDialog implements
199 210
             }.executeInExecutor();
200 211
 
201 212
             if (updateManager.getManagerStatus() == UpdateManagerStatus.IDLE_RESTART_NEEDED) {
202
-                dialogManager.showDialog(SwingRestartDialog.class);
213
+                restartDialogProvider.get().displayOrRequestFocus();
203 214
                 dispose();
204 215
             }
205 216
         } else if (e.getSource().equals(getCancelButton())) {
@@ -227,7 +238,7 @@ public class SwingUpdaterDialog extends StandardDialog implements
227 238
 
228 239
                 if (status == UpdateManagerStatus.IDLE_RESTART_NEEDED) {
229 240
                     if (isVisible()) {
230
-                        dialogManager.showDialog(SwingRestartDialog.class);
241
+                        restartDialogProvider.get().displayOrRequestFocus();
231 242
                     }
232 243
                     dispose();
233 244
                 } else {

Chargement…
Annuler
Enregistrer