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