diff --git a/src/net/java/sip/communicator/impl/gui/main/call/UIVideoHandler.java b/src/net/java/sip/communicator/impl/gui/main/call/UIVideoHandler.java index 94c1c3643..338d6e332 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/UIVideoHandler.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/UIVideoHandler.java @@ -30,6 +30,7 @@ * The UIVideoHandler is meant to handle all video related events. * * @author Yana Stamcheva + * @author Lyubomir Marinov */ public class UIVideoHandler { @@ -1606,55 +1607,84 @@ public Component getRemoteVideoComponent() return remoteVideo; } - /** - * Creates the default photo panel. - * - * @param callPeer the corresponding call peer - * @param videoToolbar the corresponding video tool bar - * @return - */ - private Component createDefaultPhotoPanel( CallPeer callPeer, - Component videoToolbar) + private Component createDefaultPhotoPanel( + ImageIcon photoLabelIcon, + Component videoToolbar) { - JPanel defaultPanel = new TransparentPanel(new BorderLayout()); + JLabel photoLabel = new JLabel(); - JPanel photoPanel = new TransparentPanel(new BorderLayout()) - { - /** - * @{inheritDoc} - */ - @Override - public void paintComponent(Graphics g) + photoLabel.setIcon(photoLabelIcon); + + JPanel photoPanel + = new TransparentPanel(new GridBagLayout()) { - super.paintComponent(g); + /** + * @{inheritDoc} + */ + @Override + public void paintComponent(Graphics g) + { + super.paintComponent(g); - g = g.create(); + g = g.create(); - try - { - AntialiasingManager.activateAntialiasing(g); + try + { + AntialiasingManager.activateAntialiasing(g); - g.setColor(Color.GRAY); - g.fillRoundRect( - 0, 0, this.getWidth(), this.getHeight(), 6, 6); - } - finally - { - g.dispose(); + g.setColor(Color.GRAY); + g.fillRoundRect( + 0, 0, this.getWidth(), this.getHeight(), + 6, 6); + } + finally + { + g.dispose(); + } } - } - }; + }; - JLabel photoLabel = new JLabel(getPhotoLabelIcon(callPeer)); - photoPanel.add(photoLabel); photoPanel.setPreferredSize(new Dimension(320, 240)); - defaultPanel.add(photoPanel, BorderLayout.CENTER); - defaultPanel.add(videoToolbar, BorderLayout.SOUTH); + GridBagConstraints photoPanelConstraints = new GridBagConstraints(); + + photoPanelConstraints.anchor = GridBagConstraints.CENTER; + photoPanelConstraints.fill = GridBagConstraints.NONE; + photoPanel.add(photoLabel, photoPanelConstraints); + + JPanel defaultPanel = new TransparentPanel(new GridBagLayout()); + GridBagConstraints defaultPanelConstraints = new GridBagConstraints(); + + defaultPanelConstraints.anchor = GridBagConstraints.CENTER; + defaultPanelConstraints.fill = GridBagConstraints.BOTH; + defaultPanelConstraints.gridx = 0; + defaultPanelConstraints.gridy = 0; + defaultPanelConstraints.weightx = 1; + defaultPanelConstraints.weighty = 1; + defaultPanel.add(photoPanel, defaultPanelConstraints); + + defaultPanelConstraints.fill = GridBagConstraints.HORIZONTAL; + defaultPanelConstraints.gridy = 1; + defaultPanelConstraints.weighty = 0; + defaultPanel.add(videoToolbar, defaultPanelConstraints); return defaultPanel; } + /** + * Creates the default photo panel. + * + * @param callPeer the corresponding call peer + * @param videoToolbar the corresponding video tool bar + * @return + */ + private Component createDefaultPhotoPanel( CallPeer callPeer, + Component videoToolbar) + { + return + createDefaultPhotoPanel(getPhotoLabelIcon(callPeer), videoToolbar); + } + /** * Creates the default photo panel. * @@ -1666,44 +1696,12 @@ private Component createDefaultPhotoPanel( ConferenceMember conferenceMember, Component videoToolbar) { - JPanel defaultPanel = new TransparentPanel(new BorderLayout()); - - JPanel photoPanel = new TransparentPanel(new BorderLayout()) - { - /** - * @{inheritDoc} - */ - @Override - public void paintComponent(Graphics g) - { - super.paintComponent(g); - - g = g.create(); - - try - { - AntialiasingManager.activateAntialiasing(g); - - g.setColor(Color.GRAY); - g.fillRoundRect( - 0, 0, this.getWidth(), this.getHeight(), 6, 6); - } - finally - { - g.dispose(); - } - } - }; - - JLabel photoLabel = new JLabel(new ImageIcon( - ImageLoader.getImage(ImageLoader.DEFAULT_USER_PHOTO))); - photoPanel.add(photoLabel); - photoPanel.setPreferredSize(new Dimension(320, 240)); - - defaultPanel.add(photoPanel, BorderLayout.CENTER); - defaultPanel.add(videoToolbar, BorderLayout.SOUTH); - - return defaultPanel; + return + createDefaultPhotoPanel( + new ImageIcon( + ImageLoader.getImage( + ImageLoader.DEFAULT_USER_PHOTO)), + videoToolbar); } /** @@ -1716,68 +1714,26 @@ public void paintComponent(Graphics g) private Component createDefaultPhotoPanel( ProtocolProviderService pps, Component videoToolbar) { - JPanel defaultPanel = new TransparentPanel(new BorderLayout()); - - JPanel photoPanel - = new TransparentPanel(new FlowLayout(FlowLayout.CENTER)) - { - /** - * @{inheritDoc} - */ - @Override - public void paintComponent(Graphics g) - { - super.paintComponent(g); - - g = g.create(); - - try - { - AntialiasingManager.activateAntialiasing(g); - - g.setColor(Color.GRAY); - g.fillRoundRect( - 0, 0, this.getWidth(), this.getHeight(), 6, 6); - } - finally - { - g.dispose(); - } - } - }; - - JLabel photoLabel = new JLabel(); - - final OperationSetServerStoredAccountInfo accountInfoOpSet - = pps.getOperationSet( - OperationSetServerStoredAccountInfo.class); + OperationSetServerStoredAccountInfo accountInfoOpSet + = pps.getOperationSet(OperationSetServerStoredAccountInfo.class); + ImageIcon photoLabelIcon = null; if (accountInfoOpSet != null) { - byte[] accountImage - = AccountInfoUtils.getImage(accountInfoOpSet); + byte[] accountImage = AccountInfoUtils.getImage(accountInfoOpSet); // do not set empty images - if ((accountImage != null) - && (accountImage.length > 0)) - { - photoLabel.setIcon(new ImageIcon(accountImage)); - } + if ((accountImage != null) && (accountImage.length > 0)) + photoLabelIcon = new ImageIcon(accountImage); } - - if (photoLabel.getIcon() == null) + if (photoLabelIcon == null) { - photoLabel.setIcon(new ImageIcon( - ImageLoader.getImage(ImageLoader.DEFAULT_USER_PHOTO))); + photoLabelIcon + = new ImageIcon( + ImageLoader.getImage(ImageLoader.DEFAULT_USER_PHOTO)); } - photoPanel.add(photoLabel); - photoLabel.setPreferredSize(new Dimension(320, 240)); - - defaultPanel.add(photoPanel, BorderLayout.CENTER); - defaultPanel.add(localVideoToolbar, BorderLayout.SOUTH); - - return defaultPanel; + return createDefaultPhotoPanel(photoLabelIcon, videoToolbar); } private Component createDefaultVideoToolbar(CallPeer callPeer) diff --git a/src/net/java/sip/communicator/impl/gui/main/call/conference/BasicConferenceParticipantPanel.java b/src/net/java/sip/communicator/impl/gui/main/call/conference/BasicConferenceParticipantPanel.java index 1b13b99f4..64180a090 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/conference/BasicConferenceParticipantPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/conference/BasicConferenceParticipantPanel.java @@ -150,7 +150,7 @@ public abstract class BasicConferenceParticipantPanel /** * Indicates if we're in a video interface. */ - private boolean isVideo = false; + private boolean isVideo; /** * Creates an instance of ConferenceParticipantPanel. @@ -167,6 +167,8 @@ public BasicConferenceParticipantPanel( CallRenderer renderer, this.isLocalPeer = isLocalPeer; this.isVideo = isVideo; + constraints.anchor = GridBagConstraints.CENTER; + if (isVideo) initVideoConferencePanel(); else @@ -183,10 +185,7 @@ public BasicConferenceParticipantPanel( CallRenderer renderer, public BasicConferenceParticipantPanel( CallRenderer renderer, boolean isLocalPeer) { - this.renderer = renderer; - this.isLocalPeer = isLocalPeer; - - initAudioConferencePanel(); + this(renderer, isLocalPeer, false); } /** @@ -250,9 +249,12 @@ private void initAudioConferencePanel() */ private void initPeerDetailsPanel() { - ImageIcon avatarIcon = new ImageIcon - (ImageLoader.getImage(ImageLoader.DEFAULT_USER_PHOTO) - .getScaledInstance( AVATAR_WIDTH, + ImageIcon avatarIcon + = new ImageIcon( + ImageLoader + .getImage(ImageLoader.DEFAULT_USER_PHOTO) + .getScaledInstance( + AVATAR_WIDTH, AVATAR_HEIGHT, Image.SCALE_SMOOTH)); @@ -262,7 +264,6 @@ private void initPeerDetailsPanel() imageLabel.setIcon(avatarIcon); constraints.fill = GridBagConstraints.NONE; - constraints.anchor = GridBagConstraints.LINE_START; constraints.gridx = 0; constraints.gridy = 0; constraints.weightx = 0; @@ -486,9 +487,12 @@ public void loadSkin() { if(!iconChanged) { - ImageIcon avatarIcon = new ImageIcon - (ImageLoader.getImage(ImageLoader.DEFAULT_USER_PHOTO) - .getScaledInstance( AVATAR_WIDTH, + ImageIcon avatarIcon + = new ImageIcon( + ImageLoader + .getImage(ImageLoader.DEFAULT_USER_PHOTO) + .getScaledInstance( + AVATAR_WIDTH, AVATAR_HEIGHT, Image.SCALE_SMOOTH)); diff --git a/src/net/java/sip/communicator/impl/gui/main/call/conference/ConferencePeerPanel.java b/src/net/java/sip/communicator/impl/gui/main/call/conference/ConferencePeerPanel.java index b3d939806..872bfa003 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/conference/ConferencePeerPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/conference/ConferencePeerPanel.java @@ -24,14 +24,13 @@ import org.jitsi.service.neomedia.*; import org.jitsi.service.protocol.event.*; -// disambiguation /** * The ConferencePeerPanel renders a single ConferencePeer, * which is not a conference focus. * * @author Yana Stamcheva - * @author Lubomir Marinov + * @author Lyubomir Marinov * @author Adam Netocny */ public class ConferencePeerPanel @@ -177,12 +176,12 @@ public ConferencePeerPanel( ConferenceCallPanel callRenderer, menuBar.add(callPeerMenu); this.addToNameBar(menuBar); - if (isVideo) - this.setTitleBackground(Color.DARK_GRAY); - else - this.setTitleBackground( - new Color(GuiActivator.getResources().getColor( - "service.gui.CALL_PEER_NAME_BACKGROUND"))); + setTitleBackground( + isVideo + ? Color.DARK_GRAY + : new Color( + GuiActivator.getResources().getColor( + "service.gui.CALL_PEER_NAME_BACKGROUND"))); initSecuritySettings(); }