File indexing completed on 2024-05-19 15:46:02
0001 /* 0002 SPDX-FileCopyrightText: 2018 Daniel Mensinger <daniel@mensinger-ka.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "util/path.h" 0010 0011 #include <QWidget> 0012 0013 namespace Ui 0014 { 0015 class MesonAdvancedSettings; 0016 } 0017 0018 class MesonAdvancedSettings : public QWidget 0019 { 0020 Q_OBJECT 0021 public: 0022 struct Data { 0023 QString backend; 0024 QString args; 0025 KDevelop::Path meson; 0026 }; 0027 0028 public: 0029 explicit MesonAdvancedSettings(QWidget* parent = nullptr); 0030 ~MesonAdvancedSettings() override; 0031 0032 Data getConfig() const; 0033 void setConfig(const Data& conf); 0034 0035 void setSupportedBackends(const QStringList& backends); 0036 0037 bool hasMesonChanged(); 0038 0039 Q_SIGNALS: 0040 void configChanged(); 0041 0042 public Q_SLOTS: 0043 void updated(); 0044 0045 private: 0046 Ui::MesonAdvancedSettings* m_ui = nullptr; 0047 QStringList m_backendList; 0048 KDevelop::Path m_mesonOldPath; 0049 };