From 6d8d7bc0070aea8a420b66e910d6c3d420d353f4 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sat, 20 Sep 2014 22:21:29 -0500 Subject: Fix unwanted drag and drop continuation when file modification dialog was shown and mouse cursor subsequently moved back over the file list --- kate/app/katefilelist.cpp | 14 +++++++++++++- kate/app/katefilelist.h | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/kate/app/katefilelist.cpp b/kate/app/katefilelist.cpp index 98857b3c3..9cf4b172d 100644 --- a/kate/app/katefilelist.cpp +++ b/kate/app/katefilelist.cpp @@ -176,6 +176,8 @@ void KateFileList::keyPressEvent(TQKeyEvent *e) { // returning void KateFileList::contentsMousePressEvent( TQMouseEvent *e ) { + m_lastMouseDownPos = e->pos(); + if ( ! itemAt( contentsToViewport( e->pos() ) ) ) return; @@ -259,7 +261,17 @@ void KateFileList::slotActivateView( TQListViewItem *item ) if ( ! item || item->rtti() != RTTI_KateFileListItem ) return; - viewManager->activateView( ((KateFileListItem *)item)->documentNumber() ); + KateFileListItem *i = ((KateFileListItem*)item); + const KateDocumentInfo *info = KateDocManager::self()->documentInfo(i->document()); + + if (info && info->modifiedOnDisc) { + // Simulate mouse button release, otherwise the paused DND operation + // will reactivate as soon as the mouse re-enters the list view! + TQMouseEvent e(TQEvent::MouseButtonRelease, m_lastMouseDownPos, Qt::LeftButton, 0); + contentsMouseReleaseEvent(&e); + } + + viewManager->activateView( i->documentNumber() ); } void KateFileList::slotModChanged (Kate::Document *doc) diff --git a/kate/app/katefilelist.h b/kate/app/katefilelist.h index 49987edd1..75d93915c 100644 --- a/kate/app/katefilelist.h +++ b/kate/app/katefilelist.h @@ -166,6 +166,8 @@ class KateFileList : public TDEListView TQListViewItem *m_clickedMenuItem; + TQPoint m_lastMouseDownPos; + class ToolTip *m_tooltip; }; -- cgit v1.2.1