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) {