Преглед изворни кода

Use new InviteManager iface.

pull/260/head
Chris Smith пре 9 година
родитељ
комит
cd809bb22c

+ 17
- 11
ui_swing/src/com/dmdirc/addons/ui_swing/components/statusbar/InviteLabel.java Прегледај датотеку

@@ -24,7 +24,6 @@ package com.dmdirc.addons.ui_swing.components.statusbar;
24 24
 
25 25
 import com.dmdirc.ClientModule.GlobalConfig;
26 26
 import com.dmdirc.DMDircMBassador;
27
-import com.dmdirc.Invite;
28 27
 import com.dmdirc.addons.ui_swing.EdtHandlerInvocation;
29 28
 import com.dmdirc.addons.ui_swing.MainFrame;
30 29
 import com.dmdirc.addons.ui_swing.events.SwingEventBus;
@@ -32,11 +31,12 @@ import com.dmdirc.addons.ui_swing.events.SwingWindowSelectedEvent;
32 31
 import com.dmdirc.events.ServerInviteExpiredEvent;
33 32
 import com.dmdirc.events.ServerInviteReceivedEvent;
34 33
 import com.dmdirc.interfaces.Connection;
34
+import com.dmdirc.interfaces.InviteManager;
35 35
 import com.dmdirc.ui.IconManager;
36 36
 
37 37
 import java.awt.Window;
38 38
 import java.awt.event.MouseEvent;
39
-import java.util.Collection;
39
+import java.util.List;
40 40
 import java.util.Optional;
41 41
 
42 42
 import javax.inject.Inject;
@@ -85,9 +85,11 @@ public class InviteLabel extends StatusbarPopupPanel<JLabel> {
85 85
 
86 86
         menu = new JPopupMenu();
87 87
         dismiss = new JMenuItem("Dismiss all invites");
88
-        dismiss.addActionListener(e -> activeConnection.ifPresent(Connection::removeInvites));
88
+        dismiss.addActionListener(e -> activeConnection.map(Connection::getInviteManager)
89
+                .ifPresent(InviteManager::removeInvites));
89 90
         accept = new JMenuItem("Accept all invites");
90
-        accept.addActionListener(e -> activeConnection.ifPresent(Connection::acceptInvites));
91
+        accept.addActionListener(e -> activeConnection.map(Connection::getInviteManager)
92
+                .ifPresent(InviteManager::acceptInvites));
91 93
     }
92 94
 
93 95
     /**
@@ -110,12 +112,13 @@ public class InviteLabel extends StatusbarPopupPanel<JLabel> {
110 112
     private void popuplateMenu() {
111 113
         menu.removeAll();
112 114
 
113
-        if (activeConnection.isPresent()) {
114
-            final Collection<Invite> invites = activeConnection.get().getInvites();
115
-            for (final Invite invite : invites) {
116
-                menu.add(new JMenuItem(new InviteAction(invite)));
117
-            }
118
-        }
115
+        activeConnection
116
+                .map(Connection::getInviteManager)
117
+                .map(InviteManager::getInvites)
118
+                .ifPresent(invites -> invites.stream()
119
+                        .map(InviteAction::new)
120
+                        .map(JMenuItem::new)
121
+                        .map(menu::add));
119 122
         menu.add(new JSeparator());
120 123
         menu.add(accept);
121 124
         menu.add(dismiss);
@@ -125,7 +128,10 @@ public class InviteLabel extends StatusbarPopupPanel<JLabel> {
125 128
      * Updates the invite label for the currently active server.
126 129
      */
127 130
     private void update() {
128
-        if (!activeConnection.isPresent() || activeConnection.get().getInvites().isEmpty()) {
131
+        if (activeConnection
132
+                .map(Connection::getInviteManager)
133
+                .map(InviteManager::getInvites)
134
+                .map(List::isEmpty).orElse(true)) {
129 135
             setVisible(false);
130 136
             closeDialog();
131 137
         } else {

+ 1
- 1
ui_swing/src/com/dmdirc/addons/ui_swing/components/statusbar/InvitePopup.java Прегледај датотеку

@@ -61,7 +61,7 @@ public class InvitePopup extends StatusbarPopupWindow {
61 61
     @Override
62 62
     protected void initContent(final JPanel panel) {
63 63
         if (connection.isPresent()) {
64
-            for (final Invite invite : connection.get().getInvites()) {
64
+            for (final Invite invite : connection.get().getInviteManager().getInvites()) {
65 65
                 panel.add(new JLabel(invite.getChannel()), "growx, pushx");
66 66
                 panel.add(new JLabel(invite.getSource().getNickname(), SwingConstants.CENTER),
67 67
                         "growx, pushx, al center");

Loading…
Откажи
Сачувај