Mercurial > octave-libgccjit
diff libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp @ 18655:41489b96ebca gui-release
GUI: allow drag and drop to win32 GUI command window (Bug #41443)
* libgui/qterminal/libqterminal/win32/QWinTerminalImpl.h, libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp
(QWinTerminalImpl::QWinTerminalImpl): set Accept Drops.
(QWinTerminalImpl::dragEnterEvent): New function.
(QWinTerminalImpl::dropEvent): New function.
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Thu, 17 Apr 2014 09:01:03 -0400 |
parents | 5b6901b06106 |
children | 8b9e99c061f9 |
line wrap: on
line diff
--- a/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp Wed Apr 16 16:19:45 2014 -0400 +++ b/libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp Thu Apr 17 09:01:03 2014 -0400 @@ -35,6 +35,9 @@ #include <QToolTip> #include <QCursor> #include <QMessageBox> +#include <QDragEnterEvent> +#include <QDropEvent> +#include <QUrl> #include <fcntl.h> #include <io.h> @@ -1265,6 +1268,8 @@ connect (this, SIGNAL (set_global_shortcuts_signal (bool)), parent, SLOT (set_global_shortcuts (bool))); + + setAcceptDrops (true); } ////////////////////////////////////////////////////////////////////////////// @@ -1595,3 +1600,32 @@ QString selection = d->getSelection (); return selection; } + +////////////////////////////////////////////////////////////////////////////// + +void QWinTerminalImpl::dragEnterEvent (QDragEnterEvent *event) +{ + if (event->mimeData ()->hasUrls ()) + { + event->acceptProposedAction(); + } +} + +////////////////////////////////////////////////////////////////////////////// + +void QWinTerminalImpl::dropEvent (QDropEvent *event) +{ + QString dropText; + + if (event->mimeData ()->hasUrls ()) + { + foreach (QUrl url, event->mimeData ()->urls ()) + { + if(dropText.length () > 0) + dropText += "\n"; + dropText += url.toLocalFile (); + } + sendText (dropText); + } +} +