From 7826181ff7a5c44f5aa385475c8e230092c0ac90 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 31 Mar 2010 20:44:22 +0000 Subject: [PATCH] Fix for bug #536. Monotone-Parent: e5138baadcbf7f196e37747707b570897665a6d3 Monotone-Revision: 4038e1c81a3afe4ac83664ba6c3a983a6a52c21e Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2010-03-31T20:44:22 Monotone-Branch: ca.inverse.sogo --- UI/WebServerResources/SchedulerUIDnD.js | 2 +- UI/WebServerResources/generic.js | 27 +++++++++++++++---------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/UI/WebServerResources/SchedulerUIDnD.js b/UI/WebServerResources/SchedulerUIDnD.js index 3ea4cce89..8ea51af37 100644 --- a/UI/WebServerResources/SchedulerUIDnD.js +++ b/UI/WebServerResources/SchedulerUIDnD.js @@ -977,7 +977,7 @@ SOGoEventDragController.prototype = { onDragStart: function SEDC_onDragStart(event) { var target = getTarget(event); - if (target.nodeType == 1) { + if (eventIsLeftClick(event) && (target.nodeType == 1)) { if ((!this.eventCells && (target.hasClassName("clickableHourCell") || target.hasClassName("day")) diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index 95bf5b230..4becae1b6 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -407,6 +407,21 @@ function refreshOpener() { /* selection mechanism */ +function eventIsLeftClick(event) { + var isLeftClick = true; + if (isMac() && isSafari()) + if (event.ctrlKey == 1) + isLeftClick = false; // Control-click is equivalent to right-click under Mac OS X + else if (event.metaKey == 1) // Command-click + isLeftClick = true; + else + isLeftClick = Event.isLeftClick(event); + else + isLeftClick = Event.isLeftClick(event); + + return isLeftClick; +} + function deselectAll(parent) { for (var i = 0; i < parent.childNodes.length; i++) { var node = parent.childNodes.item(i); @@ -464,20 +479,10 @@ function onRowClick(event) { } var initialSelection = $(node.parentNode).getSelectedNodes(); - var isLeftClick = true; - if (isMac() && isSafari()) - if (event.ctrlKey == 1) - isLeftClick = false; // Control-click is equivalent to right-click under Mac OS X - else if (event.metaKey == 1) // Command-click - isLeftClick = true; - else - isLeftClick = Event.isLeftClick(event); - else - isLeftClick = Event.isLeftClick(event); if (initialSelection.length > 0 && initialSelection.indexOf(node) >= 0 - && !isLeftClick) + && !eventIsLeftClick(event)) // Ignore non primary-click (ie right-click) inside current selection return true;