39 setAcceptDrops(
true );
80 QString QgsFileDropEdit::acceptableFilePath( QDropEvent *event )
const 83 if ( event->mimeData()->hasUrls() )
85 QFileInfo file( event->mimeData()->urls().first().toLocalFile() );
86 if ( !(( mFileOnly && !file.isFile() ) ||
87 ( mDirOnly && !file.isDir() ) ||
88 ( !mSuffix.isEmpty() && mSuffix.compare( file.suffix(), Qt::CaseInsensitive ) ) ) )
89 path = file.filePath();
100 QString filePath = acceptableFilePath( event );
101 if ( !filePath.isEmpty() )
103 event->acceptProposedAction();
109 QLineEdit::dragEnterEvent( event );
118 QLineEdit::dragLeaveEvent( event );
129 QString filePath = acceptableFilePath( event );
130 if ( !filePath.isEmpty() )
134 setFocus( Qt::MouseFocusReason );
135 event->acceptProposedAction();
141 QLineEdit::dropEvent( event );
150 QLineEdit::paintEvent( e );
155 p.setPen( QPen( palette().highlight(), width ) );
156 QRect r = rect().adjusted( width, width, -width, -width );
virtual ~QgsFileDropEdit()
QgsFileDropEdit(QWidget *parent=0)
virtual void paintEvent(QPaintEvent *e) override
virtual void dragEnterEvent(QDragEnterEvent *event) override
void setFileOnly(bool isFileOnly)
void setSuffixFilter(const QString &suffix)
virtual void dragLeaveEvent(QDragLeaveEvent *event) override
void setDirOnly(bool isDirOnly)
virtual void dropEvent(QDropEvent *event) override