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 2016/09/02 08:28:19 UTC

svn commit: r1758899 [1/2] - in /openmeetings/application: branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/ branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ branches/3.2.x/openmeetin...

Author: solomax
Date: Fri Sep  2 08:28:19 2016
New Revision: 1758899

URL: http://svn.apache.org/viewvc?rev=1758899&view=rev
Log:
[OPENMEETINGS-1376] right icons are separated, settings icon is added

Added:
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.html
      - copied, changed from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.html
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java
      - copied, changed from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.html
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java
      - copied, changed from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java
      - copied, changed from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/AudioRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ExclusiveRightIcon.java
      - copied, changed from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ExclusiveRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java
      - copied, changed from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ModeratorRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/MuteRightIcon.java
      - copied, changed from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/MuteRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java
      - copied, changed from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RemoteControlRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java
      - copied, changed from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java
      - copied, changed from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ScreenShareRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java
      - copied, changed from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/VideoRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java
      - copied, changed from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/WhiteboardRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.html
      - copied, changed from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.html
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java
      - copied, changed from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.html
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java
      - copied, changed from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java
      - copied, changed from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/AudioRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ExclusiveRightIcon.java
      - copied, changed from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ExclusiveRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java
      - copied, changed from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ModeratorRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/MuteRightIcon.java
      - copied, changed from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/MuteRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java
      - copied, changed from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RemoteControlRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java
      - copied, changed from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java
      - copied, changed from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ScreenShareRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java
      - copied, changed from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/VideoRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java
      - copied, changed from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/WhiteboardRightIcon.java
Removed:
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.html
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/AudioRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ExclusiveRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ModeratorRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/MuteRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RemoteControlRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ScreenShareRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/VideoRightIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/WhiteboardRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.html
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/AudioRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ExclusiveRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ModeratorRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/MuteRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RemoteControlRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ScreenShareRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/VideoRightIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/WhiteboardRightIcon.java
Modified:
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/room.css
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1758899&r1=1758898&r2=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Fri Sep  2 08:28:19 2016
@@ -98,6 +98,7 @@ public class RoomPanel extends BasePanel
 	private static final String PARAM_WB_ID = "wbId";
 	public enum Action {
 		kick
+		, settings
 		, refresh
 	}
 	private final Room r;

Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.html (from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.html)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.html?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.html&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.html&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.html Fri Sep  2 08:28:19 2016
@@ -28,5 +28,6 @@
 	<span wicket:id="right-video"></span>
 	<span wicket:id="right-mute"></span>
 	<span wicket:id="right-exclsv"></span>
+	<wicket:child/>
 </wicket:panel>
 </html>

Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java (from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java Fri Sep  2 08:28:19 2016
@@ -20,18 +20,18 @@ package org.apache.openmeetings.web.room
 
 import org.apache.openmeetings.web.app.Client;
 import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.openmeetings.web.room.sidebar.icon.AudioRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.ExclusiveRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.ModeratorRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.MuteRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.RemoteControlRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.ScreenShareRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.VideoRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.WhiteboardRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.AudioRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.ExclusiveRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.ModeratorRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.MuteRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.RemoteControlRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.ScreenShareRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.VideoRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.WhiteboardRightIcon;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.markup.html.panel.Panel;
 
-public class RoomRightPanel extends Panel {
+public class ClientIconsPanel extends Panel {
 	private static final long serialVersionUID = 1L;
 	private final ModeratorRightIcon rightModer;
 	private final WhiteboardRightIcon rightWb;
@@ -42,7 +42,7 @@ public class RoomRightPanel extends Pane
 	private final MuteRightIcon rightMute;
 	private final ExclusiveRightIcon rightExclsv;
 
-	public RoomRightPanel(String id, Client client, RoomPanel room) {
+	public ClientIconsPanel(String id, Client client, RoomPanel room) {
 		super(id);
 		setOutputMarkupId(true);
 		add(rightModer = new ModeratorRightIcon("right-moder", client, room));

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html?rev=1758899&r1=1758898&r2=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html Fri Sep  2 08:28:19 2016
@@ -26,7 +26,7 @@
 	<span class="ui-icon align-right typing-activity"></span>
 	<span class="ui-icon align-right clickable audio-activity" wicket:message="title:372"></span>
 	<div wicket:id="actions" class="user actions">
-		<span wicket:id="rights"></span>
+		<span wicket:id="icons"></span>
 		<span wicket:id="kick"></span>
 		<span wicket:id="privateChat" class="ui-icon align-right clickable private-chat" wicket:message="title:1493" onclick="startPrivateChat($(this));"></span>
 		<div class="clear"></div>

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java?rev=1758899&r1=1758898&r2=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java Fri Sep  2 08:28:19 2016
@@ -25,7 +25,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.web.app.Client;
 import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.openmeetings.web.room.sidebar.icon.KickRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.KickIcon;
 import org.apache.openmeetings.web.room.sidebar.icon.RefreshIcon;
 import org.apache.wicket.behavior.AttributeAppender;
 import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -47,16 +47,14 @@ public class RoomClientPanel extends Pan
 		add(new Label("name", getName(c)));
 		add(AttributeAppender.append("data-userid", c.getUserId()));
 		WebMarkupContainer actions = new WebMarkupContainer("actions");
-		actions.add(new RoomRightPanel("rights", c, room));
-		actions.add(new KickRightIcon("kick", c, room));
+		actions.add(new KickIcon("kick", c, room));
 		actions.add(new WebMarkupContainer("privateChat").setVisible(!room.getRoom().isHidden(RoomElement.Chat) && !getUserId().equals(c.getUserId())));
-		if (room.getClient() != null) {
-			actions.setVisible(room.getClient().hasRight(Right.moderator));
-			if (c.getUid().equals(room.getClient().getUid())) {
-				item.add(AttributeAppender.append("class", "current"));
-			}
+		actions.setVisible(room.getClient().hasRight(Right.moderator));
+		if (c.getUid().equals(room.getClient().getUid())) {
+			actions.add(new SelfIconsPanel("icons", c, room));
+			item.add(AttributeAppender.append("class", "current"));
 		} else {
-			actions.setVisible(false);
+			actions.add(new ClientIconsPanel("icons", c, room));
 		}
 		add(actions);
 	}

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html?rev=1758899&r1=1758898&r2=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html Fri Sep  2 08:28:19 2016
@@ -23,7 +23,7 @@
 	<div class="tabs" wicket:id="tabs"></div>
 	
 	<wicket:fragment wicket:id="user-panel">
-		<div wicket:id="rights" class="user header"></div>
+		<div wicket:id="icons" class="user header"></div>
 		<div class="user list clear">
 			<div wicket:id="user" class="user ui-corner-all ui-widget-content">
 				<div wicket:id="user"></div>

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1758899&r1=1758898&r2=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java Fri Sep  2 08:28:19 2016
@@ -54,7 +54,7 @@ import com.googlecode.wicket.jquery.ui.w
 public class RoomSidebar extends Panel {
 	private static final long serialVersionUID = 1L;
 	private static final Logger log = Red5LoggerFactory.getLogger(RoomSidebar.class, webAppRootKey);
-	public static final String FUNC_CHANGE_RIGHT = "changeRight";
+	public static final String FUNC_TOGGLE_RIGHT = "toggleRight";
 	public static final String FUNC_ACTION = "roomAction";
 	public static final String PARAM_ACTION = "action";
 	public static final String PARAM_RIGHT = "right";
@@ -65,7 +65,7 @@ public class RoomSidebar extends Panel {
 	private final ITab fileTab;
 	private final UploadDialog upload;
 	private final RoomFilePanel roomFiles;
-	private final RoomRightPanel selfRights;
+	private final SelfIconsPanel selfRights;
 	private boolean showFiles;
 	private final ListView<Client> users = new ListView<Client>("user", new ArrayList<Client>()) {
 		private static final long serialVersionUID = 1L;
@@ -82,7 +82,7 @@ public class RoomSidebar extends Panel {
 		protected void respond(AjaxRequestTarget target) {
 		}
 	};
-	private final AbstractDefaultAjaxBehavior requestRight = new AbstractDefaultAjaxBehavior() {
+	private final AbstractDefaultAjaxBehavior toggleRight = new AbstractDefaultAjaxBehavior() {
 		private static final long serialVersionUID = 1L;
 
 		@Override
@@ -119,7 +119,7 @@ public class RoomSidebar extends Panel {
 			}
 		}
 	};
-	
+
 	public RoomSidebar(String id, final RoomPanel room) {
 		super(id);
 		this.room = room;
@@ -163,15 +163,15 @@ public class RoomSidebar extends Panel {
 		};
 		add(tabs = new TabbedPanel("tabs", Arrays.asList(userTab, fileTab)).setActiveTab(room.getRoom().isFilesOpened() ? 1 : 0));
 		roomFiles = new RoomFilePanel("tree", room);
-		selfRights = new RoomRightPanel("rights", room.getClient(), room);
+		selfRights = new SelfIconsPanel("icons", room.getClient(), room);
 		add(upload = new UploadDialog("upload", room, roomFiles));
-		add(requestRight, action);
+		add(toggleRight, action);
 	}
 	
 	@Override
 	public void renderHead(IHeaderResponse response) {
 		super.renderHead(response);
-		response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_CHANGE_RIGHT, requestRight, explicit(PARAM_RIGHT), explicit(PARAM_UID)), FUNC_CHANGE_RIGHT)));
+		response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_TOGGLE_RIGHT, toggleRight, explicit(PARAM_RIGHT), explicit(PARAM_UID)), FUNC_TOGGLE_RIGHT)));
 		response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_ACTION, action, explicit(PARAM_ACTION), explicit(PARAM_UID)), FUNC_ACTION)));
 	}
 	

Added: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.html?rev=1758899&view=auto
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.html (added)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.html Fri Sep  2 08:28:19 2016
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<html xmlns:wicket="http://wicket.apache.org">
+<wicket:extend>
+	<span wicket:id="settings"></span>
+</wicket:extend>
+</html>

Added: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java?rev=1758899&view=auto
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java (added)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java Fri Sep  2 08:28:19 2016
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room.sidebar;
+
+import org.apache.openmeetings.web.app.Client;
+import org.apache.openmeetings.web.room.RoomPanel;
+import org.apache.openmeetings.web.room.sidebar.icon.SettingsIcon;
+import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+
+public class SelfIconsPanel extends ClientIconsPanel {
+	private static final long serialVersionUID = 1L;
+	private final SettingsIcon settings;
+
+	public SelfIconsPanel(String id, Client client, RoomPanel room) {
+		super(id, client, room);
+		add(settings = new SettingsIcon("settings", client, room));
+	}
+
+	@Override
+	protected void onInitialize() {
+		super.onInitialize();
+		update(null);
+	}
+
+	@Override
+	public void update(IPartialPageRequestHandler handler) {
+		super.update(handler);
+		settings.update(handler);
+	}
+}

Added: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java?rev=1758899&view=auto
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java (added)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java Fri Sep  2 08:28:19 2016
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room.sidebar.icon;
+
+import org.apache.openmeetings.web.app.Client;
+import org.apache.openmeetings.web.room.RoomPanel;
+import org.apache.wicket.behavior.AttributeAppender;
+import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+
+public abstract class ClientIcon extends WebMarkupContainer {
+	private static final long serialVersionUID = 1L;
+	protected static final String ICON_CLASS = "ui-icon ";
+	protected static final String ALIGN_LEFT = "align-left ";
+	protected static final String ALIGN_RIGHT = "align-right ";
+	protected static final String CLS_CLICKABLE = "clickable ";
+	protected final RoomPanel room;
+	protected final boolean self;
+	protected final Client client;
+	protected String mainCssClass;
+	protected final StringBuilder cssClass = new StringBuilder(ICON_CLASS);
+
+	public ClientIcon(String id, Client client, RoomPanel room) {
+		super(id);
+		this.room = room;
+		this.client = client;
+		self = room.getClient().getUid().equals(client.getUid());
+		setOutputMarkupId(true);
+	}
+
+	@Override
+	protected void onInitialize() {
+		super.onInitialize();
+		update(null);
+	}
+
+	protected abstract String getTitle();
+
+	protected String getAlign() {
+		return ALIGN_LEFT;
+	}
+
+	protected abstract boolean isClickable();
+
+	protected abstract String getScript();
+
+	protected void internalUpdate() {
+	}
+
+	public final void update(IPartialPageRequestHandler handler) {
+		cssClass.setLength(0);
+		StringBuilder cls = new StringBuilder(ICON_CLASS);
+		cls.append(getAlign()).append(mainCssClass);
+		if (isClickable()) {
+			//request/remove
+			cls.append(CLS_CLICKABLE);
+			add(AttributeAppender.replace("onclick", getScript()));
+		}
+		internalUpdate();
+		add(AttributeAppender.replace("title", getTitle()));
+		add(AttributeAppender.replace("class", cls.append(cssClass)));
+		
+		if (handler != null) {
+			handler.add(this);
+		}
+	}
+}

Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java (from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickRightIcon.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickRightIcon.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java Fri Sep  2 08:28:19 2016
@@ -24,13 +24,12 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.web.app.Client;
 import org.apache.openmeetings.web.room.RoomPanel;
 import org.apache.openmeetings.web.room.RoomPanel.Action;
-import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 
-public class KickRightIcon extends RoomRightIcon {
+public class KickIcon extends ClientIcon {
 	private static final long serialVersionUID = 1L;
 	
-	public KickRightIcon(String id, Client client, RoomPanel room) {
-		super(id, client, Right.moderator, room);
+	public KickIcon(String id, Client client, RoomPanel room) {
+		super(id, client, room);
 		mainCssClass = "kick ";
 	}
 
@@ -38,20 +37,20 @@ public class KickRightIcon extends RoomR
 	protected String getTitle() {
 		return getString("1213");
 	}
-	
+
 	@Override
 	protected boolean isClickable() {
-		return !self && room.getClient().hasRight(right) && !client.hasRight(Right.superModerator);
+		return !self && room.getClient().hasRight(Right.moderator) && !client.hasRight(Right.superModerator);
 	}
-	
+
 	@Override
 	protected String getScript() {
 		return String.format("%s('%s', '%s');", FUNC_ACTION, Action.kick.name(), client.getUid());
 	}
-	
+
 	@Override
-	public void update(IPartialPageRequestHandler handler) {
-		super.update(handler);
+	public void internalUpdate() {
+		super.internalUpdate();
 		setVisible(isClickable());
 	}
 }

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java?rev=1758899&r1=1758898&r2=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java Fri Sep  2 08:28:19 2016
@@ -20,17 +20,15 @@ package org.apache.openmeetings.web.room
 
 import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_ACTION;
 
-import org.apache.openmeetings.db.entity.room.Room.Right;
 import org.apache.openmeetings.web.app.Client;
 import org.apache.openmeetings.web.room.RoomPanel;
 import org.apache.openmeetings.web.room.RoomPanel.Action;
-import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 
-public class RefreshIcon extends RoomRightIcon {
+public class RefreshIcon extends ClientIcon {
 	private static final long serialVersionUID = 1L;
 	
 	public RefreshIcon(String id, Client client, RoomPanel room) {
-		super(id, client, Right.audio, room);
+		super(id, client, room);
 		mainCssClass = "restart ";
 	}
 
@@ -53,10 +51,10 @@ public class RefreshIcon extends RoomRig
 	protected String getScript() {
 		return String.format("%s('%s', '%s');", FUNC_ACTION, Action.refresh.name(), client.getUid());
 	}
-	
+
 	@Override
-	public void update(IPartialPageRequestHandler handler) {
-		super.update(handler);
+	public void internalUpdate() {
+		super.internalUpdate();
 		setVisible(isClickable());
 	}
 }

Added: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java?rev=1758899&view=auto
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java (added)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java Fri Sep  2 08:28:19 2016
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+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.room.RoomPanel;
+import org.apache.openmeetings.web.room.RoomPanel.Action;
+
+public class SettingsIcon extends ClientIcon {
+	private static final long serialVersionUID = 1L;
+	
+	public SettingsIcon(String id, Client client, RoomPanel room) {
+		super(id, client, room);
+		mainCssClass = "settings ";
+	}
+
+	@Override
+	protected String getTitle() {
+		return getString("306");
+	}
+
+	@Override
+	protected boolean isClickable() {
+		return true;
+	}
+
+	@Override
+	protected String getScript() {
+		return String.format("%s('%s', '%s');", FUNC_ACTION, Action.settings.name(), client.getUid());
+	}
+}

Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java (from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/AudioRightIcon.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/AudioRightIcon.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/AudioRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java Fri Sep  2 08:28:19 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.web.room.sidebar.icon;
+package org.apache.openmeetings.web.room.sidebar.icon.right;
 
 import org.apache.openmeetings.db.entity.room.Room.Right;
 import org.apache.openmeetings.web.app.Client;
@@ -24,23 +24,13 @@ import org.apache.openmeetings.web.room.
 
 public class AudioRightIcon extends RoomRightIcon {
 	private static final long serialVersionUID = 1L;
-	
+
 	public AudioRightIcon(String id, Client client, RoomPanel room) {
 		super(id, client, Right.audio, room);
 		mainCssClass = "right audio ";
 	}
 
 	@Override
-	protected boolean isClickable() {
-		return self || room.getClient().hasRight(Right.moderator);
-	}
-	
-	@Override
-	protected boolean hasRight() {
-		return false; //FIXME TODO need some flag
-	}
-	
-	@Override
 	protected String getTitle() {
 		return getString(self ? "1606" : "1604");
 	}

Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ExclusiveRightIcon.java (from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ExclusiveRightIcon.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ExclusiveRightIcon.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ExclusiveRightIcon.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ExclusiveRightIcon.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ExclusiveRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ExclusiveRightIcon.java Fri Sep  2 08:28:19 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.web.room.sidebar.icon;
+package org.apache.openmeetings.web.room.sidebar.icon.right;
 
 import org.apache.openmeetings.db.entity.room.Room.Right;
 import org.apache.openmeetings.web.app.Client;
@@ -24,7 +24,7 @@ import org.apache.openmeetings.web.room.
 
 public class ExclusiveRightIcon extends RoomRightIcon {
 	private static final long serialVersionUID = 1L;
-	
+
 	public ExclusiveRightIcon(String id, Client client, RoomPanel room) {
 		super(id, client, Right.exclusive, room);
 		mainCssClass = "exclsv-audio ";

Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java (from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ModeratorRightIcon.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ModeratorRightIcon.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ModeratorRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java Fri Sep  2 08:28:19 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.web.room.sidebar.icon;
+package org.apache.openmeetings.web.room.sidebar.icon.right;
 
 import org.apache.openmeetings.db.entity.room.Room.Right;
 import org.apache.openmeetings.web.app.Client;
@@ -24,18 +24,13 @@ import org.apache.openmeetings.web.room.
 
 public class ModeratorRightIcon extends RoomRightIcon {
 	private static final long serialVersionUID = 1L;
-	
+
 	public ModeratorRightIcon(String id, Client client, RoomPanel room) {
 		super(id, client, Right.moderator, room);
 		mainCssClass = "right moderator ";
 	}
 
 	@Override
-	protected boolean isClickable() {
-		return (self && !hasRight()) || (!self && room.getClient().hasRight(Right.moderator) && !client.hasRight(Right.superModerator));
-	}
-	
-	@Override
 	protected String getTitle() {
 		String title;
 		if (client.hasRight(right)) {

Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/MuteRightIcon.java (from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/MuteRightIcon.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/MuteRightIcon.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/MuteRightIcon.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/MuteRightIcon.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/MuteRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/MuteRightIcon.java Fri Sep  2 08:28:19 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.web.room.sidebar.icon;
+package org.apache.openmeetings.web.room.sidebar.icon.right;
 
 import org.apache.openmeetings.db.entity.room.Room.Right;
 import org.apache.openmeetings.web.app.Client;
@@ -24,7 +24,7 @@ import org.apache.openmeetings.web.room.
 
 public class MuteRightIcon extends RoomRightIcon {
 	private static final long serialVersionUID = 1L;
-	
+
 	public MuteRightIcon(String id, Client client, RoomPanel room) {
 		super(id, client, Right.mute, room);
 		mainCssClass = "global-mute ";

Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java (from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RemoteControlRightIcon.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RemoteControlRightIcon.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RemoteControlRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java Fri Sep  2 08:28:19 2016
@@ -16,12 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.web.room.sidebar.icon;
+package org.apache.openmeetings.web.room.sidebar.icon.right;
 
 import org.apache.openmeetings.db.entity.room.Room.Right;
 import org.apache.openmeetings.web.app.Client;
 import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 
 public class RemoteControlRightIcon extends RoomRightIcon {
 	private static final long serialVersionUID = 1L;
@@ -43,8 +42,7 @@ public class RemoteControlRightIcon exte
 	}
 
 	@Override
-	public void update(IPartialPageRequestHandler handler) {
-		setVisible(room.screenShareAllowed());
-		super.update(handler);
+	protected boolean visible() {
+		return room.screenShareAllowed() && super.visible();
 	}
 }

Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java (from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RoomRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java Fri Sep  2 08:28:19 2016
@@ -16,79 +16,49 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.web.room.sidebar.icon;
+package org.apache.openmeetings.web.room.sidebar.icon.right;
 
-import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_CHANGE_RIGHT;
+import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_TOGGLE_RIGHT;
 
 import org.apache.openmeetings.db.entity.room.Room.Right;
 import org.apache.openmeetings.web.app.Client;
 import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.wicket.behavior.AttributeAppender;
-import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
-import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.openmeetings.web.room.sidebar.icon.ClientIcon;
 
-public abstract class RoomRightIcon extends WebMarkupContainer {
+public abstract class RoomRightIcon extends ClientIcon {
 	private static final long serialVersionUID = 1L;
 	private static final String CLS_GRANTED = "granted ";
-	private static final String ICON_CLASS = "ui-icon ";
-	protected static final String ALIGN_LEFT = "align-left ";
-	protected static final String ALIGN_RIGHT = "align-right ";
-	protected static final String CLS_CLICKABLE = "clickable ";
-	protected final RoomPanel room;
 	protected final Right right;
-	protected final boolean self;
-	protected final Client client;
-	protected String mainCssClass;
-	
+
 	public RoomRightIcon(String id, Client client, Right right, RoomPanel room) {
-		super(id);
-		this.room = room;
-		this.client = client;
+		super(id, client, room);
 		this.right = right;
-		self = room.getClient().getUid().equals(client.getUid());
-		setOutputMarkupId(true);
 	}
 
 	@Override
-	protected void onInitialize() {
-		super.onInitialize();
-		update(null);
-	}
-	
-	protected abstract String getTitle();
-	
-	protected String getAlign() {
-		return ALIGN_LEFT;
-	}
-	
 	protected boolean isClickable() {
-		return (self && !hasRight()) || (!self && room.getClient().hasRight(Right.moderator));
+		return (self && !hasRight()) || !self && room.getClient().hasRight(Right.moderator);
 	}
-	
+
 	protected boolean hasRight() {
 		return client.hasRight(right);
 	}
 
+	@Override
 	protected String getScript() {
-		return String.format("%s('%s', '%s');", FUNC_CHANGE_RIGHT, right.name(), client.getUid());
+		return String.format("%s('%s', '%s');", FUNC_TOGGLE_RIGHT, right.name(), client.getUid());
+	}
+
+	protected boolean visible() {
+		return !client.hasRight(Right.superModerator) &&
+				((self && !hasRight()) || (!self && room.getClient().hasRight(Right.moderator)));
 	}
-	
-	public void update(IPartialPageRequestHandler handler) {
-		StringBuilder cls = new StringBuilder(ICON_CLASS);
-		cls.append(getAlign()).append(mainCssClass);
+
+	@Override
+	public void internalUpdate() {
+		setVisible(visible());
 		if (hasRight()) {
-			cls.append(CLS_GRANTED);
-		}
-		if (isClickable()) {
-			//request/remove
-			cls.append(CLS_CLICKABLE);
-			add(AttributeAppender.replace("onclick", getScript()));
-		}
-		add(AttributeAppender.replace("title", getTitle()));
-		add(AttributeAppender.replace("class", cls));
-		
-		if (handler != null) {
-			handler.add(this);
+			cssClass.append(CLS_GRANTED);
 		}
 	}
 }

Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java (from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ScreenShareRightIcon.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ScreenShareRightIcon.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ScreenShareRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java Fri Sep  2 08:28:19 2016
@@ -16,12 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.web.room.sidebar.icon;
+package org.apache.openmeetings.web.room.sidebar.icon.right;
 
 import org.apache.openmeetings.db.entity.room.Room.Right;
 import org.apache.openmeetings.web.app.Client;
 import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 
 public class ScreenShareRightIcon extends RoomRightIcon {
 	private static final long serialVersionUID = 1L;
@@ -41,10 +40,9 @@ public class ScreenShareRightIcon extend
 		}
 		return getString(title);
 	}
-	
+
 	@Override
-	public void update(IPartialPageRequestHandler handler) {
-		setVisible(room.screenShareAllowed());
-		super.update(handler);
+	protected boolean visible() {
+		return room.screenShareAllowed() && super.visible();
 	}
 }

Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java (from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/VideoRightIcon.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/VideoRightIcon.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/VideoRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java Fri Sep  2 08:28:19 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.web.room.sidebar.icon;
+package org.apache.openmeetings.web.room.sidebar.icon.right;
 
 import org.apache.openmeetings.db.entity.room.Room.Right;
 import org.apache.openmeetings.web.app.Client;
@@ -28,21 +28,15 @@ public class VideoRightIcon extends Room
 	public VideoRightIcon(String id, Client client, RoomPanel room) {
 		super(id, client, Right.video, room);
 		mainCssClass = "right camera ";
-		setVisible(!room.getRoom().isAudioOnly());
 	}
 
 	@Override
-	protected boolean isClickable() {
-		return self || room.getClient().hasRight(Right.moderator);
-	}
-	
-	@Override
-	protected boolean hasRight() {
-		return false; //FIXME TODO need some flag
-	}
-	
-	@Override
 	protected String getTitle() {
 		return getString(self ? "687" : "683");
 	}
+
+	@Override
+	protected boolean visible() {
+		return !room.getRoom().isAudioOnly() && super.visible();
+	}
 }

Copied: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java (from r1758898, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/WhiteboardRightIcon.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/WhiteboardRightIcon.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/WhiteboardRightIcon.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java Fri Sep  2 08:28:19 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.web.room.sidebar.icon;
+package org.apache.openmeetings.web.room.sidebar.icon.right;
 
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.Room.Right;
@@ -26,12 +26,10 @@ import org.apache.openmeetings.web.room.
 
 public class WhiteboardRightIcon extends RoomRightIcon {
 	private static final long serialVersionUID = 1L;
-	
+
 	public WhiteboardRightIcon(String id, Client client, RoomPanel room) {
 		super(id, client, Right.whiteBoard, room);
 		mainCssClass = "right wb ";
-		Room r = room.getRoom();
-		setVisible(Room.Type.interview != r.getType() && !r.isHidden(RoomElement.Whiteboard));
 	}
 
 	@Override
@@ -44,4 +42,10 @@ public class WhiteboardRightIcon extends
 		}
 		return getString(title);
 	}
+
+	@Override
+	protected boolean visible() {
+		Room r = room.getRoom();
+		return Room.Type.interview != r.getType() && !r.isHidden(RoomElement.Whiteboard) && super.visible();
+	}
 }

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/room.css
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/room.css?rev=1758899&r1=1758898&r2=1758899&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/room.css (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/room.css Fri Sep  2 08:28:19 2016
@@ -222,6 +222,9 @@
 .restart.ui-icon {
 	background-image: url(images/arrow_refresh_small.png);
 }
+.settings.ui-icon {
+	background-image: url(images/settings.png);
+}
 .room.sidebar.left .tabs, .room.sidebar.left .tabs #utab, .room.sidebar.left .tabs #ftab {
 	padding: 0;
 }

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1758899&r1=1758898&r2=1758899&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Fri Sep  2 08:28:19 2016
@@ -97,6 +97,7 @@ public class RoomPanel extends BasePanel
 	private static final String EVENT_DETAILS_ID = "event-details";
 	public enum Action {
 		kick
+		, settings
 		, refresh
 	}
 	private final Room r;

Copied: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.html (from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.html)
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.html?p2=openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.html&p1=openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.html&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.html Fri Sep  2 08:28:19 2016
@@ -28,5 +28,6 @@
 	<span wicket:id="right-video"></span>
 	<span wicket:id="right-mute"></span>
 	<span wicket:id="right-exclsv"></span>
+	<wicket:child/>
 </wicket:panel>
 </html>

Copied: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java (from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java?p2=openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java&p1=openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomRightPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ClientIconsPanel.java Fri Sep  2 08:28:19 2016
@@ -20,18 +20,18 @@ package org.apache.openmeetings.web.room
 
 import org.apache.openmeetings.web.app.Client;
 import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.openmeetings.web.room.sidebar.icon.AudioRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.ExclusiveRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.ModeratorRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.MuteRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.RemoteControlRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.ScreenShareRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.VideoRightIcon;
-import org.apache.openmeetings.web.room.sidebar.icon.WhiteboardRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.AudioRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.ExclusiveRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.ModeratorRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.MuteRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.RemoteControlRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.ScreenShareRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.VideoRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.right.WhiteboardRightIcon;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.markup.html.panel.Panel;
 
-public class RoomRightPanel extends Panel {
+public class ClientIconsPanel extends Panel {
 	private static final long serialVersionUID = 1L;
 	private final ModeratorRightIcon rightModer;
 	private final WhiteboardRightIcon rightWb;
@@ -42,7 +42,7 @@ public class RoomRightPanel extends Pane
 	private final MuteRightIcon rightMute;
 	private final ExclusiveRightIcon rightExclsv;
 
-	public RoomRightPanel(String id, Client client, RoomPanel room) {
+	public ClientIconsPanel(String id, Client client, RoomPanel room) {
 		super(id);
 		setOutputMarkupId(true);
 		add(rightModer = new ModeratorRightIcon("right-moder", client, room));

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html?rev=1758899&r1=1758898&r2=1758899&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html Fri Sep  2 08:28:19 2016
@@ -26,7 +26,7 @@
 	<span class="ui-icon align-right typing-activity"></span>
 	<span class="ui-icon align-right clickable audio-activity" wicket:message="title:372"></span>
 	<div wicket:id="actions" class="user actions">
-		<span wicket:id="rights"></span>
+		<span wicket:id="icons"></span>
 		<span wicket:id="kick"></span>
 		<span wicket:id="privateChat" class="ui-icon align-right clickable private-chat" wicket:message="title:1493" onclick="startPrivateChat($(this));"></span>
 		<div class="clear"></div>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java?rev=1758899&r1=1758898&r2=1758899&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.java Fri Sep  2 08:28:19 2016
@@ -25,7 +25,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.web.app.Client;
 import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.openmeetings.web.room.sidebar.icon.KickRightIcon;
+import org.apache.openmeetings.web.room.sidebar.icon.KickIcon;
 import org.apache.openmeetings.web.room.sidebar.icon.RefreshIcon;
 import org.apache.wicket.behavior.AttributeAppender;
 import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -47,16 +47,14 @@ public class RoomClientPanel extends Pan
 		add(new Label("name", getName(c)));
 		add(AttributeAppender.append("data-userid", c.getUserId()));
 		WebMarkupContainer actions = new WebMarkupContainer("actions");
-		actions.add(new RoomRightPanel("rights", c, room));
-		actions.add(new KickRightIcon("kick", c, room));
+		actions.add(new KickIcon("kick", c, room));
 		actions.add(new WebMarkupContainer("privateChat").setVisible(!room.getRoom().isHidden(RoomElement.Chat) && !getUserId().equals(c.getUserId())));
-		if (room.getClient() != null) {
-			actions.setVisible(room.getClient().hasRight(Right.moderator));
-			if (c.getUid().equals(room.getClient().getUid())) {
-				item.add(AttributeAppender.append("class", "current"));
-			}
+		actions.setVisible(room.getClient().hasRight(Right.moderator));
+		if (c.getUid().equals(room.getClient().getUid())) {
+			actions.add(new SelfIconsPanel("icons", c, room));
+			item.add(AttributeAppender.append("class", "current"));
 		} else {
-			actions.setVisible(false);
+			actions.add(new ClientIconsPanel("icons", c, room));
 		}
 		add(actions);
 	}

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html?rev=1758899&r1=1758898&r2=1758899&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html Fri Sep  2 08:28:19 2016
@@ -23,7 +23,7 @@
 	<div class="tabs" wicket:id="tabs"></div>
 	
 	<wicket:fragment wicket:id="user-panel">
-		<div wicket:id="rights" class="user header"></div>
+		<div wicket:id="icons" class="user header"></div>
 		<div class="user list clear">
 			<div wicket:id="user" class="user ui-corner-all ui-widget-content">
 				<div wicket:id="user"></div>

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=1758899&r1=1758898&r2=1758899&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 Fri Sep  2 08:28:19 2016
@@ -54,7 +54,7 @@ import com.googlecode.wicket.jquery.ui.w
 public class RoomSidebar extends Panel {
 	private static final long serialVersionUID = 1L;
 	private static final Logger log = Red5LoggerFactory.getLogger(RoomSidebar.class, webAppRootKey);
-	public static final String FUNC_CHANGE_RIGHT = "changeRight";
+	public static final String FUNC_TOGGLE_RIGHT = "toggleRight";
 	public static final String FUNC_ACTION = "roomAction";
 	public static final String PARAM_ACTION = "action";
 	public static final String PARAM_RIGHT = "right";
@@ -65,7 +65,7 @@ public class RoomSidebar extends Panel {
 	private final ITab fileTab;
 	private final UploadDialog upload;
 	private final RoomFilePanel roomFiles;
-	private final RoomRightPanel selfRights;
+	private final SelfIconsPanel selfRights;
 	private boolean showFiles;
 	private final ListView<Client> users = new ListView<Client>("user", new ArrayList<Client>()) {
 		private static final long serialVersionUID = 1L;
@@ -82,7 +82,7 @@ public class RoomSidebar extends Panel {
 		protected void respond(AjaxRequestTarget target) {
 		}
 	};
-	private final AbstractDefaultAjaxBehavior requestRight = new AbstractDefaultAjaxBehavior() {
+	private final AbstractDefaultAjaxBehavior toggleRight = new AbstractDefaultAjaxBehavior() {
 		private static final long serialVersionUID = 1L;
 
 		@Override
@@ -119,7 +119,7 @@ public class RoomSidebar extends Panel {
 			}
 		}
 	};
-	
+
 	public RoomSidebar(String id, final RoomPanel room) {
 		super(id);
 		this.room = room;
@@ -163,15 +163,15 @@ public class RoomSidebar extends Panel {
 		};
 		add(tabs = new TabbedPanel("tabs", Arrays.asList(userTab, fileTab)).setActiveTab(room.getRoom().isFilesOpened() ? 1 : 0));
 		roomFiles = new RoomFilePanel("tree", room);
-		selfRights = new RoomRightPanel("rights", room.getClient(), room);
+		selfRights = new SelfIconsPanel("icons", room.getClient(), room);
 		add(upload = new UploadDialog("upload", room, roomFiles));
-		add(requestRight, action);
+		add(toggleRight, action);
 	}
 	
 	@Override
 	public void renderHead(IHeaderResponse response) {
 		super.renderHead(response);
-		response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_CHANGE_RIGHT, requestRight, explicit(PARAM_RIGHT), explicit(PARAM_UID)), FUNC_CHANGE_RIGHT)));
+		response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_TOGGLE_RIGHT, toggleRight, explicit(PARAM_RIGHT), explicit(PARAM_UID)), FUNC_TOGGLE_RIGHT)));
 		response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_ACTION, action, explicit(PARAM_ACTION), explicit(PARAM_UID)), FUNC_ACTION)));
 	}
 	

Added: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.html?rev=1758899&view=auto
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.html (added)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.html Fri Sep  2 08:28:19 2016
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+    	  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<html xmlns:wicket="http://wicket.apache.org">
+<wicket:extend>
+	<span wicket:id="settings"></span>
+</wicket:extend>
+</html>

Added: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java?rev=1758899&view=auto
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java (added)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/SelfIconsPanel.java Fri Sep  2 08:28:19 2016
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room.sidebar;
+
+import org.apache.openmeetings.web.app.Client;
+import org.apache.openmeetings.web.room.RoomPanel;
+import org.apache.openmeetings.web.room.sidebar.icon.SettingsIcon;
+import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+
+public class SelfIconsPanel extends ClientIconsPanel {
+	private static final long serialVersionUID = 1L;
+	private final SettingsIcon settings;
+
+	public SelfIconsPanel(String id, Client client, RoomPanel room) {
+		super(id, client, room);
+		add(settings = new SettingsIcon("settings", client, room));
+	}
+
+	@Override
+	protected void onInitialize() {
+		super.onInitialize();
+		update(null);
+	}
+
+	@Override
+	public void update(IPartialPageRequestHandler handler) {
+		super.update(handler);
+		settings.update(handler);
+	}
+}

Added: 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=1758899&view=auto
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java (added)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java Fri Sep  2 08:28:19 2016
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.room.sidebar.icon;
+
+import org.apache.openmeetings.web.app.Client;
+import org.apache.openmeetings.web.room.RoomPanel;
+import org.apache.wicket.behavior.AttributeAppender;
+import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+
+public abstract class ClientIcon extends WebMarkupContainer {
+	private static final long serialVersionUID = 1L;
+	protected static final String ICON_CLASS = "ui-icon ";
+	protected static final String ALIGN_LEFT = "align-left ";
+	protected static final String ALIGN_RIGHT = "align-right ";
+	protected static final String CLS_CLICKABLE = "clickable ";
+	protected final RoomPanel room;
+	protected final boolean self;
+	protected final Client client;
+	protected String mainCssClass;
+	protected final StringBuilder cssClass = new StringBuilder(ICON_CLASS);
+
+	public ClientIcon(String id, Client client, RoomPanel room) {
+		super(id);
+		this.room = room;
+		this.client = client;
+		self = room.getClient().getUid().equals(client.getUid());
+		setOutputMarkupId(true);
+	}
+
+	@Override
+	protected void onInitialize() {
+		super.onInitialize();
+		update(null);
+	}
+
+	protected abstract String getTitle();
+
+	protected String getAlign() {
+		return ALIGN_LEFT;
+	}
+
+	protected abstract boolean isClickable();
+
+	protected abstract String getScript();
+
+	protected void internalUpdate() {
+	}
+
+	public final void update(IPartialPageRequestHandler handler) {
+		cssClass.setLength(0);
+		StringBuilder cls = new StringBuilder(ICON_CLASS);
+		cls.append(getAlign()).append(mainCssClass);
+		if (isClickable()) {
+			//request/remove
+			cls.append(CLS_CLICKABLE);
+			add(AttributeAppender.replace("onclick", getScript()));
+		}
+		internalUpdate();
+		add(AttributeAppender.replace("title", getTitle()));
+		add(AttributeAppender.replace("class", cls.append(cssClass)));
+		
+		if (handler != null) {
+			handler.add(this);
+		}
+	}
+}

Copied: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java (from r1758898, openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickRightIcon.java)
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java?p2=openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java&p1=openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickRightIcon.java&r1=1758898&r2=1758899&rev=1758899&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickRightIcon.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java Fri Sep  2 08:28:19 2016
@@ -24,13 +24,12 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.web.app.Client;
 import org.apache.openmeetings.web.room.RoomPanel;
 import org.apache.openmeetings.web.room.RoomPanel.Action;
-import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 
-public class KickRightIcon extends RoomRightIcon {
+public class KickIcon extends ClientIcon {
 	private static final long serialVersionUID = 1L;
 	
-	public KickRightIcon(String id, Client client, RoomPanel room) {
-		super(id, client, Right.moderator, room);
+	public KickIcon(String id, Client client, RoomPanel room) {
+		super(id, client, room);
 		mainCssClass = "kick ";
 	}
 
@@ -38,20 +37,20 @@ public class KickRightIcon extends RoomR
 	protected String getTitle() {
 		return getString("1213");
 	}
-	
+
 	@Override
 	protected boolean isClickable() {
-		return !self && room.getClient().hasRight(right) && !client.hasRight(Right.superModerator);
+		return !self && room.getClient().hasRight(Right.moderator) && !client.hasRight(Right.superModerator);
 	}
-	
+
 	@Override
 	protected String getScript() {
 		return String.format("%s('%s', '%s');", FUNC_ACTION, Action.kick.name(), client.getUid());
 	}
-	
+
 	@Override
-	public void update(IPartialPageRequestHandler handler) {
-		super.update(handler);
+	public void internalUpdate() {
+		super.internalUpdate();
 		setVisible(isClickable());
 	}
 }