annotate main/PreferencesDialog.h @ 2596:04d381f0d89a tip

Default branch is now named default on git as well as hg, in case we ever want to switch to mirroring in the other direction
author Chris Cannam
date Thu, 27 Aug 2020 15:58:56 +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