diff options
author | Christian Daniel <cd@maintech.de> | 2013-03-22 11:18:30 +0100 |
---|---|---|
committer | Christian Daniel <cd@maintech.de> | 2013-03-22 11:18:30 +0100 |
commit | eca56e35be841396f6c57bab540a3e1503253d56 (patch) | |
tree | 4a0a29cd53a84339e56754c32bf67391c83494fe /sdrbase/gui/preferencesdialog.cpp | |
parent | 2c8c930b39fe069b36d81caa00401d9ac182a9d8 (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.cpp | 55 |
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(); +} |