comparison 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
comparison
equal deleted inserted replaced
18651:992b6354c8c6 18655:41489b96ebca
33 #include <QThread> 33 #include <QThread>
34 #include <QTimer> 34 #include <QTimer>
35 #include <QToolTip> 35 #include <QToolTip>
36 #include <QCursor> 36 #include <QCursor>
37 #include <QMessageBox> 37 #include <QMessageBox>
38 #include <QDragEnterEvent>
39 #include <QDropEvent>
40 #include <QUrl>
38 41
39 #include <fcntl.h> 42 #include <fcntl.h>
40 #include <io.h> 43 #include <io.h>
41 #include <stdio.h> 44 #include <stdio.h>
42 #include <stdarg.h> 45 #include <stdarg.h>
1263 { 1266 {
1264 installEventFilter (this); 1267 installEventFilter (this);
1265 1268
1266 connect (this, SIGNAL (set_global_shortcuts_signal (bool)), 1269 connect (this, SIGNAL (set_global_shortcuts_signal (bool)),
1267 parent, SLOT (set_global_shortcuts (bool))); 1270 parent, SLOT (set_global_shortcuts (bool)));
1271
1272 setAcceptDrops (true);
1268 } 1273 }
1269 1274
1270 ////////////////////////////////////////////////////////////////////////////// 1275 //////////////////////////////////////////////////////////////////////////////
1271 1276
1272 QWinTerminalImpl::QWinTerminalImpl (const QString& cmd, QWidget* parent) 1277 QWinTerminalImpl::QWinTerminalImpl (const QString& cmd, QWidget* parent)
1593 QString QWinTerminalImpl::selectedText () 1598 QString QWinTerminalImpl::selectedText ()
1594 { 1599 {
1595 QString selection = d->getSelection (); 1600 QString selection = d->getSelection ();
1596 return selection; 1601 return selection;
1597 } 1602 }
1603
1604 //////////////////////////////////////////////////////////////////////////////
1605
1606 void QWinTerminalImpl::dragEnterEvent (QDragEnterEvent *event)
1607 {
1608 if (event->mimeData ()->hasUrls ())
1609 {
1610 event->acceptProposedAction();
1611 }
1612 }
1613
1614 //////////////////////////////////////////////////////////////////////////////
1615
1616 void QWinTerminalImpl::dropEvent (QDropEvent *event)
1617 {
1618 QString dropText;
1619
1620 if (event->mimeData ()->hasUrls ())
1621 {
1622 foreach (QUrl url, event->mimeData ()->urls ())
1623 {
1624 if(dropText.length () > 0)
1625 dropText += "\n";
1626 dropText += url.toLocalFile ();
1627 }
1628 sendText (dropText);
1629 }
1630 }
1631