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();
}