summaryrefslogtreecommitdiffstats
path: root/sdrbase/gui/preferencesdialog.cpp
diff options
context:
space:
mode:
authorChristian Daniel <cd@maintech.de>2013-03-22 11:18:30 +0100
committerChristian Daniel <cd@maintech.de>2013-03-22 11:18:30 +0100
commiteca56e35be841396f6c57bab540a3e1503253d56 (patch)
tree4a0a29cd53a84339e56754c32bf67391c83494fe /sdrbase/gui/preferencesdialog.cpp
parent2c8c930b39fe069b36d81caa00401d9ac182a9d8 (diff)
monster rework
- pluginify whole project - reorganize directory structure - fix PortAudio detection script - implement generic channelizer - fix several OpenGL problems - rework presets - add audio mixing - too many more
Diffstat (limited to 'sdrbase/gui/preferencesdialog.cpp')
-rw-r--r--sdrbase/gui/preferencesdialog.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/sdrbase/gui/preferencesdialog.cpp b/sdrbase/gui/preferencesdialog.cpp
new file mode 100644
index 0000000..077ef45
--- /dev/null
+++ b/sdrbase/gui/preferencesdialog.cpp
@@ -0,0 +1,55 @@
+#include <QTreeWidgetItem>
+#include "gui/preferencesdialog.h"
+#include "ui_preferencesdialog.h"
+#include "audio/audiodeviceinfo.h"
+
+PreferencesDialog::PreferencesDialog(AudioDeviceInfo* audioDeviceInfo, QWidget* parent) :
+ QDialog(parent),
+ ui(new Ui::PreferencesDialog),
+ m_audioDeviceInfo(audioDeviceInfo)
+{
+ ui->setupUi(this);
+
+ const AudioDeviceInfo::Devices& devices = audioDeviceInfo->getDevices();
+
+ QTreeWidgetItem* api;
+ QStringList sl;
+ sl.append(tr("Default (use first suitable device)"));
+ api = new QTreeWidgetItem(ui->audioTree, sl, ATDefault);
+ api->setFirstColumnSpanned(true);
+ for(AudioDeviceInfo::Devices::const_iterator it = devices.begin(); it != devices.end(); ++it) {
+ int apiIndex;
+ sl.clear();
+
+ for(apiIndex = 0; apiIndex < ui->audioTree->topLevelItemCount(); ++apiIndex) {
+ if(ui->audioTree->topLevelItem(apiIndex)->text(0) == it->api)
+ break;
+ }
+ if(apiIndex >= ui->audioTree->topLevelItemCount()) {
+ sl.append(it->api);
+ api = new QTreeWidgetItem(ui->audioTree, sl, ATInterface);
+ api->setExpanded(true);
+ api->setFirstColumnSpanned(true);
+ sl.clear();
+ } else {
+ api = ui->audioTree->topLevelItem(apiIndex);
+ }
+
+ sl.append(it->name);
+ new QTreeWidgetItem(api, sl, ATDevice);
+ }
+ if(ui->audioTree->currentItem() == NULL)
+ ui->audioTree->setCurrentItem(ui->audioTree->topLevelItem(0));
+
+ ui->tabWidget->setCurrentIndex(0);
+}
+
+PreferencesDialog::~PreferencesDialog()
+{
+ delete ui;
+}
+
+void PreferencesDialog::accept()
+{
+ QDialog::accept();
+}