From 476eb40d0bc4561e49eff0d1fe6741ef8c0c4ed5 Mon Sep 17 00:00:00 2001 From: Marin Date: Tue, 3 Dec 2013 10:18:19 +0200 Subject: [PATCH] Adds gui improvements to impl.gui.main.chat.ShowPreviewDialog --- resources/languages/resources.properties | 3 +- .../impl/gui/main/chat/ShowPreviewDialog.java | 43 +++++++++++++++---- 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/resources/languages/resources.properties b/resources/languages/resources.properties index 8f6356e24..d8c9ce95f 100644 --- a/resources/languages/resources.properties +++ b/resources/languages/resources.properties @@ -592,7 +592,8 @@ service.gui.PHONE=Phone service.gui.PHONES=Phones service.gui.EDIT_NOT_SUPPORTED=Editing this account is not supported service.gui.SHOW_PREVIEW=(show preview) -service.gui.SHOW_PREVIEW_WARNING_DESCRIPTION=Please consider that enabling Image/Video previews might violate your online anonymity and expose your activity on the network. +service.gui.SHOW_PREVIEW_WARNING_DESCRIPTION=Would you like to proceed displaying this image?\n\nPlease consider that enabling Image/Video previews might violate your online anonymity and expose your activity on the network. +service.gui.SHOW_PREVIEW_DIALOG_TITLE=Show Image/Video preview service.gui.ZID_NAME_SET=ZRTP identifier's name: service.gui.ZID_NAME_NOT_SET=ZRTP identifier name is not set. diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/ShowPreviewDialog.java b/src/net/java/sip/communicator/impl/gui/main/chat/ShowPreviewDialog.java index 58ff0c9b7..199d61686 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/ShowPreviewDialog.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/ShowPreviewDialog.java @@ -7,6 +7,7 @@ import java.util.*; import java.util.concurrent.*; +import javax.imageio.*; import javax.swing.*; import javax.swing.text.*; @@ -105,12 +106,18 @@ public class ShowPreviewDialog { this.chatPanel = chatPanel; + this.setTitle( + GuiActivator.getResources().getI18NString( + "service.gui.SHOW_PREVIEW_DIALOG_TITLE")); okButton = new JButton( GuiActivator.getResources().getI18NString("service.gui.OK")); cancelButton = new JButton( GuiActivator.getResources().getI18NString("service.gui.CANCEL")); - JPanel mainPanel = new TransparentPanel(new BorderLayout()); + JPanel mainPanel = new TransparentPanel(); + mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS)); + mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); + //mainPanel.setPreferredSize(new Dimension(200, 150)); this.getContentPane().add(mainPanel); JTextPane descriptionMsg = new JTextPane(); @@ -120,6 +127,26 @@ public class ShowPreviewDialog GuiActivator.getResources().getI18NString( "service.gui.SHOW_PREVIEW_WARNING_DESCRIPTION")); + Icon warningIcon = null; + try + { + warningIcon = + new ImageIcon( + ImageIO.read(GuiActivator.getResources().getImageURL( + "service.gui.icons.WARNING_ICON"))); + } + catch (IOException e) + { + logger.debug("failed to load the warning icon"); + } + JLabel warningSign = new JLabel(warningIcon); + + JPanel warningPanel = new TransparentPanel(); + warningPanel.setLayout(new BoxLayout(warningPanel, BoxLayout.X_AXIS)); + warningPanel.add(warningSign); + warningPanel.add(Box.createHorizontalStrut(10)); + warningPanel.add(descriptionMsg); + enableReplacement = new JCheckBox( GuiActivator.getResources().getI18NString( @@ -133,7 +160,8 @@ public class ShowPreviewDialog "plugin.chatconfig.replacement.ENABLE_REPLACEMENT_PROPOSAL")); enableReplacementProposal.setOpaque(false); - JPanel checkBoxPanel = new TransparentPanel(new GridLayout(0, 1)); + JPanel checkBoxPanel = new TransparentPanel(); + checkBoxPanel.setLayout(new BoxLayout(checkBoxPanel, BoxLayout.Y_AXIS)); checkBoxPanel.add(enableReplacement); checkBoxPanel.add(enableReplacementProposal); @@ -142,16 +170,15 @@ public class ShowPreviewDialog buttonsPanel.add(okButton); buttonsPanel.add(cancelButton); - JPanel panel = new TransparentPanel(new GridLayout(0, 1)); - panel.add(descriptionMsg); - panel.add(checkBoxPanel); - mainPanel.add(panel, BorderLayout.NORTH); - mainPanel.add(buttonsPanel, BorderLayout.CENTER); + mainPanel.add(warningPanel); + mainPanel.add(Box.createVerticalStrut(10)); + mainPanel.add(checkBoxPanel); + mainPanel.add(buttonsPanel); okButton.addActionListener(this); cancelButton.addActionListener(this); - this.setPreferredSize(new Dimension(350, 200)); + this.setPreferredSize(new Dimension(390, 230)); } @Override