You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/01/11 09:15:37 UTC
svn commit: r1778259 [2/2] - in /openmeetings/application:
branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/
branches/3.2.x/openmeetings-flash/src/main/swf/
branches/3.2.x/openmeetings-flash/src/main/swf/base/ bra...
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java Wed Jan 11 09:15:37 2017
@@ -232,9 +232,11 @@ public class Application extends Authent
rcl.setIsSuperModerator(client.hasRight(Right.superModerator));
rcl.setIsMod(client.hasRight(Right.moderator));
rcl.setIsBroadcasting(client.hasRight(Right.audio));
- rcl.setCanVideo(client.hasRight(Right.video) && client.hasActivity(Activity.broadcastV));
+ rcl.setCanVideo(client.hasRight(Right.video) && client.isCamEnabled() && client.hasActivity(Activity.broadcastV));
rcl.setCanDraw(client.hasRight(Right.whiteBoard));
if (client.hasActivity(Activity.broadcastA) || client.hasActivity(Activity.broadcastV)) {
+ rcl.setVWidth(client.getWidth());
+ rcl.setVHeight(client.getHeight());
if (client.getPod() != Pod.none) {
rcl.setInterviewPodId(client.getPod() == Pod.left ? 1 : 2);
}
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java Wed Jan 11 09:15:37 2017
@@ -38,6 +38,7 @@ import org.apache.openmeetings.web.room.
import org.apache.openmeetings.web.room.RoomPanel.Action;
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.json.JSONObject;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.extensions.markup.html.tabs.ITab;
import org.apache.wicket.markup.head.IHeaderResponse;
@@ -50,6 +51,7 @@ import org.apache.wicket.markup.html.pan
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
+import org.apache.wicket.util.string.StringValue;
import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
@@ -62,11 +64,13 @@ public class RoomSidebar extends Panel {
public static final String FUNC_TOGGLE_RIGHT = "toggleRight";
public static final String FUNC_TOGGLE_ACTIVITY = "toggleActivity";
public static final String FUNC_ACTION = "roomAction";
+ public static final String FUNC_SETTINGS = "avSettings";
public static final String PARAM_ACTION = "action";
public static final String PARAM_ACTIVITY = "activity";
public static final String PARAM_RIGHT = "right";
public static final String PARAM_UID = "uid";
public static final String PARAM_POD = "pod";
+ public static final String PARAM_SETTINGS = "s";
private final RoomPanel room;
private final TabbedPanel tabs;
private final ITab userTab;
@@ -91,12 +95,12 @@ public class RoomSidebar extends Panel {
@Override
protected void respond(AjaxRequestTarget target) {
try {
- String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString();
+ String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString();
if (Strings.isEmpty(uid)) {
return;
}
if (room.getClient().hasRight(Right.moderator)) {
- Action a = Action.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTION).toString());
+ Action a = Action.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTION).toString());
kickedClient = getOnlineClient(uid);
if (kickedClient == null) {
return;
@@ -121,11 +125,11 @@ public class RoomSidebar extends Panel {
@Override
protected void respond(AjaxRequestTarget target) {
try {
- String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString();
+ String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString();
if (Strings.isEmpty(uid)) {
return;
}
- Right right = Right.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_RIGHT).toString());
+ Right right = Right.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_RIGHT).toString());
if (room.getClient().hasRight(Right.moderator)) {
Client client = getOnlineClient(uid);
if (client == null) {
@@ -158,11 +162,11 @@ public class RoomSidebar extends Panel {
@Override
protected void respond(AjaxRequestTarget target) {
try {
- String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString();
+ String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString();
if (Strings.isEmpty(uid)) {
return;
}
- Activity a = Activity.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTIVITY).toString());
+ Activity a = Activity.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTIVITY).toString());
Client c = getOnlineClient(uid);
if (c == null) {
return;
@@ -176,6 +180,15 @@ public class RoomSidebar extends Panel {
}
}
if (activityAllowed(c, a, room.getRoom())) {
+ if (a == Activity.broadcastA && !c.isMicEnabled()) {
+ return;
+ }
+ if (a == Activity.broadcastV && !c.isCamEnabled()) {
+ return;
+ }
+ if (a == Activity.broadcastAV && !c.isMicEnabled() && !c.isCamEnabled()) {
+ return;
+ }
Pod pod = c.getPod();
c.setPod(getRequest().getRequestParameters().getParameterValue(PARAM_POD).toOptionalInteger());
if (pod != Pod.none && pod != c.getPod()) {
@@ -191,6 +204,23 @@ public class RoomSidebar extends Panel {
}
}
};
+ private final AbstractDefaultAjaxBehavior avSettings = new AbstractDefaultAjaxBehavior() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void respond(AjaxRequestTarget target) {
+ StringValue s = getRequest().getRequestParameters().getParameterValue(PARAM_SETTINGS);
+ if (!s.isEmpty()) {
+ JSONObject o = new JSONObject(s.toString());
+ room.getClient().setCam(o.getInt("cam"));
+ room.getClient().setMic(o.getInt("mic"));
+ boolean interview = Room.Type.interview == room.getRoom().getType();
+ room.getClient().setWidth(interview ? 320 : o.getInt("width"));
+ room.getClient().setHeight(interview ? 260 : o.getInt("height"));
+ room.broadcast(target, room.getClient());
+ }
+ }
+ };
public RoomSidebar(String id, final RoomPanel room) {
super(id);
@@ -204,12 +234,12 @@ public class RoomSidebar extends Panel {
public boolean isVisible() {
return true;
}
-
+
@Override
public IModel<String> getTitle() {
return Model.of(getString("613"));
}
-
+
@Override
public WebMarkupContainer getPanel(String containerId) {
return new UserFragment(containerId, "user-panel");
@@ -222,12 +252,12 @@ public class RoomSidebar extends Panel {
public boolean isVisible() {
return showFiles;
}
-
+
@Override
public IModel<String> getTitle() {
return Model.of(getString("614"));
}
-
+
@Override
public WebMarkupContainer getPanel(String containerId) {
return new FileFragment(containerId, "file-panel");
@@ -245,23 +275,24 @@ public class RoomSidebar extends Panel {
room.kickUser(target, kickedClient);
}
});
- add(toggleRight, toggleActivity, roomAction);
+ add(toggleRight, toggleActivity, roomAction, avSettings);
}
-
+
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(new PriorityHeaderItem(getNamedFunction(FUNC_TOGGLE_RIGHT, toggleRight, explicit(PARAM_RIGHT), explicit(PARAM_UID))));
response.render(new PriorityHeaderItem(getNamedFunction(FUNC_TOGGLE_ACTIVITY, toggleActivity, explicit(PARAM_ACTIVITY), explicit(PARAM_UID), explicit(PARAM_POD))));
response.render(new PriorityHeaderItem(getNamedFunction(FUNC_ACTION, roomAction, explicit(PARAM_ACTION), explicit(PARAM_UID))));
+ response.render(new PriorityHeaderItem(getNamedFunction(FUNC_SETTINGS, avSettings, explicit(PARAM_SETTINGS))));
}
-
+
private ListView<Client> updateUsers() {
//TODO do we need sort??
users.setList(getRoomClients(room.getRoom().getId()));
return users;
}
-
+
public class UserFragment extends Fragment {
private static final long serialVersionUID = 1L;
@@ -271,7 +302,7 @@ public class RoomSidebar extends Panel {
add(updateUsers());
}
}
-
+
public class FileFragment extends Fragment {
private static final long serialVersionUID = 1L;
@@ -300,7 +331,7 @@ public class RoomSidebar extends Panel {
public boolean isShowFiles() {
return showFiles;
}
-
+
public void showUpload(IPartialPageRequestHandler handler) {
upload.open(handler);
}
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java Wed Jan 11 09:15:37 2017
@@ -72,6 +72,8 @@ public abstract class ClientIcon extends
//request/remove
cls.append(CLS_CLICKABLE);
add(AttributeAppender.replace("onclick", getScript()));
+ } else {
+ add(AttributeAppender.replace("onclick", ""));
}
internalUpdate();
add(AttributeAppender.replace("title", getTitle()));
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java Wed Jan 11 09:15:37 2017
@@ -18,15 +18,13 @@
*/
package org.apache.openmeetings.web.room.sidebar.icon;
-import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_ACTION;
-
import org.apache.openmeetings.web.app.Client;
+import org.apache.openmeetings.web.app.Client.Activity;
import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.openmeetings.web.room.RoomPanel.Action;
public class RefreshIcon extends ClientIcon {
private static final long serialVersionUID = 1L;
-
+
public RefreshIcon(String id, Client client, RoomPanel room) {
super(id, client, room);
mainCssClass = "restart ";
@@ -36,20 +34,20 @@ public class RefreshIcon extends ClientI
protected String getTitle() {
return getString("610");
}
-
+
@Override
protected String getAlign() {
return ALIGN_RIGHT;
}
-
+
@Override
protected boolean isClickable() {
- return false;//TODO broadcasting return self || room.getClient().hasRight(right) && !client.hasRight(Right.superModerator);
+ return client.hasActivity(Activity.broadcastA) || client.hasActivity(Activity.broadcastV);
}
-
+
@Override
protected String getScript() {
- return String.format("%s('%s', '%s');", FUNC_ACTION, Action.refresh.name(), client.getUid());
+ return String.format("document.getElementById('lzapp').refreshAv('%s');", client.getUid());
}
@Override
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/CamActivityIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/CamActivityIcon.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/CamActivityIcon.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/CamActivityIcon.java Wed Jan 11 09:15:37 2017
@@ -37,7 +37,7 @@ public class CamActivityIcon extends Roo
}
@Override
- protected boolean isClickable() {
- return true;
+ public boolean isEnabled() {
+ return client.isCamEnabled();
}
}
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/MicActivityIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/MicActivityIcon.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/MicActivityIcon.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/MicActivityIcon.java Wed Jan 11 09:15:37 2017
@@ -37,7 +37,7 @@ public class MicActivityIcon extends Roo
}
@Override
- protected boolean isClickable() {
- return true;
+ public boolean isEnabled() {
+ return client.isMicEnabled();
}
}
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java Wed Jan 11 09:15:37 2017
@@ -31,6 +31,7 @@ import org.apache.openmeetings.web.room.
public abstract class RoomActivityIcon extends ClientIcon {
private static final long serialVersionUID = 1L;
private static final String CLS_ENABLED = "enabled ";
+ private static final String CLS_DISABLED = "disabled";
protected final Activity activity;
protected final Pod pod = Pod.none;
@@ -50,9 +51,16 @@ public abstract class RoomActivityIcon e
}
@Override
+ protected boolean isClickable() {
+ return isEnabled();
+ }
+
+ @Override
protected void internalUpdate() {
setVisible(visible());
- if (client.hasActivity(activity)) {
+ if (!isEnabled()) {
+ cssClass.append(CLS_DISABLED);
+ } else if (client.hasActivity(activity)) {
cssClass.append(CLS_ENABLED);
}
}
Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css Wed Jan 11 09:15:37 2017
@@ -228,6 +228,10 @@
.activity.mic.ui-icon {
background-image: url(images/microphone_enable.png);
}
+.activity.ui-icon.disabled {
+ -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
+ filter: grayscale(100%);
+}
.activity.mic.enabled.ui-icon {
background-image: url(images/microphone_disable.png);
}