From f9aeecd579ab5bf9b260809b8f2435cbd81c155b Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Mon, 24 Aug 2009 13:10:23 -0400
Subject: [PATCH] - Fix selection disabling while dragging splitter in webkit browsers (#1486056)
---
skins/default/splitter.js | 10 +++++++++-
CHANGELOG | 1 +
2 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index 09c2de7..64855e0 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 74c751c..83506ee 100644
--- a/skins/default/splitter.js
+++ b/skins/default/splitter.js
@@ -94,10 +94,14 @@
*/
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 @@
*/
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'});
--
Gitblit v1.9.1