/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file LICENSE.rst 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); QVector const& presets() const; QString presetName() const; public slots: void setPresets(QVector const& presets); void setPresetName(QString const& name); signals: void presetChanged(QString const& name); private: QCMakePresetItemModel* m_model; bool m_resetting = false; QString m_lastPreset; void emitPresetChanged(); };