Mercurial > hg > sonic-visualiser
comparison main/PreferencesDialog.cpp @ 686:7f7fba33b7de
Add network permission to prefs; make OSC support one of the things that depends on it
author | Chris Cannam |
---|---|
date | Thu, 12 Dec 2013 15:20:42 +0000 |
parents | 17fe7e0c23a1 |
children | c7945dad2f49 |
comparison
equal
deleted
inserted
replaced
683:e84a1c6fb35a | 686:7f7fba33b7de |
---|---|
40 #include "widgets/IconLoader.h" | 40 #include "widgets/IconLoader.h" |
41 #include "base/Preferences.h" | 41 #include "base/Preferences.h" |
42 #include "audioio/AudioTargetFactory.h" | 42 #include "audioio/AudioTargetFactory.h" |
43 #include "base/ResourceFinder.h" | 43 #include "base/ResourceFinder.h" |
44 | 44 |
45 #include "version.h" | |
46 | |
45 PreferencesDialog::PreferencesDialog(QWidget *parent) : | 47 PreferencesDialog::PreferencesDialog(QWidget *parent) : |
46 QDialog(parent), | 48 QDialog(parent), |
47 m_audioDevice(0), | 49 m_audioDevice(0), |
48 m_changesOnRestart(false) | 50 m_changesOnRestart(false) |
49 { | 51 { |
204 connect(bgMode, SIGNAL(currentIndexChanged(int)), | 206 connect(bgMode, SIGNAL(currentIndexChanged(int)), |
205 this, SLOT(backgroundModeChanged(int))); | 207 this, SLOT(backgroundModeChanged(int))); |
206 #endif | 208 #endif |
207 | 209 |
208 settings.beginGroup("Preferences"); | 210 settings.beginGroup("Preferences"); |
211 | |
209 QString userLocale = settings.value("locale", "").toString(); | 212 QString userLocale = settings.value("locale", "").toString(); |
210 m_currentLocale = userLocale; | 213 m_currentLocale = userLocale; |
214 | |
215 QString permishTag = QString("network-permission-%1").arg(SV_VERSION); | |
216 m_networkPermission = settings.value(permishTag, false).toBool(); | |
217 | |
211 settings.endGroup(); | 218 settings.endGroup(); |
212 | 219 |
213 QComboBox *locale = new QComboBox; | 220 QComboBox *locale = new QComboBox; |
214 QStringList localeFiles = QDir(":i18n").entryList(QStringList() << "*.qm"); | 221 QStringList localeFiles = QDir(":i18n").entryList(QStringList() << "*.qm"); |
215 locale->addItem(tr("Follow system locale")); | 222 locale->addItem(tr("Follow system locale")); |
238 } | 245 } |
239 } | 246 } |
240 connect(locale, SIGNAL(currentIndexChanged(int)), | 247 connect(locale, SIGNAL(currentIndexChanged(int)), |
241 this, SLOT(localeChanged(int))); | 248 this, SLOT(localeChanged(int))); |
242 | 249 |
250 QCheckBox *networkPermish = new QCheckBox; | |
251 networkPermish->setCheckState(m_networkPermission ? Qt::Checked : Qt::Unchecked); | |
252 connect(networkPermish, SIGNAL(stateChanged(int)), | |
253 this, SLOT(networkPermissionChanged(int))); | |
254 | |
243 QSpinBox *fontSize = new QSpinBox; | 255 QSpinBox *fontSize = new QSpinBox; |
244 int fs = prefs->getPropertyRangeAndValue("View Font Size", &min, &max, | 256 int fs = prefs->getPropertyRangeAndValue("View Font Size", &min, &max, |
245 &deflt); | 257 &deflt); |
246 m_viewFontSize = fs; | 258 m_viewFontSize = fs; |
247 fontSize->setMinimum(min); | 259 fontSize->setMinimum(min); |
276 | 288 |
277 subgrid->addWidget(new QLabel(tr("%1:").arg(tr("User interface language"))), | 289 subgrid->addWidget(new QLabel(tr("%1:").arg(tr("User interface language"))), |
278 row, 0); | 290 row, 0); |
279 subgrid->addWidget(locale, row++, 1, 1, 1); | 291 subgrid->addWidget(locale, row++, 1, 1, 1); |
280 | 292 |
293 subgrid->addWidget(new QLabel(tr("%1:").arg(tr("Allow network usage"))), | |
294 row, 0); | |
295 subgrid->addWidget(networkPermish, row++, 1, 1, 1); | |
296 | |
281 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel | 297 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel |
282 ("Temporary Directory Root"))), | 298 ("Temporary Directory Root"))), |
283 row, 0); | 299 row, 0); |
284 subgrid->addWidget(m_tempDirRootEdit, row, 1, 1, 1); | 300 subgrid->addWidget(m_tempDirRootEdit, row, 1, 1, 1); |
285 subgrid->addWidget(tempDirButton, row, 2, 1, 1); | 301 subgrid->addWidget(tempDirButton, row, 2, 1, 1); |
501 | 517 |
502 void | 518 void |
503 PreferencesDialog::resampleOnLoadChanged(int state) | 519 PreferencesDialog::resampleOnLoadChanged(int state) |
504 { | 520 { |
505 m_resampleOnLoad = (state == Qt::Checked); | 521 m_resampleOnLoad = (state == Qt::Checked); |
522 m_applyButton->setEnabled(true); | |
523 m_changesOnRestart = true; | |
524 } | |
525 | |
526 void | |
527 PreferencesDialog::networkPermissionChanged(int state) | |
528 { | |
529 m_networkPermission = (state == Qt::Checked); | |
506 m_applyButton->setEnabled(true); | 530 m_applyButton->setEnabled(true); |
507 m_changesOnRestart = true; | 531 m_changesOnRestart = true; |
508 } | 532 } |
509 | 533 |
510 void | 534 void |
600 | 624 |
601 std::vector<QString> devices = | 625 std::vector<QString> devices = |
602 AudioTargetFactory::getInstance()->getCallbackTargetNames(); | 626 AudioTargetFactory::getInstance()->getCallbackTargetNames(); |
603 | 627 |
604 QSettings settings; | 628 QSettings settings; |
605 | |
606 settings.beginGroup("Preferences"); | 629 settings.beginGroup("Preferences"); |
630 QString permishTag = QString("network-permission-%1").arg(SV_VERSION); | |
631 settings.setValue(permishTag, m_networkPermission); | |
607 settings.setValue("audio-target", devices[m_audioDevice]); | 632 settings.setValue("audio-target", devices[m_audioDevice]); |
633 settings.setValue("locale", m_currentLocale); | |
608 settings.endGroup(); | 634 settings.endGroup(); |
609 | 635 |
610 settings.beginGroup("MainWindow"); | 636 settings.beginGroup("MainWindow"); |
611 settings.setValue("sessiontemplate", m_currentTemplate); | 637 settings.setValue("sessiontemplate", m_currentTemplate); |
612 settings.endGroup(); | |
613 | |
614 settings.beginGroup("Preferences"); | |
615 settings.setValue("locale", m_currentLocale); | |
616 settings.endGroup(); | 638 settings.endGroup(); |
617 | 639 |
618 m_applyButton->setEnabled(false); | 640 m_applyButton->setEnabled(false); |
619 | 641 |
620 if (m_changesOnRestart) { | 642 if (m_changesOnRestart) { |