diff --git a/NEWS b/NEWS
index 9af1866f0..109b0360f 100644
--- a/NEWS
+++ b/NEWS
@@ -11,6 +11,8 @@ New Features
Enhancements
- bundled a shell script to perform and manage backups using sogo-tool
+ - increased the delay before starting drag and drop in Mail and Contacts module
+ to improve the user experience with cheap mouses
Bug Fixes
- fixed escaping issue with PostgreSQL 8.1
@@ -18,6 +20,12 @@ Bug Fixes
- fixed Spanish (Argentina) templates for mail reply and forward
- we don't show public address books (from SOGoUserSources) on iOS 5.0.1
+1.3.12c (2012-02-15)
+-------------------
+
+Bug Fixes
+ - fixed a possible crash when using a SQL source
+
1.3.12b (2012-02-14)
-------------------
diff --git a/UI/Templates/SchedulerUI/UIxCalendarSelector.wox b/UI/Templates/SchedulerUI/UIxCalendarSelector.wox
index 33e935c7b..f4373310d 100644
--- a/UI/Templates/SchedulerUI/UIxCalendarSelector.wox
+++ b/UI/Templates/SchedulerUI/UIxCalendarSelector.wox
@@ -41,7 +41,7 @@ div.colorBox.calendarFolder
-
OO
diff --git a/UI/WebServerResources/ContactsUI.css b/UI/WebServerResources/ContactsUI.css
index ecea7053f..a1ef1dc4a 100644
--- a/UI/WebServerResources/ContactsUI.css
+++ b/UI/WebServerResources/ContactsUI.css
@@ -27,7 +27,8 @@ DIV#rightPanel
right: 0px;
bottom: 0px;
overflow: hidden;
-}
+ -moz-user-select: none;
+ -khtml-user-select: none; }
/* top list */
DIV#contactsListContent
diff --git a/UI/WebServerResources/ContactsUI.js b/UI/WebServerResources/ContactsUI.js
index a2f5967dd..53bfdfff1 100644
--- a/UI/WebServerResources/ContactsUI.js
+++ b/UI/WebServerResources/ContactsUI.js
@@ -768,6 +768,7 @@ function onAddressBookExport(event) {
window.location.href = url;
event.stop();
+ hideMenu(document.currentPopupMenu);
}
function onAddressBookImport(event) {
@@ -1480,19 +1481,19 @@ function configureDraggables() {
Draggables.empty();
if (mainElement == null) {
- mainElement = new Element ("div", {id: "dragDropVisual"});
+ mainElement = new Element("div", {id: "dragDropVisual"});
document.body.appendChild(mainElement);
mainElement.absolutize();
}
mainElement.hide();
- new Draggable ("dragDropVisual",
- { handle: "contactsList",
- onStart: startDragging,
- onEnd: stopDragging,
- onDrag: whileDragging,
- scroll: window
- });
+ new Draggable("dragDropVisual",
+ { handle: "contactsList",
+ onStart: startDragging,
+ onEnd: stopDragging,
+ onDrag: whileDragging,
+ scroll: window,
+ delay: 250 });
}
}
@@ -1523,7 +1524,8 @@ function startDragging (itm, e) {
var target = Event.element(e);
if (target.up().up().tagName != "TBODY")
return false;
-
+
+ $("contactsListContent").setStyle({ overflow: "visible" });
var handle = $("dragDropVisual");
var contacts = $('contactsList').getSelectedRowsId();
var count = contacts.length;
@@ -1551,6 +1553,7 @@ function whileDragging (itm, e) {
}
function stopDragging () {
+ $("contactsListContent").setStyle({ overflow: "auto" });
var handle = $("dragDropVisual");
handle.hide();
if (handle.hasClassName ("copy"))
diff --git a/UI/WebServerResources/MailerUI.css b/UI/WebServerResources/MailerUI.css
index 7e4bbf453..43e9b20d8 100644
--- a/UI/WebServerResources/MailerUI.css
+++ b/UI/WebServerResources/MailerUI.css
@@ -40,7 +40,9 @@ DIV#rightPanel
margin: 0px;
margin-left: 5px;
padding: 0px;
- overflow: hidden; }
+ overflow: hidden;
+ -moz-user-select: none;
+ -khtml-user-select: none; }
/* top list */
DIV#mailboxContent
diff --git a/UI/WebServerResources/MailerUI.js b/UI/WebServerResources/MailerUI.js
index 6e6f414a9..156e70d1d 100644
--- a/UI/WebServerResources/MailerUI.js
+++ b/UI/WebServerResources/MailerUI.js
@@ -2928,7 +2928,7 @@ function configureDraggables() {
onEnd: stopDragging,
onDrag: whileDragging,
scroll: "folderTreeContent",
- delay: 100 });
+ delay: 250 });
}
function configureDroppables() {
@@ -2961,6 +2961,9 @@ function startDragging (itm, e) {
if (target.up('TBODY') == undefined)
return;
+ console.info("start dragging");
+ $("mailboxList").setStyle({ overflow: "visible" });
+
var row = target.up('TR');
var handle = $("dragDropVisual");
var selectedIds = $("messageListBody").getSelectedRowsId();
@@ -2996,7 +2999,9 @@ function whileDragging (itm, e) {
}
}
-function stopDragging () {
+function stopDragging() {
+ console.info("stop dragging");
+ $("mailboxList").setStyle({ overflow: "auto" });
var handle = $("dragDropVisual");
handle.hide();
if (handle.hasClassName("copy"))
diff --git a/UI/WebServerResources/SchedulerUI.css b/UI/WebServerResources/SchedulerUI.css
index 584626baa..712ab2d22 100644
--- a/UI/WebServerResources/SchedulerUI.css
+++ b/UI/WebServerResources/SchedulerUI.css
@@ -38,13 +38,18 @@ DIV#calendarsList
{ height: 100%; }
DIV.colorBox
-{ display: inline;
- border: 1px solid #333;
- font-weight: normal;
+{ n0display: inline-block;
+ display: inline-block;
+ n0float: left;
+ background: transparent url("event-gradient.png") repeat-x scroll left center;
+ n0border: 1px solid #333;
+ border-radius: 50%;
+ n0vertical-align: text-bottom;
margin-right: 3px;
- font-size: 80%;
- width: 1em;
- height: .75em; }
+ n0margin: auto;
+ n0margin: 5px;
+ width: 11px;
+ height: 11px; }
UL#tasksList, UL#calendarList
{ cursor: default;
@@ -66,10 +71,6 @@ UL#calendarList
{ clear: left;
height: 115px; }
-UL#calendarList LI
-{ cursor: pointer;
- white-space: nowrap; }
-
UL#tasksList
{ position: absolute;
top: 2em;
@@ -77,9 +78,10 @@ UL#tasksList
right: 0px;
bottom: .25em; }
-UL#tasksList LI
+UL#calendarList LI, UL#tasksList LI
{ cursor: pointer;
width: 100%;
+ line-height: 2em;
white-space: nowrap; }
UL#tasksList LI.overdue
@@ -1294,8 +1296,10 @@ DIV.event > DIV.eventInside
padding: 1px;
top: 0px;
bottom: 0px;
- left: 0px;
- right: 0px; }
+ left: 2px;
+ right: 1px;
+ -webkit-border-radius: 2px;
+ border-radius: 2px; }
DIV.eventInside SPAN.location
{ font-size: smaller; }
diff --git a/UI/WebServerResources/generic.css b/UI/WebServerResources/generic.css
index f3422017e..72f37f6fd 100644
--- a/UI/WebServerResources/generic.css
+++ b/UI/WebServerResources/generic.css
@@ -529,12 +529,20 @@ DIV.dTreeNode A._selected SPAN.nodeName
color: #fff;
}
+/* drag'n'drop */
+
DIV.dTreeNode SPAN._dragOver
{
background-color: #9ABCD8;
color: #fff;
}
+.genericHoverClass
+{
+ background-color: #9ABCD8 !important;
+ color: #fff !important;
+}
+
/* resizable columns */
TABLE TD.resize-handle-active,
@@ -549,12 +557,6 @@ DIV.resize-handle
top: 0px;
left: 0px; }
-.genericHoverClass
-{
- background-color: #9ABCD8 !important;
- color: #fff !important;
-}
-
DIV.dialog
{ position: absolute;
width: 350px;