diff --git a/picard/ui/options/acousticbrainz.py b/picard/ui/options/acousticbrainz.py
index f132d299e..d65f769d8 100644
--- a/picard/ui/options/acousticbrainz.py
+++ b/picard/ui/options/acousticbrainz.py
@@ -68,8 +68,7 @@ class AcousticBrainzOptionsPage(OptionsPage):
self._extractor_valid = True
self.ui = Ui_AcousticBrainzOptionsPage()
self.ui.setupUi(self)
- self.ui.disable_acoustic_features.clicked.connect(self.update_groupboxes)
- self.ui.use_acoustic_features.clicked.connect(self.update_groupboxes)
+ self.ui.use_acousticbrainz.toggled.connect(lambda on: self._acousticbrainz_extractor_check())
self.ui.acousticbrainz_extractor.textEdited.connect(self._acousticbrainz_extractor_check)
self.ui.acousticbrainz_extractor_browse.clicked.connect(self.acousticbrainz_extractor_browse)
self.ui.acousticbrainz_extractor_download.clicked.connect(self.acousticbrainz_extractor_download)
@@ -79,21 +78,16 @@ class AcousticBrainzOptionsPage(OptionsPage):
self._config = get_config()
def load(self):
- if self._config.setting["use_acousticbrainz"]:
- self.ui.use_acoustic_features.setChecked(True)
- else:
- self.ui.disable_acoustic_features.setChecked(True)
-
+ self.ui.use_acousticbrainz.setChecked(self._config.setting["use_acousticbrainz"])
extractor_path = self._config.setting["acousticbrainz_extractor"]
if not extractor_path or not ab_check_version(extractor_path):
self.ui.acousticbrainz_extractor.clear()
else:
self.ui.acousticbrainz_extractor.setText(extractor_path)
-
- self.update_groupboxes()
+ self._acousticbrainz_extractor_check()
def save(self):
- enabled = self.ui.acousticbrainz_settings.isEnabled()
+ enabled = self.ui.use_acousticbrainz.isChecked()
changed = self._config.setting["use_acousticbrainz"] != enabled
if changed:
self._config.setting["use_acousticbrainz"] = enabled
@@ -102,11 +96,6 @@ class AcousticBrainzOptionsPage(OptionsPage):
self._config.setting["acousticbrainz_extractor"] = self.ui.acousticbrainz_extractor.text()
ab_setup_extractor()
- def update_groupboxes(self):
- enabled = self.ui.use_acoustic_features.isChecked()
- self.ui.acousticbrainz_settings.setEnabled(enabled)
- self._acousticbrainz_extractor_check()
-
def acousticbrainz_extractor_browse(self):
path, _filter = QtWidgets.QFileDialog.getOpenFileName(self, "", self.ui.acousticbrainz_extractor.text())
if path:
@@ -118,7 +107,7 @@ class AcousticBrainzOptionsPage(OptionsPage):
webbrowser2.open(ACOUSTICBRAINZ_DOWNLOAD_URL)
def _acousticbrainz_extractor_check(self):
- enabled = self.ui.acousticbrainz_settings.isEnabled()
+ enabled = self.ui.use_acousticbrainz.isChecked()
self.ui.acousticbrainz_extractor.setPlaceholderText(_("Path to streaming_extractor_music(.exe)"))
if not enabled:
diff --git a/picard/ui/ui_options_acousticbrainz.py b/picard/ui/ui_options_acousticbrainz.py
index 5ccabf519..5cb2ebfa7 100644
--- a/picard/ui/ui_options_acousticbrainz.py
+++ b/picard/ui/ui_options_acousticbrainz.py
@@ -10,48 +10,35 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_AcousticBrainzOptionsPage(object):
def setupUi(self, AcousticBrainzOptionsPage):
AcousticBrainzOptionsPage.setObjectName("AcousticBrainzOptionsPage")
- AcousticBrainzOptionsPage.resize(371, 408)
+ AcousticBrainzOptionsPage.resize(515, 503)
self.verticalLayout = QtWidgets.QVBoxLayout(AcousticBrainzOptionsPage)
self.verticalLayout.setObjectName("verticalLayout")
- self.acoustic_features = QtWidgets.QGroupBox(AcousticBrainzOptionsPage)
- self.acoustic_features.setCheckable(False)
- self.acoustic_features.setObjectName("acoustic_features")
- self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.acoustic_features)
+ self.use_acousticbrainz = QtWidgets.QGroupBox(AcousticBrainzOptionsPage)
+ self.use_acousticbrainz.setCheckable(True)
+ self.use_acousticbrainz.setChecked(False)
+ self.use_acousticbrainz.setObjectName("use_acousticbrainz")
+ self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.use_acousticbrainz)
self.verticalLayout_3.setObjectName("verticalLayout_3")
- self.disable_acoustic_features = QtWidgets.QRadioButton(self.acoustic_features)
- self.disable_acoustic_features.setObjectName("disable_acoustic_features")
- self.verticalLayout_3.addWidget(self.disable_acoustic_features)
- self.use_acoustic_features = QtWidgets.QRadioButton(self.acoustic_features)
- self.use_acoustic_features.setObjectName("use_acoustic_features")
- self.verticalLayout_3.addWidget(self.use_acoustic_features)
- self.verticalLayout.addWidget(self.acoustic_features)
- self.acousticbrainz_settings = QtWidgets.QGroupBox(AcousticBrainzOptionsPage)
- self.acousticbrainz_settings.setObjectName("acousticbrainz_settings")
- self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.acousticbrainz_settings)
- self.verticalLayout_2.setObjectName("verticalLayout_2")
- self.label = QtWidgets.QLabel(self.acousticbrainz_settings)
+ self.label = QtWidgets.QLabel(self.use_acousticbrainz)
self.label.setObjectName("label")
- self.verticalLayout_2.addWidget(self.label)
+ self.verticalLayout_3.addWidget(self.label)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
- self.acousticbrainz_extractor = QtWidgets.QLineEdit(self.acousticbrainz_settings)
+ self.acousticbrainz_extractor = QtWidgets.QLineEdit(self.use_acousticbrainz)
self.acousticbrainz_extractor.setObjectName("acousticbrainz_extractor")
self.horizontalLayout_2.addWidget(self.acousticbrainz_extractor)
- self.acousticbrainz_extractor_browse = QtWidgets.QPushButton(self.acousticbrainz_settings)
+ self.acousticbrainz_extractor_browse = QtWidgets.QPushButton(self.use_acousticbrainz)
self.acousticbrainz_extractor_browse.setObjectName("acousticbrainz_extractor_browse")
self.horizontalLayout_2.addWidget(self.acousticbrainz_extractor_browse)
- self.acousticbrainz_extractor_download = QtWidgets.QPushButton(self.acousticbrainz_settings)
+ self.acousticbrainz_extractor_download = QtWidgets.QPushButton(self.use_acousticbrainz)
self.acousticbrainz_extractor_download.setObjectName("acousticbrainz_extractor_download")
self.horizontalLayout_2.addWidget(self.acousticbrainz_extractor_download)
- self.verticalLayout_2.addLayout(self.horizontalLayout_2)
- self.acousticbrainz_extractor_info = QtWidgets.QLabel(self.acousticbrainz_settings)
+ self.verticalLayout_3.addLayout(self.horizontalLayout_2)
+ self.acousticbrainz_extractor_info = QtWidgets.QLabel(self.use_acousticbrainz)
self.acousticbrainz_extractor_info.setText("")
self.acousticbrainz_extractor_info.setObjectName("acousticbrainz_extractor_info")
- self.verticalLayout_2.addWidget(self.acousticbrainz_extractor_info)
- self.horizontalLayout = QtWidgets.QHBoxLayout()
- self.horizontalLayout.setObjectName("horizontalLayout")
- self.verticalLayout_2.addLayout(self.horizontalLayout)
- self.verticalLayout.addWidget(self.acousticbrainz_settings)
+ self.verticalLayout_3.addWidget(self.acousticbrainz_extractor_info)
+ self.verticalLayout.addWidget(self.use_acousticbrainz)
spacerItem = QtWidgets.QSpacerItem(181, 21, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout.addItem(spacerItem)
@@ -60,10 +47,7 @@ class Ui_AcousticBrainzOptionsPage(object):
def retranslateUi(self, AcousticBrainzOptionsPage):
_translate = QtCore.QCoreApplication.translate
- self.acoustic_features.setTitle(_("AcousticBrainz features extraction"))
- self.disable_acoustic_features.setText(_("Do not use acoustic feature extraction"))
- self.use_acoustic_features.setText(_("Use acoustic feature extraction"))
- self.acousticbrainz_settings.setTitle(_("AcousticBrainz Settings"))
+ self.use_acousticbrainz.setTitle(_("AcousticBrainz features extraction"))
self.label.setText(_("AcousticBrainz/Essentia feature extractor:"))
self.acousticbrainz_extractor_browse.setText(_("Browse..."))
self.acousticbrainz_extractor_download.setText(_("Download..."))
diff --git a/ui/options_acousticbrainz.ui b/ui/options_acousticbrainz.ui
index 058dd4c78..eb0395d24 100644
--- a/ui/options_acousticbrainz.ui
+++ b/ui/options_acousticbrainz.ui
@@ -6,43 +6,23 @@
0
0
- 371
- 408
+ 515
+ 503
-
-
+
AcousticBrainz features extraction
+ true
+
+
false
-
-
-
-
- Do not use acoustic feature extraction
-
-
-
- -
-
-
- Use acoustic feature extraction
-
-
-
-
-
-
- -
-
-
- AcousticBrainz Settings
-
-
-
@@ -78,9 +58,6 @@
- -
-
-