Disable all buttons (but hold) when call is on hold.

cusax-fix
Sebastien Vincent 15 years ago
parent fed78e3b68
commit dd4f8ae491

@ -45,6 +45,11 @@ public class CallDialog
PluginComponentListener,
Skinnable
{
/**
* Serial version UID.
*/
private static final long serialVersionUID = 0L;
/**
* The logger for this class.
*/
@ -515,18 +520,20 @@ else if (!isSelected && desktopSharingButton.isSelected())
}
/**
* Enables all setting buttons.
* Enables or disable all setting buttons.
*
* @param enable true to enable buttons settings, false to disable
*/
public void enableButtons()
public void enableButtons(boolean enable)
{
// Buttons would be enabled once the call has entered in state
// connected.
dialButton.setEnabled(true);
conferenceButton.setEnabled(true);
holdButton.setEnabled(true);
muteButton.setEnabled(true);
recordButton.setEnabled(true);
volumeControlButton.setEnabled(true);
dialButton.setEnabled(enable);
conferenceButton.setEnabled(enable);
holdButton.setEnabled(enable);
muteButton.setEnabled(enable);
recordButton.setEnabled(enable);
volumeControlButton.setEnabled(enable);
if (!isLastConference)
{
@ -548,13 +555,13 @@ public void enableButtons()
// enable the video button.
if (videoTelephony != null && videoDevice != null)
{
videoButton.setEnabled(true);
videoButton.setEnabled(enable);
// If the video was already enabled (for example in the case of
// direct video call) make sure the video button is selected.
if (videoTelephony.isLocalVideoAllowed(call)
&& !videoButton.isSelected())
setVideoButtonSelected(true);
setVideoButtonSelected(enable);
}
else if (videoDevice == null)
videoButton.setToolTipText(GuiActivator.getResources()
@ -566,23 +573,23 @@ else if (videoDevice == null)
if (desktopSharing != null)
{
desktopSharingButton.setEnabled(true);
desktopSharingButton.setEnabled(enable);
// If the video was already enabled (for example in the case of
// direct desktop sharing call) make sure the video button is
// selected.
if (desktopSharing.isLocalVideoAllowed(call)
&& !desktopSharingButton.isSelected())
setDesktopSharingButtonSelected(true);
setDesktopSharingButtonSelected(enable);
}
if (protocolProvider.getOperationSet(
OperationSetAdvancedTelephony.class) != null)
{
transferCallButton.setEnabled(true);
transferCallButton.setEnabled(enable);
}
fullScreenButton.setEnabled(true);
fullScreenButton.setEnabled(enable);
}
}
@ -668,7 +675,9 @@ public void callPeerRemoved(CallPeerEvent evt)
}
}
public void callStateChanged(CallChangeEvent evt) {}
public void callStateChanged(CallChangeEvent evt)
{
}
/**
* Updates <tt>CallPeer</tt> related components to fit the new focus state.

@ -120,6 +120,7 @@ else if (newState == CallPeerState.CONNECTING_WITH_EARLY_MEDIA)
}
else if (newState == CallPeerState.CONNECTED)
{
System.out.println("CONNECTED" + CallPeerState.isOnHold(oldState));
if (!CallPeerState.isOnHold(oldState))
{
NotificationManager
@ -131,12 +132,14 @@ else if (newState == CallPeerState.CONNECTED)
renderer.getCallDialog().startCallTimer();
// Enabling all buttons when the call is connected.
renderer.getCallDialog().enableButtons();
renderer.getCallDialog().enableButtons(true);
}
else
{
renderer.setOnHold(false);
renderer.getCallDialog().updateHoldButtonState();
// Enabling all buttons when the call get back from hold
renderer.getCallDialog().enableButtons(true);
}
}
else if (newState == CallPeerState.DISCONNECTED)
@ -152,6 +155,7 @@ else if (newState == CallPeerState.FAILED)
else if (CallPeerState.isOnHold(newState))
{
renderer.setOnHold(true);
renderer.getCallDialog().enableButtons(false);
renderer.getCallDialog().updateHoldButtonState();
}

Loading…
Cancel
Save