diff options
Diffstat (limited to 'libs/installer_bsplugins/src/GUI/ListDialog.h')
| -rw-r--r-- | libs/installer_bsplugins/src/GUI/ListDialog.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/libs/installer_bsplugins/src/GUI/ListDialog.h b/libs/installer_bsplugins/src/GUI/ListDialog.h new file mode 100644 index 0000000..8cd2373 --- /dev/null +++ b/libs/installer_bsplugins/src/GUI/ListDialog.h @@ -0,0 +1,42 @@ +#ifndef GUI_LISTDIALOG_H +#define GUI_LISTDIALOG_H + +#include "IGeometrySettings.h" + +#include <QDialog> + +namespace Ui +{ +class ListDialog; +} + +namespace GUI +{ + +class ListDialog : public QDialog +{ + Q_OBJECT + +public: + ListDialog(IGeometrySettings<QDialog>& settings, QWidget* parent = nullptr); + ~ListDialog() noexcept; + + // also saves and restores geometry + // + int exec() override; + + void setChoices(QStringList choices); + [[nodiscard]] QString getChoice() const; + +public slots: + void on_filterEdit_textChanged(QString filter); + +private: + Ui::ListDialog* ui; + IGeometrySettings<QDialog>& m_Settings; + QStringList m_Choices; +}; + +} // namespace GUI + +#endif // GUI_LISTDIALOG_H |
