aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/impl/gui
diff options
context:
space:
mode:
authorVincent Lucas <chenzo@jitsi.org>2012-07-11 08:31:53 +0000
committerVincent Lucas <chenzo@jitsi.org>2012-07-11 08:31:53 +0000
commit60db7913246aeaa2e2a9c41a359890544ef3656c (patch)
treebbbe0de5bd732c99d9a7ba333561e5e2d4ff9fb2 /src/net/java/sip/communicator/impl/gui
parent2864990fb3ad88e847ed3875911212314dff3252 (diff)
downloadjitsi-60db7913246aeaa2e2a9c41a359890544ef3656c.zip
jitsi-60db7913246aeaa2e2a9c41a359890544ef3656c.tar.gz
jitsi-60db7913246aeaa2e2a9c41a359890544ef3656c.tar.bz2
Shows the "Enable desktop remote control" check box for desktop sharing only when the remote peer supports sending mouse/keyboard events. Begins to merge common part of Jabber and GTalk Call/CallPeer/CallPeerMediaHandler into abstract classes.
Diffstat (limited to 'src/net/java/sip/communicator/impl/gui')
-rw-r--r--src/net/java/sip/communicator/impl/gui/main/call/OneToOneCallPanel.java61
1 files changed, 34 insertions, 27 deletions
diff --git a/src/net/java/sip/communicator/impl/gui/main/call/OneToOneCallPanel.java b/src/net/java/sip/communicator/impl/gui/main/call/OneToOneCallPanel.java
index 13bdaf4..6248e92 100644
--- a/src/net/java/sip/communicator/impl/gui/main/call/OneToOneCallPanel.java
+++ b/src/net/java/sip/communicator/impl/gui/main/call/OneToOneCallPanel.java
@@ -460,41 +460,48 @@ public class OneToOneCallPanel
*/
public void addDesktopSharingComponents()
{
- if (logger.isTraceEnabled())
- logger.trace("Add desktop sharing related components.");
-
- if (enableDesktopRemoteControl == null)
+ OperationSetDesktopSharingServer opSetDesktopSharingServer
+ = callPeer.getProtocolProvider().getOperationSet(
+ OperationSetDesktopSharingServer.class);
+ if(opSetDesktopSharingServer != null
+ && opSetDesktopSharingServer.isRemoteControlAvailable(callPeer))
{
- enableDesktopRemoteControl = new JCheckBox(
- GuiActivator.getResources().getI18NString(
- "service.gui.ENABLE_DESKTOP_REMOTE_CONTROL"));
+ if (logger.isTraceEnabled())
+ logger.trace("Add desktop sharing related components.");
+
+ if (enableDesktopRemoteControl == null)
+ {
+ enableDesktopRemoteControl = new JCheckBox(
+ GuiActivator.getResources().getI18NString(
+ "service.gui.ENABLE_DESKTOP_REMOTE_CONTROL"));
- southPanel = new TransparentPanel(
- new FlowLayout(FlowLayout.CENTER));
+ southPanel = new TransparentPanel(
+ new FlowLayout(FlowLayout.CENTER));
- southPanel.add(enableDesktopRemoteControl);
+ southPanel.add(enableDesktopRemoteControl);
- enableDesktopRemoteControl.setAlignmentX(CENTER_ALIGNMENT);
- enableDesktopRemoteControl.setOpaque(false);
+ enableDesktopRemoteControl.setAlignmentX(CENTER_ALIGNMENT);
+ enableDesktopRemoteControl.setOpaque(false);
- enableDesktopRemoteControl.addItemListener(new ItemListener()
- {
- public void itemStateChanged(ItemEvent e)
+ enableDesktopRemoteControl.addItemListener(new ItemListener()
{
- CallManager.enableDesktopRemoteControl(
- callPeer, e.getStateChange() == ItemEvent.SELECTED);
- }
- });
- }
+ public void itemStateChanged(ItemEvent e)
+ {
+ CallManager.enableDesktopRemoteControl(
+ callPeer, e.getStateChange() == ItemEvent.SELECTED);
+ }
+ });
+ }
- if (OSUtils.IS_MAC)
- {
- southPanel.setOpaque(true);
- southPanel.setBackground(new Color(GuiActivator.getResources()
- .getColor("service.gui.MAC_PANEL_BACKGROUND")));
- }
+ if (OSUtils.IS_MAC)
+ {
+ southPanel.setOpaque(true);
+ southPanel.setBackground(new Color(GuiActivator.getResources()
+ .getColor("service.gui.MAC_PANEL_BACKGROUND")));
+ }
- add(southPanel, BorderLayout.SOUTH);
+ add(southPanel, BorderLayout.SOUTH);
+ }
revalidate();
repaint();
}