From 69e086a23357d65dcf9328076fd9bddaa1b10fb7 Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Thu, 21 Oct 2021 17:53:53 +0200 Subject: [PATCH] Simplify AcousticBrainz options --- picard/ui/options/acousticbrainz.py | 21 +++-------- picard/ui/ui_options_acousticbrainz.py | 48 +++++++++----------------- ui/options_acousticbrainz.ui | 35 ++++--------------- 3 files changed, 27 insertions(+), 77 deletions(-) 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 @@ - - -