#ifndef DIRSELECTIONWIDGET_H #define DIRSELECTIONWIDGET_H #include #include class QStandardItemModel; class QTreeView; class QLineEdit; class ItemSelectionWidget : public QWidget { Q_OBJECT public: enum Mode { Item, Directories }; explicit ItemSelectionWidget(int mode, QString labelText, QWidget *parent = nullptr); const QStringList items() const; void setItems(const QStringList &items); public slots: void browseDir(); void addItem(); void removeItem(); private: QStandardItemModel *mModel; QTreeView *mView; QLineEdit *mItem; QIcon mIcon; }; #endif // DIRSELECTIONWIDGET_H