# HG changeset patch # User Chris Cannam # Date 1386861642 0 # Node ID 7f7fba33b7de2890ca96dbd15969219bb9fe04b9 # Parent e84a1c6fb35a9f1cf1f755d5e8faf09bea6450cf Add network permission to prefs; make OSC support one of the things that depends on it diff -r e84a1c6fb35a -r 7f7fba33b7de .hgsubstate --- a/.hgsubstate Wed Dec 11 22:00:09 2013 +0000 +++ b/.hgsubstate Thu Dec 12 15:20:42 2013 +0000 @@ -1,5 +1,5 @@ 236814e07bd07473958c1ff89103124536a0c3c8 dataquay 3c5adc4a864fa75e5b1e67c260b77541aaa4f1f6 sv-dependency-builds -47964f188bd9cb2a75ad5c3783a86db76950a392 svapp +c837368b1faf2cd3727242099eefec0a18deb91f svapp 786ee8d1f30e4920f361419a75eafa079ec0160d svcore b81f21f2c4c3d1cb115e278a098ac4869fb7377f svgui diff -r e84a1c6fb35a -r 7f7fba33b7de main/MainWindow.cpp --- a/main/MainWindow.cpp Wed Dec 11 22:00:09 2013 +0000 +++ b/main/MainWindow.cpp Thu Dec 12 15:20:42 2013 +0000 @@ -128,7 +128,7 @@ MainWindow::MainWindow(bool withAudioOutput, bool withOSCSupport) : - MainWindowBase(withAudioOutput, withOSCSupport, true), + MainWindowBase(withAudioOutput, true), m_overview(0), m_mainMenusCreated(false), m_paneMenu(0), @@ -302,6 +302,9 @@ NetworkPermissionTester tester; bool networkPermission = tester.havePermission(); if (networkPermission) { + if (withOSCSupport) { + startOSCQueue(); + } TransformFactory::getInstance()->startPopulationThread(); m_surveyer = new Surveyer ("sonicvisualiser.org", "survey23-present.txt", "survey23.php"); diff -r e84a1c6fb35a -r 7f7fba33b7de main/NetworkPermissionTester.cpp --- a/main/NetworkPermissionTester.cpp Wed Dec 11 22:00:09 2013 +0000 +++ b/main/NetworkPermissionTester.cpp Thu Dec 12 15:20:42 2013 +0000 @@ -56,10 +56,12 @@ "

Developed in the Centre for Digital Music at Queen Mary, University of London, Sonic Visualiser is provided free as open source software under the GNU General Public License.

" "


" "

Before we go on...

" - "

Sonic Visualiser needs to make occasional network requests to our servers.

" + "

Sonic Visualiser would like to make networking connections and open a network port.

" "

This is to:

" - "" + "" "

No personal information will be sent, no tracking is carried out, and all requests happen in the background without interrupting your work.

" "

We recommend that you allow this, because it makes Sonic Visualiser more useful. But if you do not wish to do so, please un-check the box below.

")); layout->addWidget(label, 0, 0); diff -r e84a1c6fb35a -r 7f7fba33b7de main/PreferencesDialog.cpp --- a/main/PreferencesDialog.cpp Wed Dec 11 22:00:09 2013 +0000 +++ b/main/PreferencesDialog.cpp Thu Dec 12 15:20:42 2013 +0000 @@ -42,6 +42,8 @@ #include "audioio/AudioTargetFactory.h" #include "base/ResourceFinder.h" +#include "version.h" + PreferencesDialog::PreferencesDialog(QWidget *parent) : QDialog(parent), m_audioDevice(0), @@ -206,8 +208,13 @@ #endif settings.beginGroup("Preferences"); + QString userLocale = settings.value("locale", "").toString(); m_currentLocale = userLocale; + + QString permishTag = QString("network-permission-%1").arg(SV_VERSION); + m_networkPermission = settings.value(permishTag, false).toBool(); + settings.endGroup(); QComboBox *locale = new QComboBox; @@ -240,6 +247,11 @@ connect(locale, SIGNAL(currentIndexChanged(int)), this, SLOT(localeChanged(int))); + QCheckBox *networkPermish = new QCheckBox; + networkPermish->setCheckState(m_networkPermission ? Qt::Checked : Qt::Unchecked); + connect(networkPermish, SIGNAL(stateChanged(int)), + this, SLOT(networkPermissionChanged(int))); + QSpinBox *fontSize = new QSpinBox; int fs = prefs->getPropertyRangeAndValue("View Font Size", &min, &max, &deflt); @@ -278,6 +290,10 @@ row, 0); subgrid->addWidget(locale, row++, 1, 1, 1); + subgrid->addWidget(new QLabel(tr("%1:").arg(tr("Allow network usage"))), + row, 0); + subgrid->addWidget(networkPermish, row++, 1, 1, 1); + subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel ("Temporary Directory Root"))), row, 0); @@ -508,6 +524,14 @@ } void +PreferencesDialog::networkPermissionChanged(int state) +{ + m_networkPermission = (state == Qt::Checked); + m_applyButton->setEnabled(true); + m_changesOnRestart = true; +} + +void PreferencesDialog::showSplashChanged(int state) { m_showSplash = (state == Qt::Checked); @@ -602,19 +626,17 @@ AudioTargetFactory::getInstance()->getCallbackTargetNames(); QSettings settings; - settings.beginGroup("Preferences"); + QString permishTag = QString("network-permission-%1").arg(SV_VERSION); + settings.setValue(permishTag, m_networkPermission); settings.setValue("audio-target", devices[m_audioDevice]); + settings.setValue("locale", m_currentLocale); settings.endGroup(); settings.beginGroup("MainWindow"); settings.setValue("sessiontemplate", m_currentTemplate); settings.endGroup(); - settings.beginGroup("Preferences"); - settings.setValue("locale", m_currentLocale); - settings.endGroup(); - m_applyButton->setEnabled(false); if (m_changesOnRestart) { diff -r e84a1c6fb35a -r 7f7fba33b7de main/PreferencesDialog.h --- a/main/PreferencesDialog.h Wed Dec 11 22:00:09 2013 +0000 +++ b/main/PreferencesDialog.h Thu Dec 12 15:20:42 2013 +0000 @@ -61,6 +61,7 @@ void showSplashChanged(int state); void defaultTemplateChanged(int); void localeChanged(int); + void networkPermissionChanged(int state); void tempDirButtonClicked(); @@ -91,6 +92,7 @@ int m_audioDevice; int m_resampleQuality; bool m_resampleOnLoad; + bool m_networkPermission; QString m_tempDirRoot; int m_backgroundMode; int m_timeToTextMode;