Author: solomax Date: Thu Jan 15 18:25:22 2015 New Revision: 1652209 URL: http://svn.apache.org/r1652209 Log: [OPENMEETINGS-1143] recording ordering is changed; default recording names are changed for better sorting
Modified: openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java openmeetings/branches/3.0.x/src/main/webapp/css/theme.css openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/CalendarPatterns.java openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingPanel.java openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/FlvRecording.java openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css Modified: openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java (original) +++ openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java Thu Jan 15 18:25:22 2015 @@ -226,24 +226,8 @@ public class FlvRecordingDao { return null; } - public List<FlvRecording> getFlvRecordingByParent(Long parentFileExplorerItemId) { - try { - - String hql = "SELECT c FROM FlvRecording c " + "WHERE c.deleted <> :deleted " - + "AND c.parentFileExplorerItemId = :parentFileExplorerItemId " - + "ORDER BY c.folder DESC, c.fileName "; - - TypedQuery<FlvRecording> query = em.createQuery(hql, FlvRecording.class); - query.setParameter("deleted", true); - query.setParameter("parentFileExplorerItemId", parentFileExplorerItemId); - - List<FlvRecording> flvRecordingList = query.getResultList(); - - return flvRecordingList; - } catch (Exception ex2) { - log.error("[getFlvRecordingByParent]: ", ex2); - } - return null; + public List<FlvRecording> getFlvRecordingByParent(Long parentId) { + return em.createNamedQuery("getRecordingsByParent", FlvRecording.class).setParameter("parentId", parentId).getResultList(); } public void updateFlvRecordingEndTime(Long flvRecordingId, Date recordEnd, Long organization_id) { Modified: openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java (original) +++ openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/record/FlvRecording.java Thu Jan 15 18:25:22 2015 @@ -63,28 +63,29 @@ import org.simpleframework.xml.Root; @NamedQueries({ @NamedQuery(name = "getRecordingById", query = "SELECT f FROM FlvRecording f WHERE f.flvRecordingId = :id") , @NamedQuery(name = "getRecordingByHash", query = "SELECT f FROM FlvRecording f WHERE f.fileHash = :fileHash") - , @NamedQuery(name = "getRecordingsByExternalUser", query = "SELECT c " - + "FROM FlvRecording c, User u " + , @NamedQuery(name = "getRecordingsByExternalUser", query = "SELECT c FROM FlvRecording c, User u " + "WHERE c.insertedBy = u.user_id AND u.externalUserId = :externalUserId AND u.externalUserType = :externalUserType " + "AND c.deleted = false") , @NamedQuery(name = "getRecordingsPublic", query = "SELECT f FROM FlvRecording f WHERE f.deleted = false AND f.ownerId IS NULL " + "AND f.organization_id IS NULL AND (f.parentFileExplorerItemId IS NULL OR f.parentFileExplorerItemId = 0) " - + "ORDER BY f.folder DESC, f.fileName") + + "ORDER BY f.folder DESC, f.inserted") , @NamedQuery(name = "getRecordingsByOrganization", query = "SELECT f FROM FlvRecording f WHERE f.deleted = false AND f.ownerId IS NULL " + "AND f.organization_id = :organization_id AND (f.parentFileExplorerItemId IS NULL OR f.parentFileExplorerItemId = 0) " - + "ORDER BY f.folder DESC, f.fileName") + + "ORDER BY f.folder DESC, f.inserted") , @NamedQuery(name = "getRecordingsByOwner", query = "SELECT f FROM FlvRecording f WHERE f.deleted = false AND f.ownerId = :ownerId " + "AND (f.parentFileExplorerItemId IS NULL OR f.parentFileExplorerItemId = 0) " - + "ORDER BY f.folder DESC, f.fileName ") + + "ORDER BY f.folder DESC, f.inserted") + , @NamedQuery(name = "getRecordingsByParent", query = "SELECT f FROM FlvRecording f WHERE f.deleted = false AND f.parentFileExplorerItemId = :parentId " + + "ORDER BY f.folder DESC, f.inserted") , @NamedQuery(name = "resetRecordingProcessingStatus", query = "UPDATE FlvRecording f SET f.status = :error WHERE f.status = :processing") , @NamedQuery(name = "getRecordingsByExternalType", query = "SELECT rec FROM FlvRecording rec, Room r, User u " + "WHERE rec.deleted = false AND rec.room_id = r.rooms_id AND rec.insertedBy = u.user_id " - + "AND (r.externalRoomType = :externalType OR u.externalUserType = :externalType)") + + "AND (r.externalRoomType = :externalType OR u.externalUserType = :externalType)") }) @Table(name = "flvrecording") @Root(name = "flvrecording") public class FlvRecording implements Serializable { - private static final long serialVersionUID = -2234874663310617072L; + private static final long serialVersionUID = 1L; public enum Status { NONE Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java (original) +++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java Thu Jan 15 18:25:22 2015 @@ -19,6 +19,7 @@ package org.apache.openmeetings.remote; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAUT_LANG_KEY; +import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import java.util.ArrayList; import java.util.Date; @@ -26,7 +27,6 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.TimeZone; import org.apache.openmeetings.data.calendar.management.AppointmentLogic; import org.apache.openmeetings.data.conference.RoomManager; @@ -51,11 +51,7 @@ import org.apache.openmeetings.db.entity import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.db.util.TimezoneUtil; import org.apache.openmeetings.util.AuthLevelUtil; -import org.apache.openmeetings.util.CalendarPatterns; -import org.apache.openmeetings.util.OpenmeetingsVariables; import org.red5.logging.Red5LoggerFactory; -import org.red5.server.api.IConnection; -import org.red5.server.api.Red5; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -65,9 +61,7 @@ import org.springframework.beans.factory * */ public class ConferenceService { - - private static final Logger log = Red5LoggerFactory.getLogger( - ConferenceService.class, OpenmeetingsVariables.webAppRootKey); + private static final Logger log = Red5LoggerFactory.getLogger(ConferenceService.class, webAppRootKey); @Autowired private AppointmentLogic appointmentLogic; @@ -272,54 +266,6 @@ public class ConferenceService { // -------------------------------------------------------------------------------------------- - public Map<String, Object> getAppointMentAndTimeZones(Long room_id) { - try { - log.debug("getAppointMentDataForRoom"); - - IConnection current = Red5.getConnectionLocal(); - String streamid = current.getClient().getId(); - - log.debug("getCurrentRoomClient -2- " + streamid); - - Client currentClient = this.sessionManager - .getClientByStreamId(streamid, null); - - Room room = roomDao.get(room_id); - - if (room.getAppointment() == false) { - throw new IllegalStateException("Room has no appointment"); - } - - Appointment appointment = appointmentLogic - .getAppointmentByRoom(room_id); - - Map<String, Object> returnMap = new HashMap<String, Object>(); - - returnMap.put("appointment", appointment); - - User us = userDao.get(currentClient.getUser_id()); - TimeZone timezone = timezoneUtil.getTimeZone(us); - - returnMap.put("appointment", appointment); - - returnMap.put( - "start", - CalendarPatterns.getDateWithTimeByMiliSeconds( - appointment.getStart(), timezone)); - returnMap.put( - "end", - CalendarPatterns.getDateWithTimeByMiliSeconds( - appointment.getEnd(), timezone)); - returnMap.put("timeZone", timezone.getDisplayName()); - - return returnMap; - } catch (Exception e) { - log.error("getAppointMentAndTimeZones " , e ); - return null; - } - - } - /** * */ Modified: openmeetings/branches/3.0.x/src/main/webapp/css/theme.css URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/webapp/css/theme.css?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/branches/3.0.x/src/main/webapp/css/theme.css (original) +++ openmeetings/branches/3.0.x/src/main/webapp/css/theme.css Thu Jan 15 18:25:22 2015 @@ -328,7 +328,8 @@ html, body { clear: both; } .om-icon { - background-repeat: no-repeat; + background-repeat: no-repeat !important; + background-position: 0 0 !important; width: 18px; height: 18px; border: none; @@ -342,6 +343,7 @@ html, body { .trees a.om-icon span { white-space: nowrap; padding-right: 20px; + vertical-align: top; } .cross.om-icon { background-image: url(images/cross.png); @@ -356,47 +358,49 @@ html, body { background-image: url(images/email_add.png); } .user.om-icon { - background: url(images/user.png) no-repeat; + background: url(images/user.png); } .refresh.om-icon { - background: url(images/refresh.gif) no-repeat; + background: url(images/refresh.gif); } .trash.om-icon { - background: url(images/trash.png) no-repeat; + background: url(images/trash.png); } .folder-create.om-icon { - background: url(images/folder_add.png) no-repeat; + background: url(images/folder_add.png); } .recording.om-icon { padding-left: 18px; background-image: url(images/film.png); - background-repeat: no-repeat; } .broken-recording.om-icon { padding-left: 18px; background-image: url(images/film_error.png); - background-repeat: no-repeat; } .processing-recording.om-icon { padding-left: 18px; background-image: url(images/film_processing.png); - background-repeat: no-repeat; } .my-recordings.om-icon { padding-left: 18px; background-image: url(images/house_link.png); - background-repeat: no-repeat; } .public-recordings.om-icon { padding-left: 18px; background-image: url(images/world_link.png); - background-repeat: no-repeat; +} +.tree-theme-windows span.tree-content { + display: flex !important; } .recording.item { position: relative; + vertical-align: top; } .recording.item .name { color: black; + display: block; + overflow: hidden; + width: 230px; } .recording.item .errors { position: absolute; @@ -417,10 +421,10 @@ html, body { } .recording.dialog.errors .message { display: block; - unicode-bidi: embed; - font-family: monospace; - white-space: pre; - margin: 0; + unicode-bidi: embed; + font-family: monospace; + white-space: pre; + margin: 0; } .online.om-icon { background-image: url(images/bullet_green.png); @@ -432,11 +436,11 @@ html, body { color: red; } .message { - margin: 50px; - border: 1px solid black; - padding: 15px; - -webkit-border-radius: 8px; - border-radius: 8px; + margin: 50px; + border: 1px solid black; + padding: 15px; + -webkit-border-radius: 8px; + border-radius: 8px; } .ui-progressbar div { text-align: center; Modified: openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/CalendarPatterns.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/CalendarPatterns.java?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/CalendarPatterns.java (original) +++ openmeetings/branches/3.0.x/src/util/java/org/apache/openmeetings/util/CalendarPatterns.java Thu Jan 15 18:25:22 2015 @@ -18,6 +18,8 @@ */ package org.apache.openmeetings.util; +import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; + import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; @@ -26,200 +28,186 @@ import org.red5.logging.Red5LoggerFactor import org.slf4j.Logger; /** - * @author Sebastian Wagner - * 27.08.2005 - 19:24:25 + * @author Sebastian Wagner 27.08.2005 - 19:24:25 * */ public class CalendarPatterns { - - private static final Logger log = Red5LoggerFactory.getLogger(CalendarPatterns.class, "openmeetings"); - - public static SimpleDateFormat dateFormat__ddMMyyyyHHmmss = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - public static SimpleDateFormat dateFormat__ddMMyyyy = new SimpleDateFormat("dd.MM.yyyy"); - public static SimpleDateFormat dateFormat__ddMMyyyyBySeparator = new SimpleDateFormat("dd-MM-yyyy"); - - public static String getDateByMiliSeconds(Date t){ - SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - - public static String getDateWithTimeByMiliSeconds(Date t){ - if (t == null) { - return null; - } - SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - - public static String getDateWithTimeByMiliSeconds(Date t, TimeZone timezone){ - if (t == null) { - return null; - } - SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - sdf.setTimeZone(timezone); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - - public static String getDateWithTimeByMiliSecondsWithZone(Date t){ - if (t == null) { - return null; - } - SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z (Z)"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - - public static String getExportDate(Date t){ - if (t == null) { - return ""; - } - return ""+t.getTime(); - } - - public static Date parseImportDate(String dateString) { - try { - - Date resultDate = null; - - resultDate = validDate(dateFormat__ddMMyyyyHHmmss, dateString); - - if ( resultDate != null ) { - return resultDate; - } - - resultDate = validDate(dateFormat__ddMMyyyy, dateString); - - if ( resultDate != null ) { - return resultDate; - } - - resultDate = validDate(dateString); - - if (dateString != null) { - return resultDate; - } - - - throw new Exception ("Could not parse date string "+dateString); - } catch (Exception e) { - log.error("parseDate",e); - } - return null; - } - - private static Date validDate(String testdate) { - try { - - Long t = Long.valueOf(testdate); - - if (t != null) { - return new Date(t); - } - - } catch (Exception err) { - } - return null; - } - - private static Date validDate(SimpleDateFormat sdf, String testdate) - { - Date resultDate = null; - try - { - resultDate = sdf.parse(testdate); - } - - // if the format of the string provided doesn't match the format we - // declared in SimpleDateFormat() we will get an exception - - catch (java.text.ParseException e) - { - return null; - } - - if (!sdf.format(resultDate).equals(testdate)) - { - return null; - } - - return resultDate; - - } - - public static String getDateWithTimeByMiliSecondsAndTimeZone(Date t, TimeZone timezone){ - if (t == null) { - return null; - } - SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z (Z)"); - sdf.setTimeZone(timezone); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - - public static String getTimeForStreamId(Date t){ - SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - - public static Date parseDate(String dateString) { - try { - return dateFormat__ddMMyyyy.parse(dateString); - } catch (Exception e) { - log.error("parseDate",e); - } - return null; - } - - public static Date parseDateBySeparator(String dateString) { - try { - return dateFormat__ddMMyyyyBySeparator.parse(dateString); - } catch (Exception e) { - log.error("parseDate",e); - } - return null; - } - - public static Date parseDateWithHour(String dateString) { - try { - if (dateString == null || dateString.length()==0 || dateString.equals("null") ) { - return null; - } - return dateFormat__ddMMyyyyHHmmss.parse(dateString); - } catch (Exception e) { - log.error("parseDate",e); - } - return null; - } - - public static String getYear(Date t){ - SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - + private static final Logger log = Red5LoggerFactory.getLogger(CalendarPatterns.class, webAppRootKey); + + public static ThreadLocal<SimpleDateFormat> dateFormat__ddMMyyyyHHmmss = new ThreadLocal<SimpleDateFormat>() { + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); + }; + }; + public static ThreadLocal<SimpleDateFormat> dateFormat__ddMMyyyy = new ThreadLocal<SimpleDateFormat>() { + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("dd.MM.yyyy"); + }; + }; + public static ThreadLocal<SimpleDateFormat> dateFormat__ddMMyyyyBySeparator = new ThreadLocal<SimpleDateFormat>() { + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("dd-MM-yyyy"); + }; + }; + public static ThreadLocal<SimpleDateFormat> dateFormat__yyyyMMddHHmmss = new ThreadLocal<SimpleDateFormat>() { + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyy.MM.dd HH:mm:ss"); + }; + }; + + public static String getDateByMiliSeconds(Date t) { + return dateFormat__yyyyMMddHHmmss.get().format(t); + } + + public static String getDateWithTimeByMiliSeconds(Date t) { + return t == null ? null : dateFormat__yyyyMMddHHmmss.get().format(t); + } + + public static String getDateWithTimeByMiliSecondsWithZone(Date t) { + if (t == null) { + return null; + } + SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z (Z)"); + Date dateOld = new Date(); + long timeAdv = t.getTime(); + dateOld.setTime(timeAdv); + String result = sdf.format(dateOld); + return result; + } + + public static String getExportDate(Date t) { + if (t == null) { + return ""; + } + return "" + t.getTime(); + } + + public static Date parseImportDate(String dateString) { + try { + + Date resultDate = null; + + resultDate = validDate(dateFormat__ddMMyyyyHHmmss.get(), dateString); + + if (resultDate != null) { + return resultDate; + } + + resultDate = validDate(dateFormat__ddMMyyyy.get(), dateString); + + if (resultDate != null) { + return resultDate; + } + + resultDate = validDate(dateString); + + if (dateString != null) { + return resultDate; + } + + throw new Exception("Could not parse date string " + dateString); + } catch (Exception e) { + log.error("parseDate", e); + } + return null; + } + + private static Date validDate(String testdate) { + try { + + Long t = Long.valueOf(testdate); + + if (t != null) { + return new Date(t); + } + + } catch (Exception err) { + } + return null; + } + + private static Date validDate(SimpleDateFormat sdf, String testdate) { + Date resultDate = null; + try { + resultDate = sdf.parse(testdate); + } + + // if the format of the string provided doesn't match the format we + // declared in SimpleDateFormat() we will get an exception + + catch (java.text.ParseException e) { + return null; + } + + if (!sdf.format(resultDate).equals(testdate)) { + return null; + } + + return resultDate; + + } + + public static String getDateWithTimeByMiliSecondsAndTimeZone(Date t, + TimeZone timezone) { + if (t == null) { + return null; + } + SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z (Z)"); + sdf.setTimeZone(timezone); + Date dateOld = new Date(); + long timeAdv = t.getTime(); + dateOld.setTime(timeAdv); + String result = sdf.format(dateOld); + return result; + } + + public static String getTimeForStreamId(Date t) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss"); + Date dateOld = new Date(); + long timeAdv = t.getTime(); + dateOld.setTime(timeAdv); + String result = sdf.format(dateOld); + return result; + } + + public static Date parseDate(String dateString) { + try { + return dateFormat__ddMMyyyy.get().parse(dateString); + } catch (Exception e) { + log.error("parseDate", e); + } + return null; + } + + public static Date parseDateBySeparator(String dateString) { + try { + return dateFormat__ddMMyyyyBySeparator.get().parse(dateString); + } catch (Exception e) { + log.error("parseDate", e); + } + return null; + } + + public static Date parseDateWithHour(String dateString) { + try { + if (dateString == null || dateString.length() == 0 + || dateString.equals("null")) { + return null; + } + return dateFormat__ddMMyyyyHHmmss.get().parse(dateString); + } catch (Exception e) { + log.error("parseDate", e); + } + return null; + } + + public static String getYear(Date t) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); + Date dateOld = new Date(); + long timeAdv = t.getTime(); + dateOld.setTime(timeAdv); + String result = sdf.format(dateOld); + return result; + } + } Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingPanel.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingPanel.java?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingPanel.java (original) +++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingPanel.java Thu Jan 15 18:25:22 2015 @@ -93,7 +93,7 @@ public class RecordingPanel extends Pane d.add(AttributeAppender.append("class", "recorditem")); drag = d; } - drag.add(r.getFlvRecordingId() < 1 || !r.isFolder() ? new Label("name", r.getFileName()) : new AjaxEditableLabel<String>("name", Model.of(model.getObject().getFileName())) { + drag.add(r.getFlvRecordingId() < 1 ? new Label("name", r.getFileName()) : new AjaxEditableLabel<String>("name", Model.of(model.getObject().getFileName())) { private static final long serialVersionUID = 1L; @Override Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java (original) +++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java Thu Jan 15 18:25:22 2015 @@ -253,11 +253,7 @@ public class RecordingsPanel extends Use @Override protected String getOtherStyleClass(FlvRecording r) { - String style = getRecordingStyle(r, super.getOtherStyleClass(r)); - if (isSelected()) { - style += " ui-state-active"; - } - return style; + return getRecordingStyle(r, super.getOtherStyleClass(r)); } @Override @@ -271,6 +267,11 @@ public class RecordingsPanel extends Use } @Override + protected String getSelectedStyleClass() { + return "ui-state-active"; + } + + @Override protected IModel<String> newLabelModel(IModel<FlvRecording> model) { return Model.of(model.getObject().getFileName()); } Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java Thu Jan 15 18:25:22 2015 @@ -19,6 +19,7 @@ package org.apache.openmeetings.core.remote; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAUT_LANG_KEY; +import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import java.util.ArrayList; import java.util.Date; @@ -26,7 +27,6 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.TimeZone; import org.apache.openmeetings.core.data.calendar.management.AppointmentLogic; import org.apache.openmeetings.core.data.conference.RoomManager; @@ -51,11 +51,7 @@ import org.apache.openmeetings.db.entity import org.apache.openmeetings.db.entity.user.User; import org.apache.openmeetings.db.util.AuthLevelUtil; import org.apache.openmeetings.db.util.TimezoneUtil; -import org.apache.openmeetings.util.CalendarPatterns; -import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import org.red5.logging.Red5LoggerFactory; -import org.red5.server.api.IConnection; -import org.red5.server.api.Red5; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; @@ -269,54 +265,6 @@ public class ConferenceService { // -------------------------------------------------------------------------------------------- - public Map<String, Object> getAppointMentAndTimeZones(Long room_id) { - try { - log.debug("getAppointMentDataForRoom"); - - IConnection current = Red5.getConnectionLocal(); - String streamid = current.getClient().getId(); - - log.debug("getCurrentRoomClient -2- " + streamid); - - Client currentClient = this.sessionManager - .getClientByStreamId(streamid, null); - - Room room = roomDao.get(room_id); - - if (room.isAppointment() == false) { - throw new IllegalStateException("Room has no appointment"); - } - - Appointment appointment = appointmentLogic - .getAppointmentByRoom(room_id); - - Map<String, Object> returnMap = new HashMap<String, Object>(); - - returnMap.put("appointment", appointment); - - User us = userDao.get(currentClient.getUser_id()); - TimeZone timezone = timezoneUtil.getTimeZone(us); - - returnMap.put("appointment", appointment); - - returnMap.put( - "start", - CalendarPatterns.getDateWithTimeByMiliSeconds( - appointment.getStart(), timezone)); - returnMap.put( - "end", - CalendarPatterns.getDateWithTimeByMiliSeconds( - appointment.getEnd(), timezone)); - returnMap.put("timeZone", timezone.getDisplayName()); - - return returnMap; - } catch (Exception e) { - log.error("getAppointMentAndTimeZones " , e ); - return null; - } - - } - /** * */ Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java Thu Jan 15 18:25:22 2015 @@ -194,18 +194,8 @@ public class FlvRecordingDao { return null; } - public List<FlvRecording> getFlvRecordingByParent(Long parentFileExplorerItemId) { - try { - TypedQuery<FlvRecording> query = em.createNamedQuery("getRecordingsByParent", FlvRecording.class); - query.setParameter("parentItemId", parentFileExplorerItemId); - - List<FlvRecording> flvRecordingList = query.getResultList(); - - return flvRecordingList; - } catch (Exception ex2) { - log.error("[getFlvRecordingByParent]: ", ex2); - } - return null; + public List<FlvRecording> getFlvRecordingByParent(Long parentId) { + return em.createNamedQuery("getRecordingsByParent", FlvRecording.class).setParameter("parentId", parentId).getResultList(); } public void updateFlvRecordingEndTime(Long flvRecordingId, Date recordEnd) { Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/FlvRecording.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/FlvRecording.java?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/FlvRecording.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/FlvRecording.java Thu Jan 15 18:25:22 2015 @@ -72,13 +72,13 @@ import org.simpleframework.xml.Root; + "AND c.deleted = false") , @NamedQuery(name = "getRecordingsPublic", query = "SELECT f FROM FlvRecording f WHERE f.deleted = false AND f.ownerId IS NULL " + "AND f.organization_id IS NULL AND (f.parentItemId IS NULL OR f.parentItemId = 0) " - + "ORDER BY f.type DESC, f.fileName") + + "ORDER BY f.type DESC, f.inserted") , @NamedQuery(name = "getRecordingsByOrganization", query = "SELECT f FROM FlvRecording f WHERE f.deleted = false AND f.ownerId IS NULL " + "AND f.organization_id = :organization_id AND (f.parentItemId IS NULL OR f.parentItemId = 0) " - + "ORDER BY f.type DESC, f.fileName") + + "ORDER BY f.type DESC, f.inserted") , @NamedQuery(name = "getRecordingsByOwner", query = "SELECT f FROM FlvRecording f WHERE f.deleted = false AND f.ownerId = :ownerId " + "AND (f.parentItemId IS NULL OR f.parentItemId = 0) " - + "ORDER BY f.type DESC, f.fileName ") + + "ORDER BY f.type DESC, f.inserted") , @NamedQuery(name = "resetRecordingProcessingStatus", query = "UPDATE FlvRecording f SET f.status = :error WHERE f.status = :processing") , @NamedQuery(name = "getRecordingsAll", query = "SELECT c FROM FlvRecording c LEFT JOIN FETCH c.flvRecordingMetaData ORDER BY c.id") , @NamedQuery(name = "getRecordingsByExternalRoomTypeAndOwner", query = "SELECT c FROM FlvRecording c, Room r WHERE c.roomId = r.id " @@ -86,12 +86,12 @@ import org.simpleframework.xml.Root; , @NamedQuery(name = "getRecordingsByExternalRoomType", query = "SELECT c FROM FlvRecording c, Room r WHERE c.roomId = r.id " + "AND r.externalRoomType LIKE :externalRoomType AND c.deleted = false") , @NamedQuery(name = "getRecordingsByRoom", query = "SELECT c FROM FlvRecording c WHERE c.deleted = false AND c.roomId = :roomId " - + "ORDER BY c.type ASC, c.fileName") - , @NamedQuery(name = "getRecordingsByParent", query = "SELECT c FROM FlvRecording c WHERE c.deleted = false AND c.parentItemId = :parentItemId " - + "ORDER BY c.type ASC, c.fileName") + + "ORDER BY c.type ASC, c.inserted") + , @NamedQuery(name = "getRecordingsByParent", query = "SELECT f FROM FlvRecording f WHERE f.deleted = false AND f.parentItemId = :parentId " + + "ORDER BY f.type ASC, f.inserted") , @NamedQuery(name = "getRecordingsByExternalType", query = "SELECT rec FROM FlvRecording rec, Room r, User u " + "WHERE rec.deleted = false AND rec.room_id = r.rooms_id AND rec.insertedBy = u.user_id " - + "AND (r.externalRoomType = :externalType OR u.externalUserType = :externalType)") + + "AND (r.externalRoomType = :externalType OR u.externalUserType = :externalType)") }) @Table(name = "flvrecording") @Root(name = "flvrecording") Modified: openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java Thu Jan 15 18:25:22 2015 @@ -28,13 +28,12 @@ import org.red5.logging.Red5LoggerFactor import org.slf4j.Logger; /** - * @author Sebastian Wagner - * 27.08.2005 - 19:24:25 + * @author Sebastian Wagner 27.08.2005 - 19:24:25 * */ public class CalendarPatterns { private static final Logger log = Red5LoggerFactory.getLogger(CalendarPatterns.class, webAppRootKey); - + public static ThreadLocal<SimpleDateFormat> dateFormat__ddMMyyyyHHmmss = new ThreadLocal<SimpleDateFormat>() { protected SimpleDateFormat initialValue() { return new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); @@ -50,189 +49,165 @@ public class CalendarPatterns { return new SimpleDateFormat("dd-MM-yyyy"); }; }; - - public static String getDateByMiliSeconds(Date t){ - SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - - public static String getDateWithTimeByMiliSeconds(Date t){ - if (t == null) { - return null; - } - SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - - public static String getDateWithTimeByMiliSeconds(Date t, TimeZone timezone){ - if (t == null) { - return null; - } - SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); - sdf.setTimeZone(timezone); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - - public static String getDateWithTimeByMiliSecondsWithZone(Date t){ - if (t == null) { - return null; - } - SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z (Z)"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - - public static String getExportDate(Date t){ - if (t == null) { - return ""; - } - return ""+t.getTime(); - } - - public static Date parseImportDate(String dateString) { - try { - - Date resultDate = null; - - resultDate = validDate(dateFormat__ddMMyyyyHHmmss.get(), dateString); - - if ( resultDate != null ) { - return resultDate; - } - - resultDate = validDate(dateFormat__ddMMyyyy.get(), dateString); - - if ( resultDate != null ) { - return resultDate; - } - - resultDate = validDate(dateString); - - if (dateString != null) { - return resultDate; - } - - - throw new Exception ("Could not parse date string "+dateString); - } catch (Exception e) { - log.error("parseDate",e); - } - return null; - } - - private static Date validDate(String testdate) { - try { - - Long t = Long.valueOf(testdate); - - if (t != null) { - return new Date(t); - } - - } catch (Exception err) { - } - return null; - } - - private static Date validDate(SimpleDateFormat sdf, String testdate) - { - Date resultDate = null; - try - { - resultDate = sdf.parse(testdate); - } - - // if the format of the string provided doesn't match the format we - // declared in SimpleDateFormat() we will get an exception - - catch (java.text.ParseException e) - { - return null; - } - - if (!sdf.format(resultDate).equals(testdate)) - { - return null; - } - - return resultDate; - - } - - public static String getDateWithTimeByMiliSecondsAndTimeZone(Date t, TimeZone timezone){ - if (t == null) { - return null; - } - SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z (Z)"); - sdf.setTimeZone(timezone); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - - public static String getTimeForStreamId(Date t){ - SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - - public static Date parseDate(String dateString) { - try { - return dateFormat__ddMMyyyy.get().parse(dateString); - } catch (Exception e) { - log.error("parseDate",e); - } - return null; - } - - public static Date parseDateBySeparator(String dateString) { - try { - return dateFormat__ddMMyyyyBySeparator.get().parse(dateString); - } catch (Exception e) { - log.error("parseDate",e); - } - return null; - } - - public static Date parseDateWithHour(String dateString) { - try { - if (dateString == null || dateString.length()==0 || dateString.equals("null") ) { - return null; - } - return dateFormat__ddMMyyyyHHmmss.get().parse(dateString); - } catch (Exception e) { - log.error("parseDate",e); - } - return null; - } - - public static String getYear(Date t){ - SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); - Date dateOld = new Date(); - long timeAdv = t.getTime(); - dateOld.setTime(timeAdv); - String result = sdf.format(dateOld); - return result; - } - + public static ThreadLocal<SimpleDateFormat> dateFormat__yyyyMMddHHmmss = new ThreadLocal<SimpleDateFormat>() { + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyy.MM.dd HH:mm:ss"); + }; + }; + + public static String getDateByMiliSeconds(Date t) { + return dateFormat__yyyyMMddHHmmss.get().format(t); + } + + public static String getDateWithTimeByMiliSeconds(Date t) { + return t == null ? null : dateFormat__yyyyMMddHHmmss.get().format(t); + } + + public static String getDateWithTimeByMiliSecondsWithZone(Date t) { + if (t == null) { + return null; + } + SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z (Z)"); + Date dateOld = new Date(); + long timeAdv = t.getTime(); + dateOld.setTime(timeAdv); + String result = sdf.format(dateOld); + return result; + } + + public static String getExportDate(Date t) { + if (t == null) { + return ""; + } + return "" + t.getTime(); + } + + public static Date parseImportDate(String dateString) { + try { + + Date resultDate = null; + + resultDate = validDate(dateFormat__ddMMyyyyHHmmss.get(), dateString); + + if (resultDate != null) { + return resultDate; + } + + resultDate = validDate(dateFormat__ddMMyyyy.get(), dateString); + + if (resultDate != null) { + return resultDate; + } + + resultDate = validDate(dateString); + + if (dateString != null) { + return resultDate; + } + + throw new Exception("Could not parse date string " + dateString); + } catch (Exception e) { + log.error("parseDate", e); + } + return null; + } + + private static Date validDate(String testdate) { + try { + + Long t = Long.valueOf(testdate); + + if (t != null) { + return new Date(t); + } + + } catch (Exception err) { + } + return null; + } + + private static Date validDate(SimpleDateFormat sdf, String testdate) { + Date resultDate = null; + try { + resultDate = sdf.parse(testdate); + } + + // if the format of the string provided doesn't match the format we + // declared in SimpleDateFormat() we will get an exception + + catch (java.text.ParseException e) { + return null; + } + + if (!sdf.format(resultDate).equals(testdate)) { + return null; + } + + return resultDate; + + } + + public static String getDateWithTimeByMiliSecondsAndTimeZone(Date t, + TimeZone timezone) { + if (t == null) { + return null; + } + SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss z (Z)"); + sdf.setTimeZone(timezone); + Date dateOld = new Date(); + long timeAdv = t.getTime(); + dateOld.setTime(timeAdv); + String result = sdf.format(dateOld); + return result; + } + + public static String getTimeForStreamId(Date t) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss"); + Date dateOld = new Date(); + long timeAdv = t.getTime(); + dateOld.setTime(timeAdv); + String result = sdf.format(dateOld); + return result; + } + + public static Date parseDate(String dateString) { + try { + return dateFormat__ddMMyyyy.get().parse(dateString); + } catch (Exception e) { + log.error("parseDate", e); + } + return null; + } + + public static Date parseDateBySeparator(String dateString) { + try { + return dateFormat__ddMMyyyyBySeparator.get().parse(dateString); + } catch (Exception e) { + log.error("parseDate", e); + } + return null; + } + + public static Date parseDateWithHour(String dateString) { + try { + if (dateString == null || dateString.length() == 0 + || dateString.equals("null")) { + return null; + } + return dateFormat__ddMMyyyyHHmmss.get().parse(dateString); + } catch (Exception e) { + log.error("parseDate", e); + } + return null; + } + + public static String getYear(Date t) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); + Date dateOld = new Date(); + long timeAdv = t.getTime(); + dateOld.setTime(timeAdv); + String result = sdf.format(dateOld); + return result; + } + } Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java Thu Jan 15 18:25:22 2015 @@ -130,11 +130,7 @@ public class FileItemTree<T extends File @Override protected String getOtherStyleClass(T r) { - String style = getItemStyle(r, super.getOtherStyleClass(r)); - if (isSelected()) { - style += " ui-state-active"; - } - return style; + return getItemStyle(r, super.getOtherStyleClass(r)); } @Override @@ -148,6 +144,11 @@ public class FileItemTree<T extends File } @Override + protected String getSelectedStyleClass() { + return "ui-state-active"; + } + + @Override protected IModel<String> newLabelModel(IModel<T> model) { return Model.of(model.getObject().getFileName()); } Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java Thu Jan 15 18:25:22 2015 @@ -102,7 +102,7 @@ public class FolderPanel extends Panel { d.add(AttributeAppender.append("class", r instanceof FlvRecording ? "recorditem" : "fileitem")); drag = d; } - drag.add(r.getId() < 1 || r.getType() != Type.Folder ? new Label("name", r.getFileName()) : new AjaxEditableLabel<String>("name", Model.of(model.getObject().getFileName())) { + drag.add(r.getId() < 1 ? new Label("name", r.getFileName()) : new AjaxEditableLabel<String>("name", Model.of(model.getObject().getFileName())) { private static final long serialVersionUID = 1L; @Override Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css?rev=1652209&r1=1652208&r2=1652209&view=diff ============================================================================== --- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css (original) +++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css Thu Jan 15 18:25:22 2015 @@ -290,7 +290,8 @@ html, body { clear: both; } .om-icon { - background-repeat: no-repeat; + background-repeat: no-repeat !important; + background-position: 0 0 !important; width: 18px; height: 18px; border: none; @@ -304,6 +305,7 @@ html, body { .trees a.om-icon span { white-space: nowrap; padding-right: 20px; + vertical-align: top; } .cross.om-icon { background-image: url(images/cross.png); @@ -318,35 +320,31 @@ html, body { background-image: url(images/email_add.png); } .user.om-icon { - background: url(images/user.png) no-repeat; + background: url(images/user.png); } .refresh.om-icon { - background: url(images/refresh.gif) no-repeat; + background: url(images/refresh.gif); } .trash.om-icon { - background: url(images/trash.png) no-repeat; + background: url(images/trash.png); } .folder-create.om-icon { - background: url(images/folder_add.png) no-repeat; + background: url(images/folder_add.png); } .recording.om-icon { padding-left: 18px; background-image: url(images/film.png); - background-repeat: no-repeat; } .broken-recording.om-icon { padding-left: 18px; background-image: url(images/film_error.png); - background-repeat: no-repeat; } .processing-recording.om-icon { padding-left: 18px; background-image: url(images/film_processing.png); - background-repeat: no-repeat; } .file.om-icon { padding-left: 18px; - background-repeat: no-repeat; } .my.file.om-icon { background-image: url(images/house_link.png); @@ -369,13 +367,19 @@ html, body { .selected .file.item { background-color: #0099FF; } +.tree-theme-windows span.tree-content { + display: flex !important; +} .file.item { position: relative; display: inline-block; - min-width: 150px; + vertical-align: top; } .file.item .name { color: black; + display: block; + overflow: hidden; + width: 230px; } .file.item .errors { background-image: url(images/script_error.png); @@ -393,10 +397,10 @@ html, body { } .file.tree .dialog.errors .message { display: block; - unicode-bidi: embed; - font-family: monospace; - white-space: pre; - margin: 0; + unicode-bidi: embed; + font-family: monospace; + white-space: pre; + margin: 0; } .online.om-icon { background-image: url(images/bullet_green.png); @@ -408,11 +412,11 @@ html, body { color: red; } .message { - margin: 50px; - border: 1px solid black; - padding: 15px; - -webkit-border-radius: 8px; - border-radius: 8px; + margin: 50px; + border: 1px solid black; + padding: 15px; + -webkit-border-radius: 8px; + border-radius: 8px; } .ui-progressbar div { text-align: center;