00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef QGSFILEDROPEDIT_H
00017 #define QGSFILEDROPEDIT_H
00018
00019 #include <QLineEdit>
00020
00025 class GUI_EXPORT QgsFileDropEdit: public QLineEdit
00026 {
00027 public:
00028 QgsFileDropEdit( QWidget *parent = 0 );
00029 virtual ~QgsFileDropEdit();
00030
00031 bool isDirOnly() const { return mDirOnly; }
00032 void setDirOnly( bool isDirOnly );
00033
00034 bool isFileOnly() const { return mFileOnly; }
00035 void setFileOnly( bool isFileOnly );
00036
00037 const QString& suffixFilter() const { return mSuffix; }
00038 void setSuffixFilter( const QString& suffix );
00039
00040 protected:
00041
00042 virtual void dragEnterEvent( QDragEnterEvent *event );
00043 virtual void dragLeaveEvent( QDragLeaveEvent *event );
00044 virtual void dropEvent( QDropEvent *event );
00045 virtual void paintEvent( QPaintEvent *e );
00046
00047 private:
00048 QString acceptableFilePath( QDropEvent *event ) const;
00049
00050 QString mSuffix;
00051 bool mDirOnly;
00052 bool mFileOnly;
00053 bool mDragActive;
00054 };
00055
00056 #endif