17 #ifndef QGSFILEWIDGET_H    18 #define QGSFILEWIDGET_H    23 class QgsFileDropEdit;
    40     if ( qobject_cast<QgsFileWidget *>( sipCpp ) )
    41       sipType = sipType_QgsFileWidget;
    49     Q_PROPERTY( 
bool fileWidgetButtonVisible READ fileWidgetButtonVisible WRITE setFileWidgetButtonVisible )
    50     Q_PROPERTY( 
bool useLink READ useLink WRITE setUseLink )
    51     Q_PROPERTY( 
bool fullUrl READ fullUrl WRITE setFullUrl )
    52     Q_PROPERTY( QString dialogTitle READ dialogTitle WRITE setDialogTitle )
    53     Q_PROPERTY( QString filter READ filter WRITE setFilter )
    54     Q_PROPERTY( QString defaultRoot READ defaultRoot WRITE setDefaultRoot )
    55     Q_PROPERTY( 
StorageMode storageMode READ storageMode WRITE setStorageMode )
    56     Q_PROPERTY( 
RelativeStorage relativeStorage READ relativeStorage WRITE setRelativeStorage )
   100     static QStringList splitFilePaths( 
const QString &path );
   103     void setFilePath( QString path );
   106     void setReadOnly( 
bool readOnly );
   109     QString dialogTitle() 
const;
   115     void setDialogTitle( 
const QString &title );
   118     QString filter() 
const;
   124     void setFilter( 
const QString &filter );
   149     bool fileWidgetButtonVisible() 
const;
   151     void setFileWidgetButtonVisible( 
bool visible );
   154     bool useLink() 
const;
   156     void setUseLink( 
bool useLink );
   159     bool fullUrl() 
const;
   161     void setFullUrl( 
bool fullUrl );
   164     QString defaultRoot() 
const;
   166     void setDefaultRoot( 
const QString &defaultRoot );
   190     void fileChanged( 
const QString &path );
   201     void openFileDialog();
   202     void textEdited( 
const QString &path );
   206     bool mButtonVisible = 
true;
   207     bool mUseLink = 
false;
   208     bool mFullUrl = 
false;
   209     QString mDialogTitle;
   211     QString mSelectedFilter;
   212     QString mDefaultRoot;
   213     bool mConfirmOverwrite = 
true;
   217     QLabel *mLinkLabel = 
nullptr;
   218     QgsFileDropEdit *mLineEdit = 
nullptr;
   219     QToolButton *mFileWidgetButton = 
nullptr;
   220     QHBoxLayout *mLayout = 
nullptr;
   223     QString toUrl( 
const QString &path ) 
const;
   226     QString relativePath( 
const QString &filePath, 
bool removeRelative ) 
const;
   228     friend class TestQgsFileWidget;
   255     void setFilters( 
const QString &filters );
   259     void dragEnterEvent( QDragEnterEvent *event ) 
override;
   260     void dragLeaveEvent( QDragLeaveEvent *event ) 
override;
   261     void dropEvent( QDropEvent *event ) 
override;
   262     void paintEvent( QPaintEvent *e ) 
override;
   267     QString acceptableFilePath( QDropEvent *event ) 
const;
   269     QStringList mAcceptableExtensions;
   272     friend class TestQgsFileWidget;
   278 #endif // QGSFILEWIDGET_H 
QLineEdit subclass with built in support for clearing the widget's value and handling custom null val...
 
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)