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 };