PluginPathConfigurator.h
Go to the documentation of this file.
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2 
3 /*
4  Sonic Visualiser
5  An audio file viewer and annotation editor.
6  Centre for Digital Music, Queen Mary, University of London.
7 
8  This program is free software; you can redistribute it and/or
9  modify it under the terms of the GNU General Public License as
10  published by the Free Software Foundation; either version 2 of the
11  License, or (at your option) any later version. See the file
12  COPYING included with this distribution for more information.
13 */
14 
15 #ifndef SV_PLUGIN_PATH_CONFIGURATOR_H
16 #define SV_PLUGIN_PATH_CONFIGURATOR_H
17 
18 #include <QFrame>
19 #include <QStringList>
20 
21 class QLabel;
22 class QWidget;
23 class QListWidget;
24 class QPushButton;
25 class QGridLayout;
26 class QComboBox;
27 class QCheckBox;
28 
29 #include "plugin/PluginPathSetter.h"
30 
31 class PluginPathConfigurator : public QFrame
32 {
33  Q_OBJECT
34 
35 public:
36  PluginPathConfigurator(QWidget *parent = 0);
38 
39  void setPaths(PluginPathSetter::Paths paths);
40  PluginPathSetter::Paths getPaths() const { return m_paths; }
41 
42 signals:
43  void pathsChanged();
44 
45 private slots:
46  void upClicked();
47  void downClicked();
48  void addClicked();
49  void deleteClicked();
50  void resetClicked();
51  void currentTypeChanged(QString);
52  void currentLocationChanged(int);
53  void envOverrideChanged(int);
54  void seePluginsClicked();
55 
56 private:
57  QGridLayout *m_layout;
58  QLabel *m_header;
60  QListWidget *m_list;
61  QPushButton *m_seePlugins;
62  QPushButton *m_up;
63  QPushButton *m_down;
64  QPushButton *m_add;
65  QPushButton *m_delete;
66  QPushButton *m_reset;
67  QCheckBox *m_envOverride;
68 
69  PluginPathSetter::Paths m_paths;
70  PluginPathSetter::Paths m_defaultPaths;
71 
72  void populate();
73  void populateFor(PluginPathSetter::TypeKey, int makeCurrent);
74 
75  QString getLabelFor(PluginPathSetter::TypeKey);
76  PluginPathSetter::TypeKey getKeyForLabel(QString label);
77 };
78 
79 #endif
80 
81 
PluginPathSetter::Paths getPaths() const
PluginPathConfigurator(QWidget *parent=0)
void setPaths(PluginPathSetter::Paths paths)
void populateFor(PluginPathSetter::TypeKey, int makeCurrent)
QString getLabelFor(PluginPathSetter::TypeKey)
PluginPathSetter::Paths m_defaultPaths
PluginPathSetter::Paths m_paths
PluginPathSetter::TypeKey getKeyForLabel(QString label)