annotate main/PreferencesDialog.h @ 2508:c68b431ca101

Pull out Provider structure for plugin source metadata
author Chris Cannam
date Mon, 20 Apr 2020 18:47:23 +0100
parents 2197ba438a3f
children cbde01e5c626
rev   line source
Chris@0 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@0 2
Chris@0 3 /*
Chris@0 4 Sonic Visualiser
Chris@0 5 An audio file viewer and annotation editor.
Chris@0 6 Centre for Digital Music, Queen Mary, University of London.
Chris@0 7 This file copyright 2006 Chris Cannam.
Chris@0 8
Chris@0 9 This program is free software; you can redistribute it and/or
Chris@0 10 modify it under the terms of the GNU General Public License as
Chris@0 11 published by the Free Software Foundation; either version 2 of the
Chris@0 12 License, or (at your option) any later version. See the file
Chris@0 13 COPYING included with this distribution for more information.
Chris@0 14 */
Chris@0 15
Chris@1837 16 #ifndef SV_PREFERENCES_DIALOG_H
Chris@1837 17 #define SV_PREFERENCES_DIALOG_H
Chris@0 18
Chris@0 19 #include <QDialog>
Chris@436 20 #include <QMap>
Chris@1448 21 #include <QColor>
Chris@0 22
Chris@0 23 #include "base/Window.h"
Chris@0 24
Chris@9 25 class WindowTypeSelector;
Chris@0 26 class QPushButton;
Chris@180 27 class QLineEdit;
Chris@436 28 class QTabWidget;
Chris@1397 29 class QComboBox;
Chris@1837 30 class PluginPathConfigurator;
Chris@2457 31 class ColourComboBox;
Chris@0 32
Chris@0 33 class PreferencesDialog : public QDialog
Chris@0 34 {
Chris@0 35 Q_OBJECT
Chris@0 36
Chris@0 37 public:
Chris@528 38 PreferencesDialog(QWidget *parent = 0);
Chris@9 39 virtual ~PreferencesDialog();
Chris@0 40
Chris@436 41 enum Tab {
Chris@436 42 GeneralTab,
Chris@1436 43 AudioIOTab,
Chris@436 44 AppearanceTab,
Chris@436 45 AnalysisTab,
Chris@1812 46 TemplateTab,
Chris@1812 47 PluginTab
Chris@436 48 };
Chris@436 49 void switchToTab(Tab tab);
Chris@436 50
Chris@1413 51 signals:
Chris@1413 52 void audioDeviceChanged();
Chris@1448 53 void coloursChanged();
Chris@1413 54
Chris@163 55 public slots:
Chris@163 56 void applicationClosing(bool quickly);
Chris@163 57
Chris@0 58 protected slots:
Chris@9 59 void windowTypeChanged(WindowType type);
Chris@115 60 void spectrogramSmoothingChanged(int state);
Chris@299 61 void spectrogramXSmoothingChanged(int state);
Chris@1096 62 void spectrogramGColourChanged(int state);
Chris@1096 63 void spectrogramMColourChanged(int state);
Chris@1097 64 void colour3DColourChanged(int state);
Chris@1448 65 void overviewColourChanged(int state);
Chris@0 66 void propertyLayoutChanged(int layout);
Chris@0 67 void tuningFrequencyChanged(double freq);
Chris@1397 68 void audioImplementationChanged(int impl);
Chris@1397 69 void audioPlaybackDeviceChanged(int device);
Chris@1397 70 void audioRecordDeviceChanged(int device);
Chris@180 71 void resampleOnLoadChanged(int state);
Chris@1379 72 void gaplessModeChanged(int state);
Chris@1275 73 void vampProcessSeparationChanged(int state);
Chris@180 74 void tempDirRootChanged(QString root);
Chris@180 75 void backgroundModeChanged(int mode);
Chris@337 76 void timeToTextModeChanged(int mode);
Chris@906 77 void showHMSChanged(int state);
Chris@702 78 void octaveSystemChanged(int system);
Chris@225 79 void viewFontSizeChanged(int sz);
Chris@237 80 void showSplashChanged(int state);
Chris@436 81 void defaultTemplateChanged(int);
Chris@658 82 void localeChanged(int);
Chris@686 83 void networkPermissionChanged(int state);
Chris@950 84 void retinaChanged(int state);
Chris@1837 85 void pluginPathsChanged();
Chris@180 86
Chris@180 87 void tempDirButtonClicked();
Chris@0 88
Chris@0 89 void okClicked();
Chris@0 90 void applyClicked();
Chris@0 91 void cancelClicked();
Chris@0 92
Chris@0 93 protected:
Chris@9 94 WindowTypeSelector *m_windowTypeSelector;
Chris@0 95 QPushButton *m_applyButton;
Chris@180 96
Chris@436 97 QTabWidget *m_tabs;
Chris@436 98 QMap<Tab, int> m_tabOrdering;
Chris@436 99
Chris@180 100 QLineEdit *m_tempDirRootEdit;
Chris@436 101
Chris@2457 102 ColourComboBox *m_overviewColourCombo;
Chris@1397 103 QComboBox *m_audioPlaybackDeviceCombo;
Chris@1397 104 QComboBox *m_audioRecordDeviceCombo;
Chris@1397 105 void rebuildDeviceCombos();
Chris@1837 106
Chris@1837 107 PluginPathConfigurator *m_pluginPathConfigurator;
Chris@1397 108
Chris@436 109 QString m_currentTemplate;
Chris@436 110 QStringList m_templates;
Chris@658 111
Chris@658 112 QString m_currentLocale;
Chris@658 113 QStringList m_locales;
Chris@0 114
Chris@9 115 WindowType m_windowType;
Chris@180 116 int m_spectrogramSmoothing;
Chris@299 117 int m_spectrogramXSmoothing;
Chris@1096 118 int m_spectrogramGColour;
Chris@1096 119 int m_spectrogramMColour;
Chris@1097 120 int m_colour3DColour;
Chris@2466 121 bool m_overviewColourIsSet;
Chris@1448 122 QColor m_overviewColour;
Chris@180 123 int m_propertyLayout;
Chris@922 124 double m_tuningFrequency;
Chris@1397 125 int m_audioImplementation;
Chris@1397 126 int m_audioPlaybackDevice;
Chris@1397 127 int m_audioRecordDevice;
Chris@180 128 bool m_resampleOnLoad;
Chris@1379 129 bool m_gapless;
Chris@1275 130 bool m_runPluginsInProcess;
Chris@686 131 bool m_networkPermission;
Chris@950 132 bool m_retina;
Chris@180 133 QString m_tempDirRoot;
Chris@180 134 int m_backgroundMode;
Chris@337 135 int m_timeToTextMode;
Chris@906 136 bool m_showHMS;
Chris@702 137 int m_octaveSystem;
Chris@225 138 int m_viewFontSize;
Chris@237 139 bool m_showSplash;
Chris@180 140
Chris@1413 141 bool m_audioDeviceChanged;
Chris@1448 142 bool m_coloursChanged;
Chris@180 143 bool m_changesOnRestart;
Chris@0 144 };
Chris@0 145
Chris@0 146 #endif