/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #pragma once #include "QCMakePreset.h" #include #include #include #include class QCMakePresetItemModel; class QCMakePresetComboBox : public QComboBox { Q_OBJECT public: QCMakePresetComboBox(QWidget* parent = nullptr); const QVector& presets() const; QString presetName() const; public slots: void setPresets(const QVector& presets); void setPresetName(const QString& name); signals: void presetChanged(const QString& name); private: QCMakePresetItemModel* m_model; bool m_resetting = false; QString m_lastPreset; void emitPresetChanged(); };