From f9aeecd579ab5bf9b260809b8f2435cbd81c155b Mon Sep 17 00:00:00 2001 From: alecpl Date: Mon, 24 Aug 2009 17:10:23 +0000 Subject: - Fix selection disabling while dragging splitter in webkit browsers (#1486056) --- CHANGELOG | 1 + skins/default/splitter.js | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 09c2de7ed..64855e0cb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG RoundCube Webmail =========================== +- Fix selection disabling while dragging splitter in webkit browsers (#1486056) - Added 'new_messages' plugin hook (#1486005) - Added 'logout_after' plugin hook (#1486042) - Added 'message_compose' hook diff --git a/skins/default/splitter.js b/skins/default/splitter.js index 74c751c2b..83506eecb 100644 --- a/skins/default/splitter.js +++ b/skins/default/splitter.js @@ -94,10 +94,14 @@ function rcube_splitter(attrib) */ this.onDragStart = function(e) { + // disable text selection while dragging the splitter + if (window.webkit || bw.safari) + document.body.style.webkitUserSelect = 'none'; + this.p1pos = this.relative ? $(this.p1).position() : $(this.p1).offset(); this.p2pos = this.relative ? $(this.p2).position() : $(this.p2).offset(); this.drag_active = true; - + // start listening to mousemove events rcube_event.add_listener({element:document, event:'mousemove', object:this, method:'onDrag'}); rcube_event.add_listener({element:document, event:'mouseup', object:this, method:'onDragStop'}); @@ -177,6 +181,10 @@ function rcube_splitter(attrib) */ this.onDragStop = function(e) { + // resume the ability to highlight text + if(window.webkit || bw.safari) + document.body.style.webkitUserSelect = 'auto'; + // cancel the listening for drag events rcube_event.remove_listener({element:document, event:'mousemove', object:this, method:'onDrag'}); rcube_event.remove_listener({element:document, event:'mouseup', object:this, method:'onDragStop'}); -- cgit v1.2.3