annotate main/PreferencesDialog.h @ 1436:a9c30afdbbfe levelpanwidget

Rejig preferences dialog to make it a bit less cumbersome
author Chris Cannam
date Thu, 15 Dec 2016 14:53:05 +0000
parents a89ca5ccb958
children 11484141d969
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@1436 40 AudioIOTab,
Chris@436 41 AppearanceTab,
Chris@436 42 AnalysisTab,
Chris@436 43 TemplateTab
Chris@436 44 };
Chris@436 45 void switchToTab(Tab tab);
Chris@436 46
Chris@1413 47 signals:
Chris@1413 48 void audioDeviceChanged();
Chris@1413 49
Chris@163 50 public slots:
Chris@163 51 void applicationClosing(bool quickly);
Chris@163 52
Chris@0 53 protected slots:
Chris@9 54 void windowTypeChanged(WindowType type);
Chris@115 55 void spectrogramSmoothingChanged(int state);
Chris@299 56 void spectrogramXSmoothingChanged(int state);
Chris@1096 57 void spectrogramGColourChanged(int state);
Chris@1096 58 void spectrogramMColourChanged(int state);
Chris@1097 59 void colour3DColourChanged(int state);
Chris@0 60 void propertyLayoutChanged(int layout);
Chris@0 61 void tuningFrequencyChanged(double freq);
Chris@1397 62 void audioImplementationChanged(int impl);
Chris@1397 63 void audioPlaybackDeviceChanged(int device);
Chris@1397 64 void audioRecordDeviceChanged(int device);
Chris@180 65 void resampleOnLoadChanged(int state);
Chris@1379 66 void gaplessModeChanged(int state);
Chris@1275 67 void vampProcessSeparationChanged(int state);
Chris@180 68 void tempDirRootChanged(QString root);
Chris@180 69 void backgroundModeChanged(int mode);
Chris@337 70 void timeToTextModeChanged(int mode);
Chris@906 71 void showHMSChanged(int state);
Chris@702 72 void octaveSystemChanged(int system);
Chris@225 73 void viewFontSizeChanged(int sz);
Chris@237 74 void showSplashChanged(int state);
Chris@436 75 void defaultTemplateChanged(int);
Chris@658 76 void localeChanged(int);
Chris@686 77 void networkPermissionChanged(int state);
Chris@950 78 void retinaChanged(int state);
Chris@180 79
Chris@180 80 void tempDirButtonClicked();
Chris@0 81
Chris@0 82 void okClicked();
Chris@0 83 void applyClicked();
Chris@0 84 void cancelClicked();
Chris@0 85
Chris@0 86 protected:
Chris@9 87 WindowTypeSelector *m_windowTypeSelector;
Chris@0 88 QPushButton *m_applyButton;
Chris@180 89
Chris@436 90 QTabWidget *m_tabs;
Chris@436 91 QMap<Tab, int> m_tabOrdering;
Chris@436 92
Chris@180 93 QLineEdit *m_tempDirRootEdit;
Chris@436 94
Chris@1397 95 QComboBox *m_audioPlaybackDeviceCombo;
Chris@1397 96 QComboBox *m_audioRecordDeviceCombo;
Chris@1397 97 void rebuildDeviceCombos();
Chris@1397 98
Chris@436 99 QString m_currentTemplate;
Chris@436 100 QStringList m_templates;
Chris@658 101
Chris@658 102 QString m_currentLocale;
Chris@658 103 QStringList m_locales;
Chris@0 104
Chris@9 105 WindowType m_windowType;
Chris@180 106 int m_spectrogramSmoothing;
Chris@299 107 int m_spectrogramXSmoothing;
Chris@1096 108 int m_spectrogramGColour;
Chris@1096 109 int m_spectrogramMColour;
Chris@1097 110 int m_colour3DColour;
Chris@180 111 int m_propertyLayout;
Chris@922 112 double m_tuningFrequency;
Chris@1397 113 int m_audioImplementation;
Chris@1397 114 int m_audioPlaybackDevice;
Chris@1397 115 int m_audioRecordDevice;
Chris@180 116 bool m_resampleOnLoad;
Chris@1379 117 bool m_gapless;
Chris@1275 118 bool m_runPluginsInProcess;
Chris@686 119 bool m_networkPermission;
Chris@950 120 bool m_retina;
Chris@180 121 QString m_tempDirRoot;
Chris@180 122 int m_backgroundMode;
Chris@337 123 int m_timeToTextMode;
Chris@906 124 bool m_showHMS;
Chris@702 125 int m_octaveSystem;
Chris@225 126 int m_viewFontSize;
Chris@237 127 bool m_showSplash;
Chris@180 128
Chris@1413 129 bool m_audioDeviceChanged;
Chris@180 130 bool m_changesOnRestart;
Chris@0 131 };
Chris@0 132
Chris@0 133 #endif