File indexing completed on 2024-05-19 04:48:24

0001 #ifndef PROJECTPREFERENCES_H
0002 #define PROJECTPREFERENCES_H
0003 
0004 #include <QObject>
0005 #include <QUrl>
0006 
0007 class ProjectPreferences : public QObject
0008 {
0009   Q_OBJECT
0010     //The buil dir where building takes palce
0011     Q_PROPERTY(QString cmakeProgram READ cmakeProgram WRITE setCmakeProgram NOTIFY cmakeProgramChanged)
0012     Q_PROPERTY(QString installPrefix READ installPrefix WRITE setInstallPrefix NOTIFY installPrefixChanged)
0013     Q_PROPERTY(QUrl buildDir READ buildDir WRITE setBuildDir NOTIFY buildDirChanged)
0014 
0015 //  Q_PROPERTY(QStringList args READ args WRITE setArgs NOTIFY argsChanged)
0016 //  Q_PROPERTY(QStringList envVar READ envVar WRITE setEnvVar NOTIFY envVarChanged)
0017 
0018 public:
0019     explicit ProjectPreferences(QObject *parent = nullptr);
0020 
0021     QUrl buildDir() const;
0022     QString cmakeProgram() const;
0023     QString installPrefix() const;
0024 
0025 public slots:
0026     void setBuildDir(QUrl buildDir);
0027     void setCmakeProgram(QString cmakeProgram);
0028     void setInstallPrefix(QString installPrefix);
0029 
0030 private:
0031     QUrl m_buildDir;
0032     QString m_installPrefix ="/usr";
0033     QString m_cmakeProgram = "cmake";
0034 
0035 signals:
0036     void buildDirChanged(QUrl buildDir);
0037     void cmakeProgramChanged(QString cmakeProgram);
0038     void installPrefixChanged(QString installPrefix);
0039 };
0040 
0041 #endif // PROJECTPREFERENCES_H