You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

sendtextedit.cpp 1.0 kB

8 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include "sendtextedit.h"
  2. #include <QDragEnterEvent>
  3. #include <QDropEvent>
  4. #include <QMimeData>
  5. #include <QFileInfo>
  6. SendTextEdit::SendTextEdit(QWidget *parent)
  7. :QTextEdit(parent)
  8. {
  9. setAcceptDrops(true);
  10. }
  11. void SendTextEdit::dragEnterEvent(QDragEnterEvent *e)
  12. {
  13. if (e->mimeData()->hasUrls())
  14. {
  15. auto urls = e->mimeData()->urls();
  16. for (auto url : urls)
  17. {
  18. if (QFileInfo(url.toLocalFile()).isFile())
  19. {
  20. e->accept();
  21. return;
  22. }
  23. }
  24. }
  25. else
  26. {
  27. QTextEdit::dragEnterEvent(e);
  28. }
  29. }
  30. void SendTextEdit::dropEvent(QDropEvent *e)
  31. {
  32. if (e->mimeData()->hasUrls())
  33. {
  34. auto urls = e->mimeData()->urls();
  35. QList<QFileInfo> files;
  36. for (auto url : urls)
  37. {
  38. files.append(QFileInfo(url.toLocalFile()));
  39. e->accept();
  40. }
  41. emit acceptDropFiles(files);
  42. }
  43. else
  44. {
  45. QTextEdit::dropEvent(e);
  46. }
  47. }

mac下的“飞秋”大多数只是飞鸽传书协议,而且未发现令人满意的开源项目,所以基于c++与qt实现了基础的飞秋协议。

Contributors (1)