Mercurial > hg > svgui
comparison widgets/PluginPathConfigurator.h @ 1293:6dd15b5c14f9 plugin-path-config
Various logic fixes, and use new setter-class structures
| author | Chris Cannam |
|---|---|
| date | Fri, 25 May 2018 16:05:51 +0100 |
| parents | 41824255ddf2 |
| children | 34b941921ac8 |
comparison
equal
deleted
inserted
replaced
| 1292:41824255ddf2 | 1293:6dd15b5c14f9 |
|---|---|
| 24 class QPushButton; | 24 class QPushButton; |
| 25 class QGridLayout; | 25 class QGridLayout; |
| 26 class QComboBox; | 26 class QComboBox; |
| 27 class QCheckBox; | 27 class QCheckBox; |
| 28 | 28 |
| 29 #include "plugin/PluginPathSetter.h" | |
| 30 | |
| 29 class PluginPathConfigurator : public QFrame | 31 class PluginPathConfigurator : public QFrame |
| 30 { | 32 { |
| 31 Q_OBJECT | 33 Q_OBJECT |
| 32 | 34 |
| 33 public: | 35 public: |
| 34 PluginPathConfigurator(QWidget *parent = 0); | 36 PluginPathConfigurator(QWidget *parent = 0); |
| 35 ~PluginPathConfigurator(); | 37 ~PluginPathConfigurator(); |
| 36 | 38 |
| 37 // Text used to identify a plugin type to the user. | 39 void setPaths(PluginPathSetter::Paths paths); |
| 38 // e.g. "LADSPA", "Vamp", or potentially transliterations thereof | 40 PluginPathSetter::Paths getPaths() const { return m_paths; } |
| 39 typedef QString PluginTypeLabel; | |
| 40 | |
| 41 struct PathConfig { | |
| 42 QStringList directories; | |
| 43 QString envVariable; // e.g. "LADSPA_PATH" etc | |
| 44 bool useEnvVariable; // true if env variable overrides directories list | |
| 45 }; | |
| 46 | |
| 47 typedef std::map<PluginTypeLabel, PathConfig> Paths; | |
| 48 | |
| 49 void setPaths(Paths paths); | |
| 50 Paths getPaths() const; | |
| 51 | 41 |
| 52 signals: | 42 signals: |
| 53 void pathsChanged(const Paths &paths); | 43 void pathsChanged(); |
| 54 | 44 |
| 55 private slots: | 45 private slots: |
| 56 void upClicked(); | 46 void upClicked(); |
| 57 void downClicked(); | 47 void downClicked(); |
| 58 void addClicked(); | 48 void addClicked(); |
| 74 QPushButton *m_add; | 64 QPushButton *m_add; |
| 75 QPushButton *m_delete; | 65 QPushButton *m_delete; |
| 76 QPushButton *m_reset; | 66 QPushButton *m_reset; |
| 77 QCheckBox *m_envOverride; | 67 QCheckBox *m_envOverride; |
| 78 | 68 |
| 79 Paths m_paths; | 69 PluginPathSetter::Paths m_paths; |
| 80 Paths m_originalPaths; | 70 PluginPathSetter::Paths m_defaultPaths; |
| 81 | 71 |
| 82 void populate(); | 72 void populate(); |
| 83 void populateFor(QString type, int makeCurrent); | 73 void populateFor(QString type, int makeCurrent); |
| 84 }; | 74 }; |
| 85 | 75 |
