summaryrefslogtreecommitdiffstats
path: root/examples/multimedia/spectrum/settingsdialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/multimedia/spectrum/settingsdialog.h')
-rw-r--r--examples/multimedia/spectrum/settingsdialog.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/examples/multimedia/spectrum/settingsdialog.h b/examples/multimedia/spectrum/settingsdialog.h
new file mode 100644
index 000000000..ac877d975
--- /dev/null
+++ b/examples/multimedia/spectrum/settingsdialog.h
@@ -0,0 +1,52 @@
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#ifndef SETTINGSDIALOG_H
+#define SETTINGSDIALOG_H
+
+#include "spectrum.h"
+
+#include <QAudioDevice>
+#include <QDialog>
+
+QT_BEGIN_NAMESPACE
+class QComboBox;
+class QCheckBox;
+class QSlider;
+class QSpinBox;
+class QGridLayout;
+QT_END_NAMESPACE
+
+/**
+ * Dialog used to control settings such as the audio input / output device
+ * and the windowing function.
+ */
+class SettingsDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ SettingsDialog(const QList<QAudioDevice> &availableInputDevices,
+ const QList<QAudioDevice> &availableOutputDevices, QWidget *parent = nullptr);
+ ~SettingsDialog();
+
+ WindowFunction windowFunction() const { return m_windowFunction; }
+ const QAudioDevice &inputDevice() const { return m_inputDevice; }
+ const QAudioDevice &outputDevice() const { return m_outputDevice; }
+
+private slots:
+ void windowFunctionChanged(int index);
+ void inputDeviceChanged(int index);
+ void outputDeviceChanged(int index);
+
+private:
+ WindowFunction m_windowFunction;
+ QAudioDevice m_inputDevice;
+ QAudioDevice m_outputDevice;
+
+ QComboBox *m_inputDeviceComboBox;
+ QComboBox *m_outputDeviceComboBox;
+ QComboBox *m_windowFunctionComboBox;
+};
+
+#endif // SETTINGSDIALOG_H