You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2018/04/16 15:57:30 UTC

[openmeetings] 06/09: [OPENMEETINGS-1864] admin actions are unified

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch 4.0.x
in repository https://gitbox.apache.org/repos/asf/openmeetings.git

commit 4aa2d52516bcc7140915bb705603b78cee26bc8f
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Sun Apr 15 12:25:13 2018 +0700

    [OPENMEETINGS-1864] admin actions are unified
---
 .../openmeetings/web/admin/AdminBaseForm.java      |  28 +++--------
 .../openmeetings/web/admin/AdminSavePanel.html     |  14 +++++-
 .../openmeetings/web/admin/AdminSavePanel.java     |  26 ++++------
 .../web/admin/configurations/ConfigForm.java       |   2 +-
 .../web/admin/configurations/ConfigsPanel.java     |   4 +-
 .../openmeetings/web/admin/email/EmailPanel.html   |   4 +-
 .../openmeetings/web/admin/groups/GroupForm.java   |   8 +--
 .../web/admin/groups/GroupUsersPanel.html          |   6 ++-
 .../openmeetings/web/admin/groups/GroupsPanel.java |   2 +-
 .../openmeetings/web/admin/labels/LabelsForm.java  |   2 +-
 .../openmeetings/web/admin/labels/LangPanel.html   |   4 +-
 .../openmeetings/web/admin/labels/LangPanel.java   |   4 +-
 .../openmeetings/web/admin/ldaps/LdapForm.java     |   2 +-
 .../openmeetings/web/admin/ldaps/LdapsPanel.java   |   4 +-
 .../openmeetings/web/admin/oauth/OAuthForm.java    |   2 +-
 .../openmeetings/web/admin/oauth/OAuthPanel.java   |   4 +-
 .../openmeetings/web/admin/rooms/RoomForm.java     |   2 +-
 .../openmeetings/web/admin/rooms/RoomsPanel.html   |  18 +++++--
 .../openmeetings/web/admin/rooms/RoomsPanel.java   |   2 +-
 .../openmeetings/web/admin/users/UserForm.html     |   2 +-
 .../openmeetings/web/admin/users/UserForm.java     |  37 +++++++-------
 .../openmeetings/web/admin/users/UsersPanel.java   |   4 +-
 .../web/common/FormSaveRefreshPanel.html           |   8 +--
 .../web/common/FormSaveRefreshPanel.java           |  17 +++++--
 .../web/room/sidebar/RoomClientPanel.html          |   4 +-
 .../web/user/calendar/AppointmentDialog.java       |   4 +-
 .../openmeetings/web/user/chat/ChatToolbar.html    |   4 +-
 .../openmeetings/web/user/rooms/RoomListPanel.html |   2 +-
 openmeetings-web/src/main/webapp/css/calendar.css  |   5 --
 openmeetings-web/src/main/webapp/css/chat.css      |   3 --
 openmeetings-web/src/main/webapp/css/general.css   |  55 +--------------------
 .../main/webapp/css/images/arrow_refresh_small.png | Bin 506 -> 0 bytes
 .../src/main/webapp/css/images/cancel_icon.png     | Bin 986 -> 0 bytes
 .../src/main/webapp/css/images/plus_icon.png       | Bin 463 -> 0 bytes
 .../main/webapp/css/images/plus_icon_disabled.png  | Bin 411 -> 0 bytes
 openmeetings-web/src/main/webapp/css/room.css      |   6 +--
 36 files changed, 121 insertions(+), 168 deletions(-)

diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
index ef850fb..c6f300c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminBaseForm.java
@@ -84,16 +84,6 @@ public abstract class AdminBaseForm<T> extends Form<T> {
 			protected void onDeleteError(AjaxRequestTarget target, Form<?> form) {
 				AdminBaseForm.this.onDeleteError(target, form);
 			}
-
-			@Override
-			protected boolean isNewBtnVisible() {
-				return AdminBaseForm.this.isNewBtnVisible();
-			}
-
-			@Override
-			protected boolean isDelBtnVisible() {
-				return AdminBaseForm.this.isDelBtnVisible();
-			}
 		};
 		add(savePanel);
 	}
@@ -107,22 +97,16 @@ public abstract class AdminBaseForm<T> extends Form<T> {
 		add(validationBehavior);
 	}
 
-	/**
-	 * @see AdminBaseForm#hideNewRecord()
-	 */
-	public void hideNewRecord() {
-		savePanel.hideNewRecord();
+	public void setNewVisible(boolean visible) {
+		savePanel.setNewVisible(visible);
 	}
 
-	/**
-	 * @see AdminBaseForm#showNewRecord()
-	 */
-	public void showNewRecord() {
-		savePanel.showNewRecord();
+	public void setDelVisible(boolean visible) {
+		savePanel.setDelVisible(visible);
 	}
 
-	protected boolean isNewBtnVisible() {
-		return true;
+	public void setSaveVisible(boolean visible) {
+		savePanel.setSaveVisible(visible);
 	}
 
 	protected boolean isDelBtnVisible() {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html
index 875191b..6f79aca 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.html
@@ -20,8 +20,18 @@
 -->
 <html xmlns:wicket="http://wicket.apache.org">
 	<wicket:extend>
-		<div class="formNewButton" wicket:id="ajax-new-button" wicket:message="title:155"></div>
-		<div class="formCancelButton" wicket:id="ajax-cancel-button" wicket:message="title:157"></div>
+		<div class="ui-button ui-widget ui-corner-all ui-button-icon-only" wicket:id="ajax-new-button" wicket:message="title:155">
+			<span class="ui-button-icon ui-icon ui-icon-plusthick"></span>&nbsp;
+		</div>
+		<div class="ui-button ui-widget ui-corner-all ui-button-icon-only ui-state-highlight" wicket:id="ajax-cancel-button" wicket:message="title:157">
+			<span class="ui-button-icon ui-icon ui-icon-closethick"></span>&nbsp;
+		</div>
+		<div class="ui-button ui-widget ui-corner-all ui-button-icon-only ui-state-error">
+			<span class="ui-button-icon ui-icon ui-icon-trash"></span>&nbsp;
+		</div>
+		<div class="ui-button ui-widget ui-corner-all ui-button-icon-only">
+			<span class="ui-button-icon ui-icon ui-icon-circle-check"></span>&nbsp;
+		</div>
 		<span wicket:id="newRecord"></span>
 		<form wicket:id="form"></form>
 	</wicket:extend>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
index 109e9b5..867a06c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminSavePanel.java
@@ -30,6 +30,7 @@ public abstract class AdminSavePanel<T> extends FormSaveRefreshPanel<T> {
 	private static final long serialVersionUID = 1L;
 	private final Label newRecord = new Label("newRecord", Model.of(""));
 	private final Form<T> form;
+	private ConfirmableAjaxBorder delBtn;
 
 	public AdminSavePanel(String id, final Form<T> form) {
 		super(id, form);
@@ -64,14 +65,14 @@ public abstract class AdminSavePanel<T> extends FormSaveRefreshPanel<T> {
 		final Form<?> cForm = new Form<>("form");
 		cForm.setMultiPart(form.isMultiPart());
 		add(cForm);
-		final ConfirmableAjaxBorder delBtn = new ConfirmableAjaxBorder("ajax-cancel-button", getString("80"), getString("833"), cForm) {
+		delBtn = new ConfirmableAjaxBorder("ajax-cancel-button", getString("80"), getString("833"), cForm) {
 			private static final long serialVersionUID = 1L;
 
 			@Override
 			protected void onError(AjaxRequestTarget target) {
 				// repaint the feedback panel so errors are shown
 				target.add(feedback);
-				hideNewRecord();
+				setNewVisible(false);
 				onDeleteError(target, form);
 			}
 
@@ -79,32 +80,23 @@ public abstract class AdminSavePanel<T> extends FormSaveRefreshPanel<T> {
 			protected void onSubmit(AjaxRequestTarget target) {
 				// repaint the feedback panel so that it is hidden
 				target.add(feedback);
-				hideNewRecord();
+				setNewVisible(false);
 				onDeleteSubmit(target, form);
 			}
 		};
-		add(newBtn.setVisible(isNewBtnVisible()), delBtn.setVisible(isDelBtnVisible()));
+		add(newBtn, delBtn);
 		super.onInitialize();
 	}
 
-	/**
-	 * Hide the new record text
-	 */
 	@Override
-	public void hideNewRecord() {
-		newRecord.setVisible(false);
+	public void setNewVisible(boolean visible) {
+		newRecord.setVisible(visible);
 	}
 
-	/**
-	 * Hide the new record text
-	 */
-	public void showNewRecord() {
-		newRecord.setVisible(true);
+	public void setDelVisible(boolean visible) {
+		delBtn.setVisible(visible);
 	}
 
-	protected abstract boolean isNewBtnVisible();
-	protected abstract boolean isDelBtnVisible();
-
 	protected abstract void onNewSubmit(AjaxRequestTarget target, Form<?> form);
 	protected abstract void onNewError(AjaxRequestTarget target, Form<?> form);
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
index ee874ef..3578ae7 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
@@ -158,7 +158,7 @@ public class ConfigForm extends AdminBaseForm<Configuration> {
 			getModelObject().setId(c.getId());
 		}
 		setModelObject(getBean(ConfigurationDao.class).update(getModelObject(), WebSession.getUserId()));
-		hideNewRecord();
+		setNewVisible(false);
 		target.add(listContainer);
 		refresh(target);
 	}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigsPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigsPanel.java
index 21f23c8..f5ca110 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigsPanel.java
@@ -67,7 +67,7 @@ public class ConfigsPanel extends AdminBasePanel {
 
 					@Override
 					protected void onEvent(AjaxRequestTarget target) {
-						form.hideNewRecord();
+						form.setNewVisible(false);
 						form.setModelObject(c);
 						target.add(form, listContainer);
 						reinitJs(target);
@@ -93,7 +93,7 @@ public class ConfigsPanel extends AdminBasePanel {
 		add(navigator);
 
 		form = new ConfigForm("form", listContainer, new Configuration());
-		form.showNewRecord();
+		form.setNewVisible(true);
 		add(form);
 		super.onInitialize();
 	}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
index 05888b8..6fe4935 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/email/EmailPanel.html
@@ -46,7 +46,9 @@
 	<div class="adminPanelColumnForm">
 		<form wicket:id="form" class="adminForm">
 			<div class="formSaveBar ui-widget-header">
-				<div class="formCancelButton" wicket:id="ajax-cancel-button" wicket:message="title:157"></div>
+				<div class="ui-button ui-widget ui-corner-all ui-button-icon-only ui-state-error" wicket:id="ajax-cancel-button" wicket:message="title:157">
+					<span class="ui-button-icon ui-icon ui-icon-closethick"></span>&nbsp;
+				</div>
 			</div>
 			<div class="scrollcontent" id="adminForm">
 				<fieldset class="ui-widget-content">
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
index aa30b4f..6ad8fd4 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
@@ -131,11 +131,6 @@ public class GroupForm extends AdminBaseForm<Group> {
 	}
 
 	@Override
-	protected boolean isNewBtnVisible() {
-		return !hasGroupAdminLevel(getRights());
-	}
-
-	@Override
 	protected boolean isDelBtnVisible() {
 		return !hasGroupAdminLevel(getRights());
 	}
@@ -144,6 +139,7 @@ public class GroupForm extends AdminBaseForm<Group> {
 	protected void onInitialize() {
 		super.onInitialize();
 		final boolean isGroupAdmin = hasGroupAdminLevel(getRights());
+		setNewVisible(!isGroupAdmin);
 		userToadd.setEnabled(!isGroupAdmin);
 		add(new RequiredTextField<String>("name").setLabel(Model.of(getString("165"))));
 		add(logo);
@@ -220,7 +216,7 @@ public class GroupForm extends AdminBaseForm<Group> {
 		for (GroupUser grpUser : usersPanel.getUsers2add()) {
 			GroupUsersPanel.update(grpUser);
 		}
-		hideNewRecord();
+		setNewVisible(false);
 		updateView(target);
 	}
 }
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.html
index 570b111..0f0309e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.html
@@ -34,7 +34,11 @@
 						<tr wicket:id="userList" class="ui-widget-content">
 							<td style="width: 34px"><input type="checkbox" wicket:id="isModerator"/></td>
 							<td style="width: 360px"><div style="width: 360px"><span wicket:id="label"></span></div></td>
-							<td style="width: 34px"><div style="width: 34px"><div class="formCancelButton" wicket:id="deleteUserBtn" wicket:message="title:274"></div></div></td>
+							<td style="width: 34px">
+								<div class="ui-button ui-widget ui-corner-all ui-button-icon-only ui-state-error" wicket:id="deleteUserBtn" wicket:message="title:274">
+									<span class="ui-button-icon ui-icon ui-icon-closethick"></span>&nbsp;
+								</div>
+							</td>
 						</tr>
 					</tbody>
 				</table>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
index cce84cd..e7b3067 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java
@@ -71,7 +71,7 @@ public class GroupsPanel extends AdminBasePanel {
 
 					@Override
 					protected void onEvent(AjaxRequestTarget target) {
-						form.hideNewRecord();
+						form.setNewVisible(false);
 						form.setModelObject(g);
 						form.updateView(target);
 						target.add(listContainer);
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LabelsForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LabelsForm.java
index ca67add..00db2e6 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LabelsForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LabelsForm.java
@@ -72,7 +72,7 @@ public class LabelsForm extends AdminBaseForm<StringLabel> {
 		} catch (Exception e) {
 			error("Unexpected error while saving label:" + e.getMessage());
 		}
-		hideNewRecord();
+		setNewVisible(false);
 		target.add(panel.listContainer);
 		reinitJs(target);
 	}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
index bf359eb..78af381 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.html
@@ -35,7 +35,9 @@
 	<div class="adminPanelColumnTable">
 		<div>
 		<div wicket:id="addLangBtn" class="addButton" wicket:message="title:362" ></div>
-		<div wicket:id="deleteLangBtn" class="delButton" wicket:message="title:363"></div>
+		<div class="ui-button ui-widget ui-corner-all ui-button-icon-only ui-state-error" wicket:id="deleteLangBtn" wicket:message="title:363">
+			<span class="ui-button-icon ui-icon ui-icon-closethick"></span>&nbsp;
+		</div>
 		<form wicket:id="langForm" class="addLanguagePanel">
 			<table>
 				<tr>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
index 677e656..ab39873 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
@@ -92,7 +92,7 @@ public class LangPanel extends AdminBasePanel {
 		language = new AbstractMap.SimpleEntry<>(1L, Locale.ENGLISH);
 
 		final LabelsForm form = new LabelsForm("form", this, new StringLabel(null, null));
-		form.showNewRecord();
+		form.setNewVisible(true);
 		add(form);
 
 		final SearchableDataView<StringLabel> dataView = new SearchableDataView<StringLabel>(
@@ -123,7 +123,7 @@ public class LangPanel extends AdminBasePanel {
 					@Override
 					protected void onEvent(AjaxRequestTarget target) {
 						form.setModelObject(fv);
-						form.hideNewRecord();
+						form.setNewVisible(false);
 						target.add(form, listContainer);
 						reinitJs(target);
 					}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
index 477ea0e..a54535f 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java
@@ -71,7 +71,7 @@ public class LdapForm extends AdminBaseForm<LdapConfig> {
 	@Override
 	protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) {
 		setModelObject(getBean(LdapConfigDao.class).update(getModelObject(), WebSession.getUserId()));
-		hideNewRecord();
+		setNewVisible(false);
 		target.add(this, listContainer);
 		reinitJs(target);
 	}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.java
index 4819948..29f836a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.java
@@ -68,7 +68,7 @@ public class LdapsPanel extends AdminBasePanel {
 					@Override
 					protected void onEvent(AjaxRequestTarget target) {
 						form.setModelObject(lc);
-						form.hideNewRecord();
+						form.setNewVisible(false);
 						target.add(form, listContainer);
 						reinitJs(target);
 					}
@@ -93,7 +93,7 @@ public class LdapsPanel extends AdminBasePanel {
 		add(navigator);
 
 		form = new LdapForm("form", listContainer, new LdapConfig());
-		form.showNewRecord();
+		form.setNewVisible(true);
 		add(form);
 
 		super.onInitialize();
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
index 1e693c2..a567899 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthForm.java
@@ -83,7 +83,7 @@ public class OAuthForm extends AdminBaseForm<OAuthServer> {
 		oAuth2Dao.update(getModelObject(), WebSession.getUserId());
 		OAuthServer oauthServer = oAuth2Dao.get(getModelObject().getId());
 		this.setModelObject(oauthServer);
-		hideNewRecord();
+		setNewVisible(false);
 		target.add(this);
 		target.add(listContainer);
 		reinitJs(target);
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthPanel.java
index b2e675a..43c1b99 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/oauth/OAuthPanel.java
@@ -62,7 +62,7 @@ public class OAuthPanel extends AdminBasePanel {
 					@Override
 					protected void onEvent(AjaxRequestTarget target) {
 						form.setModelObject(server);
-						form.hideNewRecord();
+						form.setNewVisible(false);
 						target.add(form, listContainer);
 						reinitJs(target);
 					}
@@ -88,7 +88,7 @@ public class OAuthPanel extends AdminBasePanel {
 		add(navigator);
 
 		form = new OAuthForm("form", listContainer, new OAuthServer());
-		form.showNewRecord();
+		form.setNewVisible(true);
 		add(form);
 		super.onInitialize();
 	}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
index e6e0709..d44ea3e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
@@ -432,7 +432,7 @@ public class RoomForm extends AdminBaseForm<Room> {
 			}
 			getBean(RoomDao.class).update(getModelObject(), getUserId());
 		}
-		hideNewRecord();
+		setNewVisible(false);
 		updateView(target);
 	}
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
index ba11b08..626820e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
@@ -169,7 +169,11 @@
 								<tr wicket:id="files">
 									<td style="width: 380px"><div class="three_column_layout_divcolumn1" style="width: auto"><span wicket:id="name"></span></div></td>
 									<td style="width: 80px"><span wicket:id="wbIdx"></span></td>
-									<td style="width: 50px"><div class="formCancelButton" wicket:id="delete" wicket:message="title:80"></div></td>
+									<td style="width: 50px">
+										<div class="ui-button ui-widget ui-corner-all ui-button-icon-only ui-state-error" wicket:id="delete" wicket:message="title:80">
+											<span class="ui-button-icon ui-icon ui-icon-closethick"></span>&nbsp;
+										</div>
+									</td>
 								</tr>
 							</tbody>
 						</table>
@@ -194,7 +198,11 @@
 								<tr wicket:id="clients">
 									<td class="three_column_layout_column1"><div class="three_column_layout_divcolumn1"><span wicket:id="clientId"></span></div></td>
 									<td class="three_column_layout_column2"><div class="three_column_layout_divcolumn2"><span wicket:id="clientLogin"></span></div></td>
-									<td class="three_column_layout_column3"><div class="formCancelButton" wicket:id="clientDelete" wicket:message="title:603"></div></td>
+									<td class="three_column_layout_column3">
+										<div class="ui-button ui-widget ui-corner-all ui-button-icon-only ui-state-error" wicket:id="clientDelete" wicket:message="title:603">
+											<span class="ui-button-icon ui-icon ui-icon-closethick"></span>&nbsp;
+										</div>
+									</td>
 								</tr>
 							</tbody>
 						</table>
@@ -230,7 +238,11 @@
 										<td class="three_column_layout_column2"><div class="three_column_layout_divcolumn2"><span wicket:id="userId"></span></div></td>
 										<td class="three_column_layout_column3"><div class="three_column_layout_divcolumn3"><span wicket:id="uName"></span></div></td>
 										<td class="three_column_layout_column4"><div class="three_column_layout_divcolumn4" style="overflow: hidden;"><span wicket:id="email"></span></div></td>
-										<td style="width: 50px"><div style="width: 50px"><div class="formCancelButton" wicket:id="delete" wicket:message="title:80"></div></div></td>
+										<td style="width: 50px">
+											<div class="ui-button ui-widget ui-corner-all ui-button-icon-only ui-state-error" wicket:id="delete" wicket:message="title:80">
+												<span class="ui-button-icon ui-icon ui-icon-closethick"></span>&nbsp;
+											</div>
+										</td>
 									</tr>
 								</tbody>
 							</table>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java
index 4016b30..b147015 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java
@@ -60,7 +60,7 @@ public class RoomsPanel extends AdminBasePanel {
 
 					@Override
 					protected void onEvent(AjaxRequestTarget target) {
-						form.hideNewRecord();
+						form.setNewVisible(false);
 						form.setModelObject(getBean(RoomDao.class).get(roomId));
 						form.updateView(target);
 						target.add(form, listContainer);
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html
index 7ba2103..b351db2 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.html
@@ -20,7 +20,7 @@
 <html xmlns:wicket="http://wicket.apache.org">
 <wicket:panel>
 	<div wicket:id="buttons"></div>
-	<div class="scrollcontent" id="adminForm">
+	<div class="scrollcontent" wicket:id="adminForm" id="adminForm">
 		<fieldset class="ui-widget-content">
 			<legend class="ui-widget-header">
 				<wicket:message key="143" />
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
index 9dfae69..b450e01 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
@@ -86,6 +86,7 @@ import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
 public class UserForm extends AdminBaseForm<User> {
 	private static final long serialVersionUID = 1L;
 	private static final Logger log = Red5LoggerFactory.getLogger(UserForm.class, getWebAppRootKey());
+	private final WebMarkupContainer mainContainer = new WebMarkupContainer("adminForm");
 	private final WebMarkupContainer listContainer;
 	private final WebMarkupContainer domain = new WebMarkupContainer("domain");
 	private GeneralUserForm generalForm;
@@ -101,18 +102,19 @@ public class UserForm extends AdminBaseForm<User> {
 		setOutputMarkupId(true);
 		this.listContainer = listContainer;
 		this.warning = warning;
-		add(generalForm = new GeneralUserForm("general", getModel(), true));
 	}
 
 	@Override
 	protected void onInitialize() {
 		super.onInitialize();
-		add(password.setResetPassword(false).setLabel(Model.of(getString("110"))).setRequired(false)
+		add(mainContainer);
+		mainContainer.add(generalForm = new GeneralUserForm("general", getModel(), true));
+		mainContainer.add(password.setResetPassword(false).setLabel(Model.of(getString("110"))).setRequired(false)
 				.add(passValidator = new StrongPasswordValidator(getModelObject())));
 		login.setLabel(Model.of(getString("108")));
-		add(login.add(minimumLength(getMinLoginLength())));
+		mainContainer.add(login.add(minimumLength(getMinLoginLength())));
 
-		add(new DropDownChoice<>("type", Arrays.asList(Type.values())).add(new OnChangeAjaxBehavior() {
+		mainContainer.add(new DropDownChoice<>("type", Arrays.asList(Type.values())).add(new OnChangeAjaxBehavior() {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -121,14 +123,14 @@ public class UserForm extends AdminBaseForm<User> {
 			}
 		}));
 		update(null);
-		add(domain.add(domainId).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true));
-		add(new Label("ownerId"));
-		add(new DateLabel("inserted"));
-		add(new DateLabel("updated"));
+		mainContainer.add(domain.add(domainId).setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true));
+		mainContainer.add(new Label("ownerId"));
+		mainContainer.add(new DateLabel("inserted"));
+		mainContainer.add(new DateLabel("updated"));
 
-		add(new CheckBox("forceTimeZoneCheck"));
+		mainContainer.add(new CheckBox("forceTimeZoneCheck"));
 
-		add(new Select2MultiChoice<>("rights", null, new RestrictiveChoiceProvider<Right>() {
+		mainContainer.add(new Select2MultiChoice<>("rights", null, new RestrictiveChoiceProvider<Right>() {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -162,19 +164,18 @@ public class UserForm extends AdminBaseForm<User> {
 				return Right.valueOf(id);
 			}
 		}));
-		add(new ComunityUserForm("comunity", getModel()));
+		mainContainer.add(new ComunityUserForm("comunity", getModel()));
 		add(adminPass);
+		remove(validationBehavior);
 	}
 
 	@Override
 	protected void onModelChanged() {
 		super.onModelChanged();
-		setEnabled(!getModelObject().isDeleted());
-		if (getModelObject().isDeleted()) {
-			remove(validationBehavior);
-		} else {
-			add(validationBehavior);
-		}
+		boolean nd = !getModelObject().isDeleted();
+		mainContainer.setEnabled(nd);
+		setSaveVisible(nd);
+		setDelVisible(nd && getModelObject().getId() != null);
 		password.setModelObject(null);
 		generalForm.updateModelObject(getModelObject(), true);
 		passValidator.setUser(getModelObject());
@@ -219,7 +220,7 @@ public class UserForm extends AdminBaseForm<User> {
 			getBean(EmailManager.class).sendMail(login.getValue(), email, u.getActivatehash(), false, null);
 		}
 		setModelObject(dao.get(u.getId()));
-		hideNewRecord();
+		setNewVisible(false);
 		target.add(this, listContainer);
 		reinitJs(target);
 		if (u.getGroupUsers().isEmpty()) {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
index 1ac2c79..569a19f 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java
@@ -71,7 +71,7 @@ public class UsersPanel extends AdminBasePanel {
 					@Override
 					protected void onEvent(AjaxRequestTarget target) {
 						form.setModelObject(getBean(UserDao.class).get(userId));
-						form.hideNewRecord();
+						form.setNewVisible(false);
 						form.update(target);
 					}
 				});
@@ -113,7 +113,7 @@ public class UsersPanel extends AdminBasePanel {
 
 		UserDao userDao = getBean(UserDao.class);
 		form = new UserForm("form", listContainer, getNewUserInstance(userDao.get(getUserId())), warning);
-		form.showNewRecord();
+		form.setNewVisible(true);
 		add(form, warning);
 		super.onInitialize();
 	}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html
index 78bc0e0..6790cbb 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.html
@@ -21,9 +21,11 @@
 <html xmlns:wicket="http://wicket.apache.org">
 <wicket:panel>
 	<div class="formSaveBar ui-widget-header">
-		<div class="formSaveButton" wicket:id="ajax-save-button" wicket:message="title:144"></div>
-		<div class="formRefreshButton">
-			<input type="submit" value="" wicket:id="ajax-refresh-button" wicket:message="title:lbl.refresh" />
+		<div class="ui-button ui-widget ui-corner-all ui-button-icon-only" wicket:id="ajax-save-button" wicket:message="title:144">
+			<span class="ui-button-icon ui-icon ui-icon-disk"></span>&nbsp;
+		</div>
+		<div class="ui-button ui-widget ui-corner-all ui-button-icon-only" wicket:id="ajax-refresh-button" wicket:message="title:lbl.refresh">
+			<span class="ui-button-icon ui-icon ui-icon-refresh"></span>&nbsp;
 		</div>
 		<wicket:child/>
 	</div>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.java
index 27118ef..1719e41 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/FormSaveRefreshPanel.java
@@ -30,6 +30,7 @@ public abstract class FormSaveRefreshPanel<T> extends Panel {
 	private static final long serialVersionUID = 1L;
 	private final Form<T> form;
 	protected final KendoFeedbackPanel feedback = new KendoFeedbackPanel("feedback", new Options("button", true));
+	private AjaxButton saveBtn;
 
 	public FormSaveRefreshPanel(String id, Form<T> form) {
 		super(id);
@@ -42,7 +43,7 @@ public abstract class FormSaveRefreshPanel<T> extends Panel {
 		add(feedback.setOutputMarkupId(true));
 
 		// add a save button that can be used to submit the form via ajax
-		add(new AjaxButton("ajax-save-button", form) {
+		add(saveBtn = new AjaxButton("ajax-save-button", form) {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -68,7 +69,7 @@ public abstract class FormSaveRefreshPanel<T> extends Panel {
 			protected void onSubmit(AjaxRequestTarget target) {
 				// repaint the feedback panel so that it is hidden
 				target.add(feedback);
-				hideNewRecord();
+				setNewVisible(false);
 				onRefreshSubmit(target, form);
 			}
 
@@ -76,17 +77,23 @@ public abstract class FormSaveRefreshPanel<T> extends Panel {
 			protected void onError(AjaxRequestTarget target) {
 				// repaint the feedback panel so errors are shown
 				target.add(feedback);
-				hideNewRecord();
+				setNewVisible(false);
 				onRefreshError(target, form);
 			}
 		});
 		super.onInitialize();
 	}
 
+	public void setSaveVisible(boolean visible) {
+		saveBtn.setVisible(visible);
+	}
+
 	/**
-	 * Hide the new record text
+	 * Change visibility the new record text
+	 *
+	 * @param visible - new visibility
 	 */
-	public void hideNewRecord() {
+	public void setNewVisible(boolean visible) {
 		// for admin only, will be implemented in admin
 	}
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html
index 78e963c..4234176 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html
@@ -27,7 +27,9 @@
 	<span wicket:id="user-speaks"></span>
 	<div wicket:id="actions" class="user actions">
 		<span wicket:id="icons"></span>
-		<span wicket:id="kick"></span>
+		<div class="ui-button ui-widget ui-corner-all ui-button-icon-only ui-state-error" wicket:id="kick">
+			<span class="ui-button-icon ui-icon ui-icon-closethick"></span>&nbsp;
+		</div>
 		<span wicket:id="privateChat" class="ui-icon align-right clickable private-chat" wicket:message="title:1493" onclick="startPrivateChat($(this));"></span>
 		<div class="clear"></div>
 	</div>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
index 51a69e8..81cec34 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
@@ -124,7 +124,7 @@ public class AppointmentDialog extends AbstractFormDialog<Appointment> {
 
 	public AppointmentDialog(String id, CalendarPanel calendarPanel, CompoundPropertyModel<Appointment> model) {
 		super(id, "", model, true);
-		log.debug(" -- AppointmentDialog -- Current model " + getModel().getObject());
+		log.debug(" -- AppointmentDialog -- Current model {}", getModel().getObject());
 		this.calendarPanel = calendarPanel;
 		setOutputMarkupId(true);
 		form = new AppointmentForm("appForm", model);
@@ -296,7 +296,7 @@ public class AppointmentDialog extends AbstractFormDialog<Appointment> {
 		private static final long serialVersionUID = 1L;
 		private final boolean myRoomsAllowed;
 		private boolean createRoom = true;
-		private Room appRoom = null;
+		private Room appRoom = new Room();
 		private final DateTimePicker start = new OmDateTimePicker("start", Model.of(LocalDateTime.now()));
 		private final DateTimePicker end = new OmDateTimePicker("end", Model.of(LocalDateTime.now()));
 		private final PasswordTextField pwd = new PasswordTextField("password");
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.html
index 4c217f0..d09e597 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/ChatToolbar.html
@@ -77,7 +77,9 @@
 			</a>
 			<ul class="dropdown-menu btns-only">
 				<li><a class="chat-btn chat-tool-icon btn btn-default save" wicket:message="title:197" wicket:id="save"></a></li>
-				<li><a class="chat-btn chat-tool-icon btn btn-default delete" wicket:message="title:442" wicket:id="delete"></a></li>
+				<li><a class="chat-btn chat-tool-icon btn btn-default ui-state-error" wicket:message="title:442" wicket:id="delete">
+					<span class="ui-button-icon ui-icon ui-icon-closethick"></span>
+				</a></li>
 				<li><a class="chat-btn chat-tool-icon btn btn-default audio" wicket:message="data-sound-enabled:sound.mute,data-sound-muted:sound.enable">&nbsp;</a></li>
 				<li><a class="chat-btn chat-tool-icon btn btn-default send-btn" wicket:message="data-send-enter:send.on.enter,data-send-ctrl:send.on.ctrl.enter"><b>&crarr;</b></a></li>
 			</ul>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomListPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomListPanel.html
index 2aef6d1..2bed732 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomListPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/rooms/RoomListPanel.html
@@ -26,7 +26,7 @@
 				<div><span wicket:id="roomName">[room name]</span>&nbsp;<span wicket:id="info" class="info-text">&nbsp;</span></div>
 				<div>
 					<wicket:message key="398" />&nbsp;<span wicket:id="curUsers"></span>&nbsp;/&nbsp;<span
-						wicket:id="totalUsers"></span>&nbsp;&nbsp;<span wicket:id="refresh">&nbsp;</span>
+						wicket:id="totalUsers"></span>&nbsp;&nbsp;<span wicket:id="refresh"><wicket:message key="lbl.refresh"/></span>
 				</div>
 			</div>
 			<button wicket:id="btn"><span wicket:id="label"></span></button>
diff --git a/openmeetings-web/src/main/webapp/css/calendar.css b/openmeetings-web/src/main/webapp/css/calendar.css
index f49c366..5c8d296 100644
--- a/openmeetings-web/src/main/webapp/css/calendar.css
+++ b/openmeetings-web/src/main/webapp/css/calendar.css
@@ -36,11 +36,6 @@
 .appointmentPopUp select {
 	width: 426px;
 }
-
-.appointmentPopUp .formNewButton {
-	float: left;
-}
-
 .appointmentPopUp td {
 	vertical-align: middle;
 }
diff --git a/openmeetings-web/src/main/webapp/css/chat.css b/openmeetings-web/src/main/webapp/css/chat.css
index 5ee814c..922f887 100644
--- a/openmeetings-web/src/main/webapp/css/chat.css
+++ b/openmeetings-web/src/main/webapp/css/chat.css
@@ -111,9 +111,6 @@
 .sound-mute.chat-tool-icon {
 	background-image: url(images/sound_mute.png);
 }
-.delete.chat-tool-icon {
-	background-image: url(images/cancel_icon.png);
-}
 .save.chat-tool-icon {
 	background-image: url(images/file_save_as.png);
 }
diff --git a/openmeetings-web/src/main/webapp/css/general.css b/openmeetings-web/src/main/webapp/css/general.css
index 1d4f227..5db2a9a 100644
--- a/openmeetings-web/src/main/webapp/css/general.css
+++ b/openmeetings-web/src/main/webapp/css/general.css
@@ -566,9 +566,9 @@ form .input {
 }
  /**** TODO need to be unified with other icons used ****/
 div.formSaveBar {
-	height: 22px;
+	height: 35px;
 }
-.addButton, .delButton {
+.addButton {
 	display: inline-block;
 	cursor: pointer;
 	width: 18px;
@@ -577,58 +577,7 @@ div.formSaveBar {
 	margin-left: 2px;
 	margin-top: 2px;
 	vertical-align: super;
-}
-div.formSaveButton {
-	background-image: url(images/file_save_as.png);
-	background-repeat: no-repeat;
-	background-size: 18px 18px;
-	float: left;
-	cursor: pointer;
-	width: 18px;
-	height: 18px;
-	border: none;
-	margin-left: 2px;
-	margin-top: 2px;
-}
-.addButton {
-	background: url(images/plus_icon.png) no-repeat;
-}
-.delButton {
-	background: url(images/cancel_icon.png) no-repeat;
-}
-.formNewButton {
 	background: url(images/plus_icon.png) no-repeat;
-	float: left;
-	cursor: pointer;
-	width: 18px;
-	height: 18px;
-	border: none;
-	margin-left: 2px;
-	margin-top: 2px;
-}
-.formNewButton.disabled {
-	background: url(images/plus_icon_disabled.png) no-repeat;
-}
-div.formRefreshButton input {
-	background: url(images/arrow_refresh_small.png) no-repeat;
-	float: left;
-	cursor: pointer;
-	width: 18px;
-	height: 18px;
-	border: none;
-	margin-left: 2px;
-	margin-top: 2px;
-}
-.formCancelButton {
-	background: url(images/cancel_icon.png) no-repeat;
-	display: inline-block;
-	float: left;
-	cursor: pointer;
-	width: 18px;
-	height: 18px;
-	border: none;
-	margin-left: 2px;
-	margin-top: 2px;
 }
 .hash-panel-main {
 	width: 100%;
diff --git a/openmeetings-web/src/main/webapp/css/images/arrow_refresh_small.png b/openmeetings-web/src/main/webapp/css/images/arrow_refresh_small.png
deleted file mode 100644
index d3087df..0000000
Binary files a/openmeetings-web/src/main/webapp/css/images/arrow_refresh_small.png and /dev/null differ
diff --git a/openmeetings-web/src/main/webapp/css/images/cancel_icon.png b/openmeetings-web/src/main/webapp/css/images/cancel_icon.png
deleted file mode 100644
index 2d26062..0000000
Binary files a/openmeetings-web/src/main/webapp/css/images/cancel_icon.png and /dev/null differ
diff --git a/openmeetings-web/src/main/webapp/css/images/plus_icon.png b/openmeetings-web/src/main/webapp/css/images/plus_icon.png
deleted file mode 100644
index acec291..0000000
Binary files a/openmeetings-web/src/main/webapp/css/images/plus_icon.png and /dev/null differ
diff --git a/openmeetings-web/src/main/webapp/css/images/plus_icon_disabled.png b/openmeetings-web/src/main/webapp/css/images/plus_icon_disabled.png
deleted file mode 100644
index cfb4776..0000000
Binary files a/openmeetings-web/src/main/webapp/css/images/plus_icon_disabled.png and /dev/null differ
diff --git a/openmeetings-web/src/main/webapp/css/room.css b/openmeetings-web/src/main/webapp/css/room.css
index 773c061..3eb7262 100644
--- a/openmeetings-web/src/main/webapp/css/room.css
+++ b/openmeetings-web/src/main/webapp/css/room.css
@@ -252,12 +252,8 @@
 .exclsv-audio.ui-icon {
 	background-image: url(images/microphone_exclusive.png);
 }
-.kick.ui-icon {
-	background-image: url(images/cancel_icon.png);
-	background-size: 16px;
-}
 .restart.ui-icon {
-	background-image: url(images/arrow_refresh_small.png);
+	background-size: initial !important;
 }
 .settings.ui-icon, .settings.om-icon {
 	background-image: url(images/settings.png);

-- 
To stop receiving notification emails like this one, please contact
solomax@apache.org.