annotate main/PreferencesDialog.h @ 490:bc04d651f8a4

Ensure all windows are closed when the main one is (thus exiting the application even if some other windows were still open)
author Chris Cannam
date Thu, 19 Jan 2012 15:36:59 +0000
parents 6d827453657f
children 33d0632255b5 e5e6625deb85
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@0 28
Chris@0 29 class PreferencesDialog : public QDialog
Chris@0 30 {
Chris@0 31 Q_OBJECT
Chris@0 32
Chris@0 33 public:
Chris@0 34 PreferencesDialog(QWidget *parent = 0, Qt::WFlags flags = 0);
Chris@9 35 virtual ~PreferencesDialog();
Chris@0 36
Chris@436 37 enum Tab {
Chris@436 38 GeneralTab,
Chris@436 39 AppearanceTab,
Chris@436 40 AnalysisTab,
Chris@436 41 TemplateTab
Chris@436 42 };
Chris@436 43 void switchToTab(Tab tab);
Chris@436 44
Chris@163 45 public slots:
Chris@163 46 void applicationClosing(bool quickly);
Chris@163 47
Chris@0 48 protected slots:
Chris@9 49 void windowTypeChanged(WindowType type);
Chris@115 50 void spectrogramSmoothingChanged(int state);
Chris@299 51 void spectrogramXSmoothingChanged(int state);
Chris@0 52 void propertyLayoutChanged(int layout);
Chris@0 53 void tuningFrequencyChanged(double freq);
Chris@263 54 void audioDeviceChanged(int device);
Chris@32 55 void resampleQualityChanged(int quality);
Chris@180 56 void resampleOnLoadChanged(int state);
Chris@180 57 void tempDirRootChanged(QString root);
Chris@180 58 void backgroundModeChanged(int mode);
Chris@337 59 void timeToTextModeChanged(int mode);
Chris@225 60 void viewFontSizeChanged(int sz);
Chris@237 61 void showSplashChanged(int state);
Chris@436 62 void defaultTemplateChanged(int);
Chris@180 63
Chris@180 64 void tempDirButtonClicked();
Chris@0 65
Chris@0 66 void okClicked();
Chris@0 67 void applyClicked();
Chris@0 68 void cancelClicked();
Chris@0 69
Chris@0 70 protected:
Chris@9 71 WindowTypeSelector *m_windowTypeSelector;
Chris@0 72 QPushButton *m_applyButton;
Chris@180 73
Chris@436 74 QTabWidget *m_tabs;
Chris@436 75 QMap<Tab, int> m_tabOrdering;
Chris@436 76
Chris@180 77 QLineEdit *m_tempDirRootEdit;
Chris@436 78
Chris@436 79 QString m_currentTemplate;
Chris@436 80 QStringList m_templates;
Chris@0 81
Chris@9 82 WindowType m_windowType;
Chris@180 83 int m_spectrogramSmoothing;
Chris@299 84 int m_spectrogramXSmoothing;
Chris@180 85 int m_propertyLayout;
Chris@0 86 float m_tuningFrequency;
Chris@263 87 int m_audioDevice;
Chris@180 88 int m_resampleQuality;
Chris@180 89 bool m_resampleOnLoad;
Chris@180 90 QString m_tempDirRoot;
Chris@180 91 int m_backgroundMode;
Chris@337 92 int m_timeToTextMode;
Chris@225 93 int m_viewFontSize;
Chris@237 94 bool m_showSplash;
Chris@180 95
Chris@180 96 bool m_changesOnRestart;
Chris@0 97 };
Chris@0 98
Chris@0 99 #endif