mirror of
https://github.com/fergalmoran/picard.git
synced 2026-01-06 00:23:58 +00:00
Build release type score sliders UI dynamically.
This commit is contained in:
@@ -24,7 +24,65 @@ from picard import config
|
||||
from picard.util import load_release_type_scores, save_release_type_scores
|
||||
from picard.ui.options import OptionsPage, register_options_page
|
||||
from picard.ui.ui_options_releases import Ui_ReleasesOptionsPage
|
||||
from picard.const import RELEASE_COUNTRIES, RELEASE_FORMATS
|
||||
from picard.const import (RELEASE_COUNTRIES,
|
||||
RELEASE_FORMATS,
|
||||
RELEASE_PRIMARY_GROUPS,
|
||||
RELEASE_SECONDARY_GROUPS)
|
||||
from picard.i18n import ugettext_attr
|
||||
|
||||
|
||||
_DEFAULT_SCORE = 0.5
|
||||
_release_type_scores = save_release_type_scores(dict([(g, _DEFAULT_SCORE) for g
|
||||
in
|
||||
RELEASE_PRIMARY_GROUPS.keys()
|
||||
+
|
||||
RELEASE_SECONDARY_GROUPS.keys()]))
|
||||
|
||||
|
||||
class ReleaseTypeScore:
|
||||
|
||||
def __init__(self, group, layout, label, cell):
|
||||
row, column = cell #it uses 2 cells (r,c and r,c+1)
|
||||
self.group = group
|
||||
self.layout = layout
|
||||
self.label = QtGui.QLabel(self.group)
|
||||
self.label.setText(label)
|
||||
self.layout.addWidget(self.label, row, column, 1, 1)
|
||||
self.slider = QtGui.QSlider(self.group)
|
||||
self.slider.setMaximum(100)
|
||||
self.slider.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.layout.addWidget(self.slider, row, column + 1, 1, 1)
|
||||
self.reset()
|
||||
|
||||
def setValue(self, value):
|
||||
self.slider.setValue(int(value * 100))
|
||||
|
||||
def value(self):
|
||||
return float(self.slider.value()) / 100.0
|
||||
|
||||
def reset(self):
|
||||
self.setValue(_DEFAULT_SCORE)
|
||||
|
||||
|
||||
class RowColIter:
|
||||
def __init__(self, max_cells, max_cols=6, step=2):
|
||||
assert(max_cols % step == 0)
|
||||
self.step = step
|
||||
self.cols = max_cols
|
||||
self.rows = int((max_cells - 1) / (self.cols / step)) + 1
|
||||
self.current = (-1, 0)
|
||||
|
||||
def __iter__(self):
|
||||
return self
|
||||
|
||||
def next(self):
|
||||
row, col = self.current
|
||||
row += 1
|
||||
if row == self.rows:
|
||||
col += self.step
|
||||
row = 0
|
||||
self.current = (row, col)
|
||||
return self.current
|
||||
|
||||
|
||||
class ReleasesOptionsPage(OptionsPage):
|
||||
@@ -36,29 +94,43 @@ class ReleasesOptionsPage(OptionsPage):
|
||||
ACTIVE = True
|
||||
|
||||
options = [
|
||||
config.TextOption("setting", "release_type_scores", "Album 0.5 Single 0.5 EP 0.5 Compilation 0.5 Soundtrack 0.5 Spokenword 0.5 Interview 0.5 Audiobook 0.5 Live 0.5 Remix 0.5 Other 0.5"),
|
||||
config.TextOption("setting", "release_type_scores", _release_type_scores),
|
||||
config.ListOption("setting", "preferred_release_countries", []),
|
||||
config.ListOption("setting", "preferred_release_formats", []),
|
||||
]
|
||||
|
||||
_release_type_sliders = {}
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super(ReleasesOptionsPage, self).__init__(parent)
|
||||
self.ui = Ui_ReleasesOptionsPage()
|
||||
self.ui.setupUi(self)
|
||||
self.ui.reset_preferred_types_btn.clicked.connect(self.reset_preferred_types)
|
||||
self._release_type_sliders["Album"] = self.ui.prefer_album_score
|
||||
self._release_type_sliders["Single"] = self.ui.prefer_single_score
|
||||
self._release_type_sliders["EP"] = self.ui.prefer_ep_score
|
||||
self._release_type_sliders["Compilation"] = self.ui.prefer_compilation_score
|
||||
self._release_type_sliders["Soundtrack"] = self.ui.prefer_soundtrack_score
|
||||
self._release_type_sliders["Spokenword"] = self.ui.prefer_spokenword_score
|
||||
self._release_type_sliders["Interview"] = self.ui.prefer_interview_score
|
||||
self._release_type_sliders["Audiobook"] = self.ui.prefer_audiobook_score
|
||||
self._release_type_sliders["Live"] = self.ui.prefer_live_score
|
||||
self._release_type_sliders["Remix"] = self.ui.prefer_remix_score
|
||||
self._release_type_sliders["Other"] = self.ui.prefer_other_score
|
||||
|
||||
self._release_type_sliders = {}
|
||||
def add_slider(name, griditer, context):
|
||||
label = ugettext_attr(name, context)
|
||||
self._release_type_sliders[name] = \
|
||||
ReleaseTypeScore(self.ui.type_group,
|
||||
self.ui.gridLayout,
|
||||
label,
|
||||
griditer.next())
|
||||
|
||||
griditer = RowColIter(len(RELEASE_PRIMARY_GROUPS) +
|
||||
len(RELEASE_SECONDARY_GROUPS) + 1) # +1 for Reset button
|
||||
for name in RELEASE_PRIMARY_GROUPS:
|
||||
add_slider(name, griditer, context=u'release_group_primary_type')
|
||||
for name in RELEASE_SECONDARY_GROUPS:
|
||||
add_slider(name, griditer, context=u'release_group_secondary_type')
|
||||
|
||||
self.reset_preferred_types_btn = QtGui.QPushButton(self.ui.type_group)
|
||||
self.reset_preferred_types_btn.setText(_("Reset all"))
|
||||
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.reset_preferred_types_btn.sizePolicy().hasHeightForWidth())
|
||||
self.reset_preferred_types_btn.setSizePolicy(sizePolicy)
|
||||
r, c = griditer.next()
|
||||
self.ui.gridLayout.addWidget(self.reset_preferred_types_btn, r, c, 1, 2)
|
||||
self.reset_preferred_types_btn.clicked.connect(self.reset_preferred_types)
|
||||
|
||||
self.ui.add_countries.clicked.connect(self.add_preferred_countries)
|
||||
self.ui.remove_countries.clicked.connect(self.remove_preferred_countries)
|
||||
@@ -72,7 +144,8 @@ class ReleasesOptionsPage(OptionsPage):
|
||||
def load(self):
|
||||
scores = load_release_type_scores(config.setting["release_type_scores"])
|
||||
for (release_type, release_type_slider) in self._release_type_sliders.iteritems():
|
||||
release_type_slider.setValue(int(scores.get(release_type, 0.5) * 100))
|
||||
release_type_slider.setValue(scores.get(release_type,
|
||||
_DEFAULT_SCORE))
|
||||
|
||||
self._load_list_items("preferred_release_countries", RELEASE_COUNTRIES,
|
||||
self.ui.country_list, self.ui.preferred_country_list)
|
||||
@@ -82,7 +155,7 @@ class ReleasesOptionsPage(OptionsPage):
|
||||
def save(self):
|
||||
scores = {}
|
||||
for (release_type, release_type_slider) in self._release_type_sliders.iteritems():
|
||||
scores[release_type] = float(release_type_slider.value()) / 100.0
|
||||
scores[release_type] = release_type_slider.value()
|
||||
config.setting["release_type_scores"] = save_release_type_scores(scores)
|
||||
|
||||
self._save_list_items("preferred_release_countries", self.ui.preferred_country_list)
|
||||
@@ -90,7 +163,7 @@ class ReleasesOptionsPage(OptionsPage):
|
||||
|
||||
def reset_preferred_types(self):
|
||||
for release_type_slider in self._release_type_sliders.values():
|
||||
release_type_slider.setValue(50)
|
||||
release_type_slider.reset()
|
||||
|
||||
def add_preferred_countries(self):
|
||||
self._move_selected_items(self.ui.country_list, self.ui.preferred_country_list)
|
||||
@@ -114,7 +187,11 @@ class ReleasesOptionsPage(OptionsPage):
|
||||
|
||||
def _load_list_items(self, setting, source, list1, list2):
|
||||
if setting == "preferred_release_countries":
|
||||
source_list = [(c[0], ugettext_countries(c[1])) for c in source.items()]
|
||||
source_list = [(c[0], ugettext_countries(c[1])) for c in
|
||||
source.items()]
|
||||
elif setting == "preferred_release_formats":
|
||||
source_list = [(c[0], ugettext_attr(c[1], u"medium_format")) for c
|
||||
in source.items()]
|
||||
else:
|
||||
source_list = [(c[0], _(c[1])) for c in source.items()]
|
||||
source_list.sort(key=itemgetter(1), cmp=strcoll)
|
||||
|
||||
@@ -21,113 +21,6 @@ class Ui_ReleasesOptionsPage(object):
|
||||
self.gridLayout = QtGui.QGridLayout(self.type_group)
|
||||
self.gridLayout.setVerticalSpacing(6)
|
||||
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
|
||||
self.label = QtGui.QLabel(self.type_group)
|
||||
self.label.setObjectName(_fromUtf8("label"))
|
||||
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
|
||||
self.prefer_album_score = QtGui.QSlider(self.type_group)
|
||||
self.prefer_album_score.setMaximum(100)
|
||||
self.prefer_album_score.setProperty("value", 50)
|
||||
self.prefer_album_score.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.prefer_album_score.setObjectName(_fromUtf8("prefer_album_score"))
|
||||
self.gridLayout.addWidget(self.prefer_album_score, 0, 1, 1, 1)
|
||||
self.label_2 = QtGui.QLabel(self.type_group)
|
||||
self.label_2.setObjectName(_fromUtf8("label_2"))
|
||||
self.gridLayout.addWidget(self.label_2, 0, 2, 1, 1)
|
||||
self.prefer_single_score = QtGui.QSlider(self.type_group)
|
||||
self.prefer_single_score.setMaximum(100)
|
||||
self.prefer_single_score.setProperty("value", 50)
|
||||
self.prefer_single_score.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.prefer_single_score.setObjectName(_fromUtf8("prefer_single_score"))
|
||||
self.gridLayout.addWidget(self.prefer_single_score, 0, 3, 1, 1)
|
||||
self.label_3 = QtGui.QLabel(self.type_group)
|
||||
self.label_3.setObjectName(_fromUtf8("label_3"))
|
||||
self.gridLayout.addWidget(self.label_3, 0, 4, 1, 1)
|
||||
self.prefer_ep_score = QtGui.QSlider(self.type_group)
|
||||
self.prefer_ep_score.setMaximum(100)
|
||||
self.prefer_ep_score.setProperty("value", 50)
|
||||
self.prefer_ep_score.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.prefer_ep_score.setObjectName(_fromUtf8("prefer_ep_score"))
|
||||
self.gridLayout.addWidget(self.prefer_ep_score, 0, 5, 1, 1)
|
||||
self.label_7 = QtGui.QLabel(self.type_group)
|
||||
self.label_7.setObjectName(_fromUtf8("label_7"))
|
||||
self.gridLayout.addWidget(self.label_7, 1, 0, 1, 1)
|
||||
self.prefer_compilation_score = QtGui.QSlider(self.type_group)
|
||||
self.prefer_compilation_score.setMaximum(100)
|
||||
self.prefer_compilation_score.setProperty("value", 50)
|
||||
self.prefer_compilation_score.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.prefer_compilation_score.setObjectName(_fromUtf8("prefer_compilation_score"))
|
||||
self.gridLayout.addWidget(self.prefer_compilation_score, 1, 1, 1, 1)
|
||||
self.label_8 = QtGui.QLabel(self.type_group)
|
||||
self.label_8.setObjectName(_fromUtf8("label_8"))
|
||||
self.gridLayout.addWidget(self.label_8, 1, 2, 1, 1)
|
||||
self.prefer_soundtrack_score = QtGui.QSlider(self.type_group)
|
||||
self.prefer_soundtrack_score.setMaximum(100)
|
||||
self.prefer_soundtrack_score.setProperty("value", 50)
|
||||
self.prefer_soundtrack_score.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.prefer_soundtrack_score.setObjectName(_fromUtf8("prefer_soundtrack_score"))
|
||||
self.gridLayout.addWidget(self.prefer_soundtrack_score, 1, 3, 1, 1)
|
||||
self.label_9 = QtGui.QLabel(self.type_group)
|
||||
self.label_9.setObjectName(_fromUtf8("label_9"))
|
||||
self.gridLayout.addWidget(self.label_9, 1, 4, 1, 1)
|
||||
self.prefer_spokenword_score = QtGui.QSlider(self.type_group)
|
||||
self.prefer_spokenword_score.setMaximum(100)
|
||||
self.prefer_spokenword_score.setProperty("value", 50)
|
||||
self.prefer_spokenword_score.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.prefer_spokenword_score.setObjectName(_fromUtf8("prefer_spokenword_score"))
|
||||
self.gridLayout.addWidget(self.prefer_spokenword_score, 1, 5, 1, 1)
|
||||
self.label_10 = QtGui.QLabel(self.type_group)
|
||||
self.label_10.setObjectName(_fromUtf8("label_10"))
|
||||
self.gridLayout.addWidget(self.label_10, 2, 0, 1, 1)
|
||||
self.prefer_interview_score = QtGui.QSlider(self.type_group)
|
||||
self.prefer_interview_score.setMaximum(100)
|
||||
self.prefer_interview_score.setProperty("value", 50)
|
||||
self.prefer_interview_score.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.prefer_interview_score.setObjectName(_fromUtf8("prefer_interview_score"))
|
||||
self.gridLayout.addWidget(self.prefer_interview_score, 2, 1, 1, 1)
|
||||
self.label_11 = QtGui.QLabel(self.type_group)
|
||||
self.label_11.setObjectName(_fromUtf8("label_11"))
|
||||
self.gridLayout.addWidget(self.label_11, 2, 2, 1, 1)
|
||||
self.prefer_audiobook_score = QtGui.QSlider(self.type_group)
|
||||
self.prefer_audiobook_score.setMaximum(100)
|
||||
self.prefer_audiobook_score.setProperty("value", 50)
|
||||
self.prefer_audiobook_score.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.prefer_audiobook_score.setObjectName(_fromUtf8("prefer_audiobook_score"))
|
||||
self.gridLayout.addWidget(self.prefer_audiobook_score, 2, 3, 1, 1)
|
||||
self.label_12 = QtGui.QLabel(self.type_group)
|
||||
self.label_12.setObjectName(_fromUtf8("label_12"))
|
||||
self.gridLayout.addWidget(self.label_12, 2, 4, 1, 1)
|
||||
self.prefer_live_score = QtGui.QSlider(self.type_group)
|
||||
self.prefer_live_score.setMaximum(100)
|
||||
self.prefer_live_score.setProperty("value", 50)
|
||||
self.prefer_live_score.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.prefer_live_score.setObjectName(_fromUtf8("prefer_live_score"))
|
||||
self.gridLayout.addWidget(self.prefer_live_score, 2, 5, 1, 1)
|
||||
self.label_13 = QtGui.QLabel(self.type_group)
|
||||
self.label_13.setObjectName(_fromUtf8("label_13"))
|
||||
self.gridLayout.addWidget(self.label_13, 3, 0, 1, 1)
|
||||
self.prefer_remix_score = QtGui.QSlider(self.type_group)
|
||||
self.prefer_remix_score.setMaximum(100)
|
||||
self.prefer_remix_score.setProperty("value", 50)
|
||||
self.prefer_remix_score.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.prefer_remix_score.setObjectName(_fromUtf8("prefer_remix_score"))
|
||||
self.gridLayout.addWidget(self.prefer_remix_score, 3, 1, 1, 1)
|
||||
self.label_14 = QtGui.QLabel(self.type_group)
|
||||
self.label_14.setObjectName(_fromUtf8("label_14"))
|
||||
self.gridLayout.addWidget(self.label_14, 3, 2, 1, 1)
|
||||
self.prefer_other_score = QtGui.QSlider(self.type_group)
|
||||
self.prefer_other_score.setMaximum(100)
|
||||
self.prefer_other_score.setSliderPosition(50)
|
||||
self.prefer_other_score.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.prefer_other_score.setObjectName(_fromUtf8("prefer_other_score"))
|
||||
self.gridLayout.addWidget(self.prefer_other_score, 3, 3, 1, 1)
|
||||
self.reset_preferred_types_btn = QtGui.QPushButton(self.type_group)
|
||||
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.reset_preferred_types_btn.sizePolicy().hasHeightForWidth())
|
||||
self.reset_preferred_types_btn.setSizePolicy(sizePolicy)
|
||||
self.reset_preferred_types_btn.setObjectName(_fromUtf8("reset_preferred_types_btn"))
|
||||
self.gridLayout.addWidget(self.reset_preferred_types_btn, 4, 5, 1, 1)
|
||||
self.verticalLayout_3.addWidget(self.type_group)
|
||||
self.country_group = QtGui.QGroupBox(ReleasesOptionsPage)
|
||||
self.country_group.setObjectName(_fromUtf8("country_group"))
|
||||
@@ -209,18 +102,6 @@ class Ui_ReleasesOptionsPage(object):
|
||||
|
||||
def retranslateUi(self, ReleasesOptionsPage):
|
||||
self.type_group.setTitle(_("Preferred release types"))
|
||||
self.label.setText(_("Album"))
|
||||
self.label_2.setText(_("Single"))
|
||||
self.label_3.setText(_("EP"))
|
||||
self.label_7.setText(_("Compilation"))
|
||||
self.label_8.setText(_("Soundtrack"))
|
||||
self.label_9.setText(_("Spokenword"))
|
||||
self.label_10.setText(_("Interview"))
|
||||
self.label_11.setText(_("Audiobook"))
|
||||
self.label_12.setText(_("Live"))
|
||||
self.label_13.setText(_("Remix"))
|
||||
self.label_14.setText(_("Other"))
|
||||
self.reset_preferred_types_btn.setText(_("Reset all"))
|
||||
self.country_group.setTitle(_("Preferred release countries"))
|
||||
self.add_countries.setText(_(">"))
|
||||
self.remove_countries.setText(_("<"))
|
||||
|
||||
@@ -20,239 +20,6 @@
|
||||
<property name="verticalSpacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Album</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QSlider" name="prefer_album_score">
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Single</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QSlider" name="prefer_single_score">
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>EP</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<widget class="QSlider" name="prefer_ep_score">
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>Compilation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QSlider" name="prefer_compilation_score">
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>Soundtrack</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QSlider" name="prefer_soundtrack_score">
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="text">
|
||||
<string>Spokenword</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="5">
|
||||
<widget class="QSlider" name="prefer_spokenword_score">
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="text">
|
||||
<string>Interview</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QSlider" name="prefer_interview_score">
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QLabel" name="label_11">
|
||||
<property name="text">
|
||||
<string>Audiobook</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QSlider" name="prefer_audiobook_score">
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="text">
|
||||
<string>Live</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="5">
|
||||
<widget class="QSlider" name="prefer_live_score">
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="text">
|
||||
<string>Remix</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QSlider" name="prefer_remix_score">
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QLabel" name="label_14">
|
||||
<property name="text">
|
||||
<string>Other</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<widget class="QSlider" name="prefer_other_score">
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="sliderPosition">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="5">
|
||||
<widget class="QPushButton" name="reset_preferred_types_btn">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Reset all</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
Reference in New Issue
Block a user