From dd37445b7d512f205490239f6a99c8fa1e8d2411 Mon Sep 17 00:00:00 2001 From: Richard Alam Date: Wed, 10 Feb 2016 19:43:38 +0000 Subject: [PATCH] - screenshare client --- bigbluebutton-client/.actionScriptProperties | 1 + .../branding/default/style/css/BBBDefault.css | 2 +- .../css/assets/images/jnlp-run-chrome.png | Bin 0 -> 10328 bytes bigbluebutton-client/build.xml | 37 +- .../locale/en_US/bbbResources.properties | 22 + .../resources/config.xml.template | 9 + .../resources/prod/BigBlueButton.html | 1 + .../resources/prod/ScreenshareStandalone.html | 42 ++ .../resources/prod/lib/bbb_screenshare.js | 27 ++ .../src/ScreenshareModule.mxml | 117 +++++ .../src/ScreenshareStandalone.mxml | 355 ++++++++++++++ .../src/org/bigbluebutton/core/UsersUtil.as | 4 + .../main/model/users/UserService.as | 2 +- .../screenshare/assets/images/Cursor.png | Bin 0 -> 551 bytes .../screenshare/assets/images/Cursor2.png | Bin 0 -> 3031 bytes .../screenshare/assets/images/cursor3.png | Bin 0 -> 342 bytes .../screenshare/assets/images/cursor4.png | Bin 0 -> 332 bytes .../screenshare/events/AppletStartedEvent.as | 36 ++ .../modules/screenshare/events/CursorEvent.as | 36 ++ .../events/IsSharingScreenEvent.as | 39 ++ .../modules/screenshare/events/ModuleEvent.as | 39 ++ .../events/RecordingStatusEvent.as | 40 ++ .../events/RequestToStartSharing.as | 15 + .../events/RequestToStopSharing.as | 14 + .../events/ScreenshareAppletLaunchedEvent.as | 14 + .../modules/screenshare/events/ShareEvent.as | 34 ++ .../events/ShareStartRequestResponseEvent.as | 21 + .../screenshare/events/ShareStartedEvent.as | 17 + .../screenshare/events/ShareStoppedEvent.as | 17 + .../screenshare/events/ShareWindowEvent.as | 33 ++ .../events/StartShareRequestFailedEvent.as | 14 + .../events/StartShareRequestSuccessEvent.as | 17 + .../screenshare/events/StartedViewingEvent.as | 35 ++ .../events/StopSharingButtonEvent.as | 33 ++ .../modules/screenshare/events/StreamEvent.as | 37 ++ .../screenshare/events/StreamStartedEvent.as | 39 ++ .../screenshare/events/StreamStoppedEvent.as | 17 + .../screenshare/events/ViewStreamEvent.as | 34 ++ .../screenshare/events/ViewWindowEvent.as | 33 ++ .../managers/PublishWindowManager.as | 100 ++++ .../managers/ScreenshareManager.as | 207 ++++++++ .../managers/ToolbarButtonManager.as | 84 ++++ .../managers/ViewerWindowManager.as | 83 ++++ .../screenshare/maps/ScreenshareEventMap.mxml | 121 +++++ .../screenshare/model/ScreenshareModel.as | 79 +++ .../screenshare/model/ScreenshareOptions.as | 51 ++ .../screenshare/model/ScreenshareStream.as | 12 + .../screenshare/services/MessageReceiver.as | 135 ++++++ .../screenshare/services/MessageSender.as | 47 ++ .../services/ScreenshareService.as | 104 ++++ .../screenshare/services/red5/Connection.as | 422 +++++++++++++++++ .../services/red5/ConnectionEvent.as | 48 ++ .../services/red5/IMessageListener.as | 25 + .../modules/screenshare/utils/JavaCheck.as | 104 ++++ .../components/ScreensharePublishWindow.mxml | 448 ++++++++++++++++++ .../components/ScreenshareViewWindow.mxml | 351 ++++++++++++++ .../view/components/ToolbarButton.mxml | 131 +++++ 57 files changed, 3777 insertions(+), 8 deletions(-) create mode 100644 bigbluebutton-client/branding/default/style/css/assets/images/jnlp-run-chrome.png create mode 100755 bigbluebutton-client/resources/prod/ScreenshareStandalone.html create mode 100644 bigbluebutton-client/resources/prod/lib/bbb_screenshare.js create mode 100755 bigbluebutton-client/src/ScreenshareModule.mxml create mode 100755 bigbluebutton-client/src/ScreenshareStandalone.mxml mode change 100644 => 100755 bigbluebutton-client/src/org/bigbluebutton/main/model/users/UserService.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/assets/images/Cursor.png create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/assets/images/Cursor2.png create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/assets/images/cursor3.png create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/assets/images/cursor4.png create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/AppletStartedEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/CursorEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/IsSharingScreenEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/ModuleEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/RecordingStatusEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/RequestToStartSharing.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/RequestToStopSharing.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/ScreenshareAppletLaunchedEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/ShareEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/ShareStartRequestResponseEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/ShareStartedEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/ShareStoppedEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/ShareWindowEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/StartShareRequestFailedEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/StartShareRequestSuccessEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/StartedViewingEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/StopSharingButtonEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/StreamEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/StreamStartedEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/StreamStoppedEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/ViewStreamEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/events/ViewWindowEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/PublishWindowManager.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ScreenshareManager.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ToolbarButtonManager.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/managers/ViewerWindowManager.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/maps/ScreenshareEventMap.mxml create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/model/ScreenshareModel.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/model/ScreenshareOptions.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/model/ScreenshareStream.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/MessageReceiver.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/MessageSender.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/ScreenshareService.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/red5/Connection.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/red5/ConnectionEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/services/red5/IMessageListener.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/utils/JavaCheck.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreensharePublishWindow.mxml create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ScreenshareViewWindow.mxml create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/screenshare/view/components/ToolbarButton.mxml diff --git a/bigbluebutton-client/.actionScriptProperties b/bigbluebutton-client/.actionScriptProperties index f961238f3d..24eb9b3807 100755 --- a/bigbluebutton-client/.actionScriptProperties +++ b/bigbluebutton-client/.actionScriptProperties @@ -15,6 +15,7 @@ + diff --git a/bigbluebutton-client/branding/default/style/css/BBBDefault.css b/bigbluebutton-client/branding/default/style/css/BBBDefault.css index d67999954d..44862eb493 100755 --- a/bigbluebutton-client/branding/default/style/css/BBBDefault.css +++ b/bigbluebutton-client/branding/default/style/css/BBBDefault.css @@ -512,7 +512,7 @@ TitleWindow { } .chromeJavaHelpImage { - imageSource: Embed(source='assets/images/chromePluginBlocked.png'); + imageSource: Embed(source='assets/images/jnlp-run-chrome.png'); } .webcamSettingsWindowTitleStyle, .micSettingsWindowTitleStyle { diff --git a/bigbluebutton-client/branding/default/style/css/assets/images/jnlp-run-chrome.png b/bigbluebutton-client/branding/default/style/css/assets/images/jnlp-run-chrome.png new file mode 100644 index 0000000000000000000000000000000000000000..33ab2ac4085fa3b40f79ee53a3207320cd006ba8 GIT binary patch literal 10328 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 + + @@ -217,7 +219,17 @@ - + + + + + + + + + + + @@ -250,6 +262,11 @@ + + + + + @@ -283,7 +300,7 @@ @@ -384,7 +401,12 @@ description="Compiling standalone desktop sharing"> - + + + + + @@ -505,14 +527,17 @@ - - - diff --git a/bigbluebutton-client/locale/en_US/bbbResources.properties b/bigbluebutton-client/locale/en_US/bbbResources.properties index e190ea76da..3316378b4a 100755 --- a/bigbluebutton-client/locale/en_US/bbbResources.properties +++ b/bigbluebutton-client/locale/en_US/bbbResources.properties @@ -280,6 +280,28 @@ bbb.video.publish.closeBtn.accessName = Close the webcam settings dialog box bbb.video.publish.closeBtn.label = Cancel bbb.video.publish.titleBar = Publish Webcam Window bbb.video.streamClose.toolTip = Close stream for: {0} +bbb.screensharePublish.title = Desktop Sharing: Presenter's Preview +bbb.screensharePublish.fullscreen.tooltip = Share Your Main Screen +bbb.screensharePublish.fullscreen.label = Full Screen +bbb.screensharePublish.region.tooltip = Share a Part of Your Screen +bbb.screensharePublish.region.label = Region +bbb.screensharePublish.stop.tooltip = Close screen share +bbb.screensharePublish.stop.label = Close +bbb.screensharePublish.maximizeRestoreBtn.toolTip = You cannot maximize this window. +bbb.screensharePublish.closeBtn.toolTip = Stop Sharing and Close +bbb.screensharePublish.chromeOnMacUnsupportedHint = Desktop sharing is not currently supported on Chrome running under Mac OS X. Recommend you use FireFox to share desktop. +bbb.screensharePublish.minimizeBtn.toolTip = Minimize +bbb.screensharePublish.minimizeBtn.accessibilityName = Minimize the Desktop Sharing Publish Window +bbb.screensharePublish.maximizeRestoreBtn.accessibilityName = Maximize the Desktop Sharing Publish Window +bbb.screensharePublish.chromeHint.title = Chrome needs your permission to run the application. +bbb.screensharePublish.chromeHint.message = Click Keep button to save the file then click the file to run the application. +bbb.screensharePublish.chromeHint.button = Retry +bbb.screenshareView.title = Desktop Sharing +bbb.screenshareView.fitToWindow = Fit to Window +bbb.screenshareView.actualSize = Display actual size +bbb.screenshareView.minimizeBtn.accessibilityName = Minimize the Desktop Sharing View Window +bbb.screenshareView.maximizeRestoreBtn.accessibilityName = Maximize the Desktop Sharing View Window +bbb.screenshareView.closeBtn.accessibilityName = Close the Desktop Sharing View Window bbb.desktopPublish.title = Desktop Sharing: Presenter's Preview bbb.desktopPublish.fullscreen.tooltip = Share Your Main Screen bbb.desktopPublish.fullscreen.label = Full Screen diff --git a/bigbluebutton-client/resources/config.xml.template b/bigbluebutton-client/resources/config.xml.template index 82ce7a363c..f2df5d4c5a 100755 --- a/bigbluebutton-client/resources/config.xml.template +++ b/bigbluebutton-client/resources/config.xml.template @@ -53,6 +53,15 @@ baseTabIndex="201" /> + + + diff --git a/bigbluebutton-client/resources/prod/ScreenshareStandalone.html b/bigbluebutton-client/resources/prod/ScreenshareStandalone.html new file mode 100755 index 0000000000..cb5c9f48c2 --- /dev/null +++ b/bigbluebutton-client/resources/prod/ScreenshareStandalone.html @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + Get Adobe Flash player + + + + + +
+ + diff --git a/bigbluebutton-client/resources/prod/lib/bbb_screenshare.js b/bigbluebutton-client/resources/prod/lib/bbb_screenshare.js new file mode 100644 index 0000000000..3797ed239c --- /dev/null +++ b/bigbluebutton-client/resources/prod/lib/bbb_screenshare.js @@ -0,0 +1,27 @@ +function startScreensharing(jnlp, meetingId, authToken, fullScreen) +{ + console.log("Starting JSW [" + authToken + "]"); + var launchuri = jnlp + "?authToken=" + authToken + "&fullScreen=" + fullScreen + "&meetingId=" + meetingId; + + $('