From 2eab0f05674e3bb1183ce82c0670f7e713d0bef6 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Tue, 26 Nov 2019 18:55:20 +0000 Subject: [PATCH] make the chat monitor a separate frame so that it does not dissappear when MW is minimized --- .../com/muwire/gui/ChatMonitorView.groovy | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/gui/griffon-app/views/com/muwire/gui/ChatMonitorView.groovy b/gui/griffon-app/views/com/muwire/gui/ChatMonitorView.groovy index 4ba75398..2ac50f19 100644 --- a/gui/griffon-app/views/com/muwire/gui/ChatMonitorView.groovy +++ b/gui/griffon-app/views/com/muwire/gui/ChatMonitorView.groovy @@ -5,6 +5,7 @@ import griffon.inject.MVCMember import griffon.metadata.ArtifactProviderFor import javax.swing.JDialog +import javax.swing.JFrame import javax.swing.SwingConstants import java.awt.BorderLayout @@ -20,18 +21,15 @@ class ChatMonitorView { @MVCMember @Nonnull ChatMonitorModel model - def mainFrame - def dialog - def panel + def window def roomsTable void initUI() { - mainFrame = application.windowManager.findWindow("main-frame") int rowHeight = application.context.getAsInt("row-height") - dialog = new JDialog(mainFrame, "Chat Monitor", false) - dialog.setResizable(true) - panel = builder.panel { + window = builder.frame (visible : false, locationRelativeTo : null, + defaultCloseOperation : JFrame.DISPOSE_ON_CLOSE, + iconImage : builder.imageIcon("/MuWire-48x48.png").image){ borderLayout() panel(constraints : BorderLayout.NORTH) { label("Chat rooms with unread messages") @@ -53,15 +51,12 @@ class ChatMonitorView { } void mvcGroupInit(Map args) { - dialog.getContentPane().add(panel) - dialog.pack() - dialog.setLocationRelativeTo(mainFrame) - dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE) - dialog.addWindowListener(new WindowAdapter() { + window.addWindowListener(new WindowAdapter() { public void windowClosed(WindowEvent e) { mvcGroup.destroy() } }) - dialog.show() + window.pack() + window.setVisible(true) } } \ No newline at end of file