From dd4f24919fef975ebea288e02b0ac02a60415cb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= <regis@hanol.fr> Date: Tue, 2 Apr 2013 10:35:22 +0200 Subject: [PATCH] Fix some 'quote reply' button quirks --- .../discourse/controllers/quote_button_controller.js | 5 ++++- app/assets/javascripts/discourse/views/post_view.js | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/discourse/controllers/quote_button_controller.js b/app/assets/javascripts/discourse/controllers/quote_button_controller.js index ff617202c..5a804bf81 100644 --- a/app/assets/javascripts/discourse/controllers/quote_button_controller.js +++ b/app/assets/javascripts/discourse/controllers/quote_button_controller.js @@ -64,7 +64,10 @@ Discourse.QuoteButtonController = Discourse.Controller.extend({ // move the quote button at the beginning of the selection var $quoteButton = $('.quote-button'); - $quoteButton.css({ top: top - $quoteButton.outerHeight(), left: left }); + $quoteButton.css({ + top: top - $quoteButton.outerHeight() - 5, + left: left + }); // remove the marker markerElement.parentNode.removeChild(markerElement); diff --git a/app/assets/javascripts/discourse/views/post_view.js b/app/assets/javascripts/discourse/views/post_view.js index 1a48930e5..264c6a409 100644 --- a/app/assets/javascripts/discourse/views/post_view.js +++ b/app/assets/javascripts/discourse/views/post_view.js @@ -43,6 +43,10 @@ Discourse.PostView = Discourse.View.extend({ this.set('context', this.get('content')); }, + mouseDown: function(e) { + this.set('isMouseDown', true); + }, + mouseUp: function(e) { if (this.get('controller.multiSelect') && (e.metaKey || e.ctrlKey)) { this.toggleProperty('post.selected'); @@ -56,6 +60,8 @@ Discourse.PostView = Discourse.View.extend({ e.context = this.get('post'); qbc.selectText(e); } + + this.set('isMouseDown', false); }, selectText: (function() { @@ -260,6 +266,8 @@ Discourse.PostView = Discourse.View.extend({ $(document).on('selectionchange', function(e) { // quoting as been disabled by the user if (!Discourse.get('currentUser.enable_quoting')) return; + // there is no need to handle this event when the mouse is down + if (postView.get('isMouseDown')) return; // find out whether we currently are selecting inside a post var closestPosts = $(window.getSelection().anchorNode).closest('.topic-post'); if (closestPosts.length === 0) return;