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());
        }
 }


Reply via email to