annotate widgets/PluginPathConfigurator.h @ 1583:2e720fdcab0a

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