| /* 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 <QComboBox> |
| #include <QObject> |
| #include <QString> |
| #include <QVector> |
| |
| class QCMakePresetItemModel; |
| |
| class QCMakePresetComboBox : public QComboBox |
| { |
| Q_OBJECT |
| public: |
| QCMakePresetComboBox(QWidget* parent = nullptr); |
| |
| const QVector<QCMakePreset>& presets() const; |
| QString presetName() const; |
| |
| public slots: |
| void setPresets(const QVector<QCMakePreset>& 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(); |
| }; |