Add property to control display of the personPhoto placeholder

fix-message-formatting
Daniel Pocock 11 years ago
parent a901cff0d0
commit b3b573aaf5

@ -118,7 +118,14 @@ public OneToOneCallPanel(
addCallPeerPanel(callPeer, uiVideoHandler); addCallPeerPanel(callPeer, uiVideoHandler);
setPreferredSize(new Dimension(400, 400)); int preferredHeight = 400;
if(GuiActivator.getConfigurationService().getBoolean(
OneToOneCallPeerPanel.HIDE_PLACEHOLDER_PIC_PROP,
false))
{
preferredHeight = 128;
}
setPreferredSize(new Dimension(400, preferredHeight));
setTransferHandler(new CallTransferHandler(call)); setTransferHandler(new CallTransferHandler(call));
this.callContainer.addPropertyChangeListener( this.callContainer.addPropertyChangeListener(
@ -457,4 +464,4 @@ public void updateHoldButtonState()
{ {
callContainer.updateHoldButtonState(); callContainer.updateHoldButtonState();
} }
} }

@ -60,6 +60,13 @@ public class OneToOneCallPeerPanel
*/ */
private static final long serialVersionUID = 0L; private static final long serialVersionUID = 0L;
/**
* Property to disable showing the dummy picture for the peer when no
* streams present.
*/
public static final String HIDE_PLACEHOLDER_PIC_PROP
= "net.java.sip.communicator.impl.gui.main.call.HIDE_PLACEHOLDER_PIC_PROP";
/** /**
* The <tt>CallPeer</tt>, which is rendered in this panel. * The <tt>CallPeer</tt>, which is rendered in this panel.
*/ */
@ -277,7 +284,15 @@ public OneToOneCallPeerPanel(
detailsChangeListener); detailsChangeListener);
securityPanel = SecurityPanel.create(this, callPeer, null); securityPanel = SecurityPanel.create(this, callPeer, null);
photoLabel = new JLabel(getPhotoLabelIcon()); ImageIcon icon = getPhotoLabelIcon();
if(icon != null)
{
photoLabel = new JLabel(icon);
}
else
{
photoLabel = new JLabel();
}
center = createCenter(); center = createCenter();
statusBar = createStatusBar(); statusBar = createStatusBar();
@ -345,6 +360,21 @@ public OneToOneCallPeerPanel(
updateViewFromModel(); updateViewFromModel();
} }
/**
* Set size of the {@link #photoLabel}
*/
private void sizePhotoLabel()
{
if(photoLabel.getIcon() != null)
{
photoLabel.setPreferredSize(new Dimension(90, 90));
}
else
{
photoLabel.setPreferredSize(new Dimension(0, 0));
}
}
/** /**
* Creates the <tt>Component</tt> hierarchy of the central area of this * Creates the <tt>Component</tt> hierarchy of the central area of this
* <tt>CallPeerPanel</tt> which displays the photo of the <tt>CallPeer</tt> * <tt>CallPeerPanel</tt> which displays the photo of the <tt>CallPeer</tt>
@ -352,7 +382,7 @@ public OneToOneCallPeerPanel(
*/ */
private VideoContainer createCenter() private VideoContainer createCenter()
{ {
photoLabel.setPreferredSize(new Dimension(90, 90)); sizePhotoLabel();
return createVideoContainer(photoLabel); return createVideoContainer(photoLabel);
} }
@ -584,6 +614,22 @@ public String getPeerName()
return peerName; return peerName;
} }
/**
* Tests a provided boolean property name, returning false if it should be
* hidden.
*
* @param componentHidePropertyName the name of the boolean property to
* check.
* @return false if the component should be hidden, true otherwise.
*
*/
private boolean isComponentEnabled(String componentHidePropertyName)
{
return !GuiActivator.getConfigurationService().getBoolean(
componentHidePropertyName,
false);
}
/** /**
* Gets the <tt>Icon</tt> to be displayed in {@link #photoLabel}. * Gets the <tt>Icon</tt> to be displayed in {@link #photoLabel}.
* *
@ -592,7 +638,7 @@ public String getPeerName()
private ImageIcon getPhotoLabelIcon() private ImageIcon getPhotoLabelIcon()
{ {
return return
(peerImage == null) (peerImage == null && isComponentEnabled(HIDE_PLACEHOLDER_PIC_PROP))
? new ImageIcon( ? new ImageIcon(
ImageLoader.getImage(ImageLoader.DEFAULT_USER_PHOTO)) ImageLoader.getImage(ImageLoader.DEFAULT_USER_PHOTO))
: peerImage; : peerImage;
@ -677,10 +723,18 @@ public void loadSkin()
if(peerImage == null) if(peerImage == null)
{ {
photoLabel.setIcon( if(isComponentEnabled(HIDE_PLACEHOLDER_PIC_PROP))
new ImageIcon( {
ImageLoader.getImage( photoLabel.setIcon(
ImageLoader.DEFAULT_USER_PHOTO))); new ImageIcon(
ImageLoader.getImage(
ImageLoader.DEFAULT_USER_PHOTO)));
}
else
{
photoLabel.setIcon(null);
}
sizePhotoLabel();
} }
} }
@ -1108,6 +1162,7 @@ public void setPeerImage(byte[] image)
public void run() public void run()
{ {
photoLabel.setIcon(peerImage); photoLabel.setIcon(peerImage);
sizePhotoLabel();
photoLabel.repaint(); photoLabel.repaint();
} }
}); });
@ -1115,6 +1170,7 @@ public void run()
else else
{ {
photoLabel.setIcon(peerImage); photoLabel.setIcon(peerImage);
sizePhotoLabel();
photoLabel.repaint(); photoLabel.repaint();
} }
} }
@ -1582,4 +1638,4 @@ public void setInterested(boolean value)
this.interested = value; this.interested = value;
} }
} }
} }

Loading…
Cancel
Save