Commit b6a1d5ed authored by Carsten Schoenert's avatar Carsten Schoenert

New upstream version 3.2.0

parent 61f07fde
......@@ -18,5 +18,6 @@ tools/tools.jar
*.mo
# Eclipse files
.project
.settings
# Closed tests
test/
......@@ -38,26 +38,6 @@ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMA
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
====================================================================================================
Object.js
Code copied from https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/keys,
which is copyright (C) 2012, Mozilla Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
====================================================================================================
Printer rendering
Copyright (C) 2010 Ed Spencer
......
......@@ -25,11 +25,14 @@
<property name="ux-all-debugfile" value="ux-all-debug.js"/>
<property name="ux-all-file" value="ux-all.js"/>
<!-- The TinyMCE distribution files -->
<property name="tinymce-folder" value="tinymce"/>
<!-- The TinyMCE distribution files -->
<property name="tinymce-folder" value="tinymce"/>
<!-- The TinyMCE external plugins files -->
<property name="tinymce-plugins-folder" value="tinymce-plugins"/>
<!-- The TinyMCE external plugins files -->
<property name="tinymce-plugins-folder" value="tinymce-plugins"/>
<!-- The TinyMCE language files -->
<property name="tinymce-languages-folder" value="tinymce-languages"/>
<!-- The Ext-Mod distribution files -->
<property name="extjs-mod-folder" value="extjs-mod"/>
......@@ -58,7 +61,7 @@
<!-- The Kopano CSS files -->
<property name="kopano-css-folder" value="resources/css"/>
<property name="kopano-css-file" value="kopano.css"/>
<!-- The Kopano images -->
<property name="kopano-images-folder" value="resources/images"/>
......@@ -97,6 +100,11 @@
<include name="**/*.*"/>
</fileset>
<!-- Delete the TinyMCE language files -->
<fileset dir="${target-folder}/${tinymce-languages-folder}">
<include name="**/*.*"/>
</fileset>
<!-- Delete the fingerprint script -->
<fileset dir="${target-folder}/${fingerprint-folder}">
<include name="${fingerprint-file}"/>
......@@ -118,7 +126,7 @@
<include name="${kopano-debugfile}"/>
</fileset>
</delete>
<!-- Delete the Kopano themes -->
<delete dir="${target-folder}/${kopano-themes-target-folder}"/>
</target>
......@@ -152,6 +160,11 @@
<include name="**/*.*"/>
</fileset>
</copy>
<copy todir="${target-folder}/${tinymce-languages-folder}">
<fileset dir="${tinymce-languages-folder}">
<include name="**/*.*"/>
</fileset>
</copy>
</target>
<!-- Concatenates JavaScript files with automatic dependency generation -->
......@@ -191,7 +204,7 @@
<fileset dir="zarafa" includes="**/*.js" />
</concatfiles>
</zConcat>
<!-- Compile SASS files -->
<!-- FIXME: throw error when compass is not found
<echo message="Compiling: ${kopano-css-folder}"/>
......@@ -316,7 +329,7 @@
<exclude name="third-party/resources/css/*.*"/>
</fileset>
</copy>
<!-- copy files -->
<copy todir="${target-folder}">
<fileset dir=".">
......@@ -324,7 +337,7 @@
<include name="resources/images/*" />
</fileset>
</copy>
<!-- Copy the images of the new design to the images folder -->
<echo message="Copying ${kopano-images-folder}"/>
<copy todir="${target-folder}/${kopano-images-folder}">
......@@ -333,7 +346,7 @@
<include name="*.gif"/>
</fileset>
</copy>
<!-- Copy the themes -->
<echo message="Copying ${kopano-themes-folder} to ${target-folder}/${kopano-themes-target-folder}"/>
<copy todir="${target-folder}/${kopano-themes-target-folder}" includeEmptyDirs="false">
......
......@@ -400,7 +400,9 @@
// First, find the element in active browser window if the active window is not the main webapp window
if (Ext.isDefined(activeBrowserWindow) && activeBrowserWindow.name !== 'mainBrowserWindow' && typeof el === "string") {
getResult = new Ext.Element(activeBrowserWindow.document.getElementById(el));
var respectiveElement = activeBrowserWindow.document.getElementById(el);
// Wrap the element only if it is found
getResult = respectiveElement ? new Ext.Element(respectiveElement) : respectiveElement;
}
// Find the element in webapp main window
......
This diff is collapsed.
......@@ -2,39 +2,39 @@ $menu-item-height : 30px;
.x-menu {
box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.60);
.x-menu-item-active {
border-color: $grey;
}
.x-menu-scroller.x-menu-item-active {
background-color: $grey4;
}
.x-menu-scroller.x-menu-item-active:active {
background-color: $grey;
}
background: $background-color-menu;
border: 1px solid $border-color-menu;
.x-menu-list {
padding: $padding-small 0;
li.x-menu-list-item {
padding: 0px $padding-small 0 $padding-small;
border: none;
border-radius: 0;
a.x-menu-item {
line-height: $font-default-line-height;
padding: ($menu-item-height - $font-default-line-height)/2 $padding-large ($menu-item-height - $font-default-line-height)/2 (20px + 2 * $padding-medium - $padding-small);
/* icon size is 20px x 20px, icon images are centered in that box */
.x-menu-item-icon {
left: $padding-medium - $padding-small;
}
}
a.x-menu-item-arrow {
@extend .menu_arrow_right_l;
background-position: sprite-position($iconsmap, menu_arrow_right_l, $offset-y: 10, $offset-x: 100%);
......@@ -53,7 +53,7 @@ $menu-item-height : 30px;
background-color: $grey;
}
}
li.x-menu-sep-li {
padding: 0;
margin: $padding-small 0;
......@@ -75,54 +75,54 @@ $menu-item-height : 30px;
.icon_createEmailMessage {
@extend .icon_new_email;
background-position: sprite-position($iconsmap, icon_new_email, $offset-y: -1, $offset-x: 0);
}
}
.icon_create_appointment {
@extend .icon_new_appointment;
}
}
.icon_create_meeting_request {
@extend .icon_new_meeting_request;
}
}
.icon_createContact {
@extend .icon_new_contact;
}
}
.icon_createDistributionList {
@extend .icon_new_distlist;
}
}
.icon_createTask {
@extend .icon_new_task;
}
}
.icon_createNote {
@extend .icon_new_note;
}
}
.icon_open {
@extend .folder_bw;
background-position: sprite-position($iconsmap, folder_bw, $offset-y: 3, $offset-x: 2);
}
}
.icon_copy {
background-position: sprite-position($icons, icon_copy, $offset-y: 3, $offset-x: 3);
}
}
.icon_folder_rename {
background-position: sprite-position($iconsmap, icon_folder_rename_bw, $offset-y: 3, $offset-x: 3);
}
}
.icon_createFolderColor {
@extend .icon_folder_create;
background-position: sprite-position($iconsmap, icon_folder_create, $offset-y: 3, $offset-x: 4);
}
}
.icon_mark_all_read {
@extend .icon_mail_read;
background-position: sprite-position($iconsmap, icon_mail_read, $offset-y: 3, $offset-x: 3);
}
}
.icon_folder_delete {
background-position: sprite-position($iconsmap, trash, $offset-y: 3, $offset-x: 2);
......@@ -144,57 +144,57 @@ $menu-item-height : 30px;
.icon_openMessageOptions {
@extend .icon_cogwheel;
background-position: sprite-position($icons, icon_cogwheel, $offset-y: 2, $offset-x: 0);
}
}
.icon_saveaseml {
@extend .icon_download;
background-position: sprite-position($iconsmap, icon_download, $offset-y: 4, $offset-x: 3);
}
}
.icon_saveemlaszip {
@extend .icon_download_zip;
background-position: sprite-position($iconsmap, icon_download_zip, $offset-y: 4, $offset-x: 5);
}
}
.icon_print {
background-position: sprite-position($icons, icon_print, $offset-y: 1, $offset-x: 0);
}
}
.icon_replyEmail {
@extend .icon_reply;
background-position: sprite-position($icons, icon_reply, $offset-y: 1, $offset-x: 0);
}
}
.icon_replyAllEmail {
@extend .icon_reply_all;
background-position: sprite-position($icons, icon_reply_all, $offset-y: 1, $offset-x: 0);
}
}
.icon_forwardEmail {
@extend .icon_forward;
background-position: sprite-position($icons, icon_forward, $offset-y: 1, $offset-x: 0);
}
}
.icon_editAsNewEmail {
@extend .icon_edit_as_new_mail;
background-position: sprite-position($icons, icon_edit_as_new_mail, $offset-y: 6, $offset-x: 0);
}
}
.icon_embedded_attachment {
@extend .icon_embed_attachment;
background-position: sprite-position($icons, icon_embed_attachment, $offset-y: 2, $offset-x: 2);
}
}
.icon_message_unread {
@extend .icon_mail_unread;
background-position: sprite-position($iconsmap, icon_mail_unread, $offset-y: 7, $offset-x: 3);
}
}
.icon_categories {
@extend .icon_categories_bw;
background-position: sprite-position($iconsmap, icon_categories_bw, $offset-y: 4, $offset-x: 2);
}
}
/* check names button */
.icon_checkNames {
@extend .icon_checknames;
......@@ -230,12 +230,12 @@ $menu-item-height : 30px;
@extend .icon_read_receipt;
background-position: sprite-position($icons, icon_read_receipt, $offset-y: 5px, $offset-x: 5px);
}
/* show bcc */
.icon_showbcc {
background-position: sprite-position($icons, icon_showbcc, $offset-y: 4px, $offset-x: 4px);
}
/* show from */
.icon_showfrom {
background-position: sprite-position($icons, icon_showfrom, $offset-y: 4px, $offset-x: 4px);
......@@ -253,21 +253,21 @@ $menu-item-height : 30px;
.icon_flag_red {
background-position: sprite-position($iconsmap, icon_flag_red, $offset-y: 6, $offset-x: 1);
}
}
.icon_flag_complete {
background-position: sprite-position($iconsmap, icon_flag_complete, $offset-y: 6, $offset-x: 0);
}
}
.icon_mail_flag {
@extend .icon_flag;
background-position: sprite-position($iconsmap, icon_flag, $offset-y: 6, $offset-x: 1);
}
}
.icon_mail_flag_blue {
@extend .icon_flag_blue;
background-position: sprite-position($iconsmap, icon_flag_blue, $offset-y: 6, $offset-x: 1);
}
}
.icon_mail_flag_yellow {
@extend .icon_flag_yellow;
......@@ -277,17 +277,17 @@ $menu-item-height : 30px;
.icon_mail_flag_green {
@extend .icon_flag_green;
background-position: sprite-position($iconsmap, icon_flag_green, $offset-y: 6, $offset-x: 1);
}
}
.icon_mail_flag_orange {
@extend .icon_flag_orange;
background-position: sprite-position($iconsmap, icon_flag_orange, $offset-y: 6, $offset-x: 1);
}
}
.icon_mail_flag_purple {
@extend .icon_flag_purple;
background-position: sprite-position($iconsmap, icon_flag_purple, $offset-y: 6, $offset-x: 1);
}
}
.icon_junk {
background-position: sprite-position($iconsmap, icon_folder_default_junk, $offset-y: 4, $offset-x: 3);
......@@ -324,7 +324,12 @@ $menu-item-height : 30px;
.icon_calendar {
@extend .icon_calendar_blue;
background-position: sprite-position($iconsmap, icon_calendar_blue, $offset-y: 3, $offset-x: 1);
background-position: sprite-position($iconsmap, icon_calendar_blue, $offset-y: 3, $offset-x: 1);
}
.icon_calendar_view {
@extend .icon_calendar;
background-position: sprite-position($iconsmap, icon_calendar, $offset-y: 4, $offset-x: 2);
}
.icon_print_single,
......@@ -389,7 +394,7 @@ $menu-item-height : 30px;
.icon_note_icon_view {
background-position: sprite-position($iconsmap, icon_note_icon_view, $offset-y: 4, $offset-x: 2);
}
/* the white icons must be replaced by black ones in the (overflow) menu */
.buttons-icon_send_white {
background-position: sprite-position($icons, icon_send, $offset-y: 6, $offset-x: 1);
......@@ -403,11 +408,11 @@ $menu-item-height : 30px;
.icon_task_complete {
background-position: sprite-position($icons, icon_task_complete, $offset-y: 3, $offset-x: 3);
}
}
.icon_attachment {
background-position: sprite-position($icons, icon_paperclip, $offset-y: 2, $offset-x: -1);
}
}
}
.x-shadow {
......
......@@ -68,6 +68,10 @@ $preview-header-collapse-icon-height : 5;
height: $preview-header-collapse-button-height;
margin: (-$padding-large) (-$padding-large) 0 $padding-large; /* pulling it to the top and the right to be able to create a larger click area */
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.preview-header-collapse-minus {
@extend .arrow_up_l;
......@@ -84,7 +88,7 @@ $preview-header-collapse-icon-height : 5;
.preview-header-title .preview-title {
font-size: $font-size-large !important;
line-height: $font-line-height-large;
min-height: $font-line-height-large; /* set a min-height, so mails without a subject will not look strange) */
min-height: $font-line-height-large; /* set a min-height, so mails without a subject will not look strange) */
margin-right: 5px;
}
......@@ -103,7 +107,7 @@ $preview-header-collapse-icon-height : 5;
.preview-header-recipients, .preview-header-meeting, .preview-header-attachments {
display: block;
margin-top: $padding-medium;
}
.preview-header-recipients .preview-recipient-title,
......@@ -113,11 +117,11 @@ $preview-header-collapse-icon-height : 5;
}
.preview-header-sentinfo .preview-timestamp-title,
.preview-header-recipients .preview-recipient-title,
.preview-header-attachments .preview-attachment-title,
.preview-header-meeting .preview-when .preview-when-title,
.preview-header-meeting .preview-proposed .preview-proposed-title,
.preview-header-sentinfo .preview-timestamp-title,
.preview-header-recipients .preview-recipient-title,
.preview-header-attachments .preview-attachment-title,
.preview-header-meeting .preview-when .preview-when-title,
.preview-header-meeting .preview-proposed .preview-proposed-title,
.preview-header-meeting .preview-location .preview-location-title {
display: inline-block;
min-width: 36px;
......
......@@ -26,18 +26,35 @@
/* The search results grid */
.zarafa-searchgrid {
.x-grid3-hd-row {
td:first-child:active .x-grid3-hd-inner {
background: inherit;
}
td:first-child:hover .x-grid3-hd-inner {
border-color: #ffffff;
}
.zarafa-search-suggestion {
font-style: italic;
text-decoration: underline;
color: $kopano-blue;
cursor: pointer;
}
}
.x-grid3-row {
border-left: none;
border-right: none;
.x-grid3-cell-inner {
padding: ($header-height - $font-default-line-height)/2 $padding-medium;
}
td {
line-height: $font-default-line-height;
}
/* let css take care of fields that are too long */
table.messageclass-data {
td,
......@@ -60,12 +77,12 @@
td.subject-body {
padding-right: $padding-small;
span.body{
opacity: 0.5;
}
}
/* the icons */
.icon_message,
.icon_mail.icon_message_read {
......@@ -145,7 +162,7 @@
.icon_appt_meeting_cancel {
background-position: sprite-position($iconsmap, icon_appt_meeting_cancel, $offset-y: 2, $offset-x: $padding-medium - 2);
}
.icon_appt_meeting_outofdate {
@extend .icon_calendar_appt_outofdate;
background-position: sprite-position($iconsmap, icon_calendar_appt_outofdate, $offset-y: 2, $offset-x: $padding-medium - 2);
......@@ -176,7 +193,7 @@
@extend .icon_note_green;
background-position: sprite-position($iconsmap, icon_note_green, $offset-y: 3, $offset-x: $padding-medium - 1);
}
.icon_mail_nondelivery_receipt {
@extend .icon_mail_report_ndr;
background-position: sprite-position($iconsmap, icon_mail_report_ndr, $offset-y: 4, $offset-x: $padding-medium - 4);
......@@ -189,11 +206,11 @@
@extend .icon_mail_report_decline;
background-position: sprite-position($iconsmap, icon_mail_report_decline, $offset-y: 4, $offset-x: $padding-medium - 4);
}
}
}
.x-grid3-row.mail_unread {
td {
font-weight: bold;
......@@ -207,13 +224,13 @@
border-right: 1px solid $grey;
padding: 0 $padding-large $padding-large;
background-color: $background-color-main;
.x-plain-header {
line-height: $font-default-line-height;
box-sizing: border-box;
height: $header-height - 1px; /* subtract the border */
padding-top: ($header-height - $font-default-line-height)/2;
img.x-panel-inline-icon.advance_search {
@extend .icon_magnifier;
width: 16px;
......@@ -224,12 +241,12 @@
margin-bottom: -1px;
}
}
.x-fieldset {
border: none;
border: none;
padding: 0 0 $padding-large;
legend {
padding-bottom: $padding-medium;
font-weight: bold;
......@@ -237,6 +254,10 @@
}
}
.zarafa-search-previewpanel-toolbar {
margin-left: $padding-small + 2;
}
/* Input field loading mask */
.zarafa-searchfield.zarafa-tbar-loading {
background-image: url(../images/loading.gif);
......
#zarafa-mainpanel-contentpanel-settings {
/* The categories panel */
.zarafa-settings-category-panel {
border-right: 1px solid $grey;
padding-top: $padding-medium;
.zarafa-settings-category-tab {
padding: ($settings-category-tab-height - $font-default-line-height)/2 $padding-medium;
padding-left: $settings-category-tab-icon-strip-width;
......@@ -18,30 +18,30 @@
background-color: $light-blue;
}
}
/* The main settings panel that contains all settings widgets */
.zarafa-settings-category-widget-panel {
padding: $padding-medium $padding-small;
.zarafa-settings-widget {
margin-bottom: $padding-medium;
.x-panel-header {
padding: ($settings-category-tab-height - $font-default-line-height)/2 $padding-medium;
line-height: $font-default-line-height;
border-top: none;
border-bottom: none;
}
.x-panel-body {
padding: $padding-medium;
}
.zarafa-quotabar {
border: 1px solid $grey2;
overflow: hidden;
height: $button-small-height - 2px; /* subtract 2 for the border */
.zarafa-quotabar-normal {
display: inline-block;
background: $light-blue;
......@@ -63,26 +63,26 @@
height: $button-small-height - 2px; /* subtract 2 for the border */
}
}
.zarafa-quota-string {
font-weight: bold;
}
}
/* Inbox navigation */
.zarafa-settings-category-general-liveScroll {
opacity: 0.5;
margin-left: 3px;
}