annotate main/PreferencesDialog.h @ 1413:a89ca5ccb958 3.0-integration

Reopen the audio device directly when preference is changed
author Chris Cannam
date Mon, 12 Dec 2016 15:45:33 +0000
parents 558347e7e1ab
children a9c30afdbbfe
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@0 16 #ifndef _PREFERENCES_DIALOG_H_
Chris@0 17 #define _PREFERENCES_DIALOG_H_
Chris@0 18
Chris@0 19 #include <QDialog>
Chris@436 20 #include <QMap>
Chris@0 21
Chris@0 22 #include "base/Window.h"
Chris@0 23
Chris@9 24 class WindowTypeSelector;
Chris@0 25 class QPushButton;
Chris@180 26 class QLineEdit;
Chris@436 27 class QTabWidget;
Chris@1397 28 class QComboBox;
Chris@0 29
Chris@0 30 class PreferencesDialog : public QDialog
Chris@0 31 {
Chris@0 32 Q_OBJECT
Chris@0 33
Chris@0 34 public:
Chris@528 35 PreferencesDialog(QWidget *parent = 0);
Chris@9 36 virtual ~PreferencesDialog();
Chris@0 37
Chris@436 38 enum Tab {
Chris@436 39 GeneralTab,
Chris@436 40 AppearanceTab,
Chris@436 41 AnalysisTab,
Chris@436 42 TemplateTab
Chris@436 43 };
Chris@436 44 void switchToTab(Tab tab);
Chris@436 45
Chris@1413 46 signals:
Chris@1413 47 void audioDeviceChanged();
Chris@1413 48
Chris@163 49 public slots:
Chris@163 50 void applicationClosing(bool quickly);
Chris@163 51
Chris@0 52 protected slots:
Chris@9 53 void windowTypeChanged(WindowType type);
Chris@115 54 void spectrogramSmoothingChanged(int state);
Chris@299 55 void spectrogramXSmoothingChanged(int state);
Chris@1096 56 void spectrogramGColourChanged(int state);
Chris@1096 57 void spectrogramMColourChanged(int state);
Chris@1097 58 void colour3DColourChanged(int state);
Chris@0 59 void propertyLayoutChanged(int layout);
Chris@0 60 void tuningFrequencyChanged(double freq);
Chris@1397 61 void audioImplementationChanged(int impl);
Chris@1397 62 void audioPlaybackDeviceChanged(int device);
Chris@1397 63 void audioRecordDeviceChanged(int device);
Chris@180 64 void resampleOnLoadChanged(int state);
Chris@1379 65 void gaplessModeChanged(int state);
Chris@1275 66 void vampProcessSeparationChanged(int state);
Chris@180 67 void tempDirRootChanged(QString root);
Chris@180 68 void backgroundModeChanged(int mode);
Chris@337 69 void timeToTextModeChanged(int mode);
Chris@906 70 void showHMSChanged(int state);
Chris@702 71 void octaveSystemChanged(int system);
Chris@225 72 void viewFontSizeChanged(int sz);
Chris@237 73 void showSplashChanged(int state);
Chris@436 74 void defaultTemplateChanged(int);
Chris@658 75 void localeChanged(int);
Chris@686 76 void networkPermissionChanged(int state);
Chris@950 77 void retinaChanged(int state);
Chris@180 78
Chris@180 79 void tempDirButtonClicked();
Chris@0 80
Chris@0 81 void okClicked();
Chris@0 82 void applyClicked();
Chris@0 83 void cancelClicked();
Chris@0 84
Chris@0 85 protected:
Chris@9 86 WindowTypeSelector *m_windowTypeSelector;
Chris@0 87 QPushButton *m_applyButton;
Chris@180 88
Chris@436 89 QTabWidget *m_tabs;
Chris@436 90 QMap<Tab, int> m_tabOrdering;
Chris@436 91
Chris@180 92 QLineEdit *m_tempDirRootEdit;
Chris@436 93
Chris@1397 94 QComboBox *m_audioPlaybackDeviceCombo;
Chris@1397 95 QComboBox *m_audioRecordDeviceCombo;
Chris@1397 96 void rebuildDeviceCombos();
Chris@1397 97
Chris@436 98 QString m_currentTemplate;
Chris@436 99 QStringList m_templates;
Chris@658 100
Chris@658 101 QString m_currentLocale;
Chris@658 102 QStringList m_locales;
Chris@0 103
Chris@9 104 WindowType m_windowType;
Chris@180 105 int m_spectrogramSmoothing;
Chris@299 106 int m_spectrogramXSmoothing;
Chris@1096 107 int m_spectrogramGColour;
Chris@1096 108 int m_spectrogramMColour;
Chris@1097 109 int m_colour3DColour;
Chris@180 110 int m_propertyLayout;
Chris@922 111 double m_tuningFrequency;
Chris@1397 112 int m_audioImplementation;
Chris@1397 113 int m_audioPlaybackDevice;
Chris@1397 114 int m_audioRecordDevice;
Chris@180 115 bool m_resampleOnLoad;
Chris@1379 116 bool m_gapless;
Chris@1275 117 bool m_runPluginsInProcess;
Chris@686 118 bool m_networkPermission;
Chris@950 119 bool m_retina;
Chris@180 120 QString m_tempDirRoot;
Chris@180 121 int m_backgroundMode;
Chris@337 122 int m_timeToTextMode;
Chris@906 123 bool m_showHMS;
Chris@702 124 int m_octaveSystem;
Chris@225 125 int m_viewFontSize;
Chris@237 126 bool m_showSplash;
Chris@180 127
Chris@1413 128 bool m_audioDeviceChanged;
Chris@180 129 bool m_changesOnRestart;
Chris@0 130 };
Chris@0 131
Chris@0 132 #endif