diff options
author | Vincent Lucas <chenzo@jitsi.org> | 2012-07-11 08:31:53 +0000 |
---|---|---|
committer | Vincent Lucas <chenzo@jitsi.org> | 2012-07-11 08:31:53 +0000 |
commit | 60db7913246aeaa2e2a9c41a359890544ef3656c (patch) | |
tree | bbbe0de5bd732c99d9a7ba333561e5e2d4ff9fb2 /src/net/java/sip/communicator/impl/gui/main | |
parent | 2864990fb3ad88e847ed3875911212314dff3252 (diff) | |
download | jitsi-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/main')
-rw-r--r-- | src/net/java/sip/communicator/impl/gui/main/call/OneToOneCallPanel.java | 61 |
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(); } |