aboutsummaryrefslogtreecommitdiff
path: root/libs/installer_bsplugins/src/GUI/ListDialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/installer_bsplugins/src/GUI/ListDialog.h')
-rw-r--r--libs/installer_bsplugins/src/GUI/ListDialog.h42
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