mirror of
https://github.com/fergalmoran/picard.git
synced 2026-01-06 16:44:06 +00:00
Simplify AcousticBrainz options
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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..."))
|
||||
|
||||
@@ -6,43 +6,23 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>371</width>
|
||||
<height>408</height>
|
||||
<width>515</width>
|
||||
<height>503</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="acoustic_features">
|
||||
<widget class="QGroupBox" name="use_acousticbrainz">
|
||||
<property name="title">
|
||||
<string>AcousticBrainz features extraction</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="disable_acoustic_features">
|
||||
<property name="text">
|
||||
<string>Do not use acoustic feature extraction</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="use_acoustic_features">
|
||||
<property name="text">
|
||||
<string>Use acoustic feature extraction</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="acousticbrainz_settings">
|
||||
<property name="title">
|
||||
<string>AcousticBrainz Settings</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
@@ -78,9 +58,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
Reference in New Issue
Block a user