ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/s10k/Vago/libs/DropLineEdit/droplineedit.cpp
Revision: 1092
Committed: Sat Dec 30 13:43:28 2017 UTC (7 years, 9 months ago) by s10k
Content type: text/x-c++src
File size: 1185 byte(s)
Log Message:
moved files to s10k directory since now vago uses the same libs structures as my other projects (e.g. XmlTools)

File Contents

# Content
1 #include "DropLineEdit.h"
2
3 DropLineEdit::DropLineEdit(QWidget *parent) : QLineEdit(parent)
4 {
5 //setDragDropMode(QAbstractItemView::DropOnly);
6 setAcceptDrops(true);
7 }
8
9 void DropLineEdit::dragEnterEvent(QDragEnterEvent *event) {
10
11 const QMimeData* mimeData = event->mimeData();
12
13 // We only accept if our widget is enabled and it is only one file
14 if(
15 !this->isEnabled() ||
16 mimeData->urls().size() != 1 ||
17 // checks if it is a file (folders are ignored)
18 QDir(mimeData->urls().at(0).toLocalFile()).exists()
19 )
20 {
21 event->ignore();
22 }
23 else{
24 event->acceptProposedAction();
25 }
26 }
27
28 void DropLineEdit::dragMoveEvent(QDragMoveEvent *event) {
29 event->acceptProposedAction();
30 }
31
32 void DropLineEdit::dropEvent(QDropEvent *event) {
33
34 const QMimeData* mimeData = event->mimeData();
35
36 event->acceptProposedAction();
37
38 QStringList pathList = QStringList();
39
40 if (mimeData->hasUrls())
41 {
42 this->setText(mimeData->urls().at(0).toLocalFile());
43 }
44
45 }
46
47 void DropLineEdit::dragLeaveEvent(QDragLeaveEvent *event) {
48 event->accept();
49 }