mirror of
https://github.com/fergalmoran/picard.git
synced 2026-02-24 00:26:08 +00:00
Set unique splitter names in scripting and renaming options screens
This commit is contained in:
@@ -34,7 +34,6 @@ from picard.config import (
|
||||
BoolOption,
|
||||
IntOption,
|
||||
ListOption,
|
||||
Option,
|
||||
get_config,
|
||||
)
|
||||
from picard.const.sys import IS_MACOS
|
||||
@@ -97,7 +96,6 @@ class ScriptingOptionsPage(OptionsPage):
|
||||
BoolOption("setting", "enable_tagger_scripts", False),
|
||||
ListOption("setting", "list_of_scripts", []),
|
||||
IntOption("persist", "last_selected_script_pos", 0),
|
||||
Option("persist", "scripting_splitter", QtCore.QByteArray()),
|
||||
]
|
||||
|
||||
def __init__(self, parent=None):
|
||||
@@ -105,8 +103,7 @@ class ScriptingOptionsPage(OptionsPage):
|
||||
self.ui = Ui_ScriptingOptionsPage()
|
||||
self.ui.setupUi(self)
|
||||
self.ui.tagger_script.setEnabled(False)
|
||||
self.ui.splitter.setStretchFactor(0, 1)
|
||||
self.ui.splitter.setStretchFactor(1, 2)
|
||||
self.ui.scripting_options_splitter.setStretchFactor(1, 2)
|
||||
self.move_view = MoveableListView(self.ui.script_list, self.ui.move_up_button,
|
||||
self.ui.move_down_button)
|
||||
self.ui.scripting_documentation_button.clicked.connect(self.show_scripting_documentation)
|
||||
@@ -170,25 +167,16 @@ class ScriptingOptionsPage(OptionsPage):
|
||||
self.ui.script_list.setCurrentItem(last_selected_script)
|
||||
last_selected_script.setSelected(True)
|
||||
|
||||
self.restore_state()
|
||||
|
||||
def _all_scripts(self):
|
||||
for row in range(0, self.ui.script_list.count()):
|
||||
item = self.ui.script_list.item(row)
|
||||
yield item.get_all()
|
||||
|
||||
@restore_method
|
||||
def restore_state(self):
|
||||
# Preserve previous splitter position
|
||||
config = get_config()
|
||||
self.ui.splitter.restoreState(config.persist["scripting_splitter"])
|
||||
|
||||
def save(self):
|
||||
config = get_config()
|
||||
config.setting["enable_tagger_scripts"] = self.ui.enable_tagger_scripts.isChecked()
|
||||
config.setting["list_of_scripts"] = list(self._all_scripts())
|
||||
config.persist["last_selected_script_pos"] = self.ui.script_list.currentRow()
|
||||
config.persist["scripting_splitter"] = self.ui.splitter.saveState()
|
||||
|
||||
def display_error(self, error):
|
||||
# Ignore scripting errors, those are handled inline
|
||||
|
||||
@@ -11,7 +11,7 @@ class Ui_RenamingOptionsPage(object):
|
||||
def setupUi(self, RenamingOptionsPage):
|
||||
RenamingOptionsPage.setObjectName("RenamingOptionsPage")
|
||||
RenamingOptionsPage.setEnabled(True)
|
||||
RenamingOptionsPage.resize(453, 552)
|
||||
RenamingOptionsPage.resize(453, 566)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@@ -79,10 +79,10 @@ class Ui_RenamingOptionsPage(object):
|
||||
self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.groupBox)
|
||||
self.verticalLayout_6.setContentsMargins(3, 3, 3, 3)
|
||||
self.verticalLayout_6.setObjectName("verticalLayout_6")
|
||||
self.splitter = QtWidgets.QSplitter(self.groupBox)
|
||||
self.splitter.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.splitter.setObjectName("splitter")
|
||||
self.frame = QtWidgets.QFrame(self.splitter)
|
||||
self.renaming_options_examples_splitter = QtWidgets.QSplitter(self.groupBox)
|
||||
self.renaming_options_examples_splitter.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.renaming_options_examples_splitter.setObjectName("renaming_options_examples_splitter")
|
||||
self.frame = QtWidgets.QFrame(self.renaming_options_examples_splitter)
|
||||
self.frame.setMinimumSize(QtCore.QSize(100, 0))
|
||||
self.frame.setFrameShape(QtWidgets.QFrame.NoFrame)
|
||||
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
|
||||
@@ -97,9 +97,7 @@ class Ui_RenamingOptionsPage(object):
|
||||
self.example_filename_before = QtWidgets.QListWidget(self.frame)
|
||||
self.example_filename_before.setObjectName("example_filename_before")
|
||||
self.verticalLayout.addWidget(self.example_filename_before)
|
||||
self.example_filename_before_label.raise_()
|
||||
self.example_filename_before.raise_()
|
||||
self.frame_2 = QtWidgets.QFrame(self.splitter)
|
||||
self.frame_2 = QtWidgets.QFrame(self.renaming_options_examples_splitter)
|
||||
self.frame_2.setMinimumSize(QtCore.QSize(100, 0))
|
||||
self.frame_2.setFrameShape(QtWidgets.QFrame.NoFrame)
|
||||
self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
|
||||
@@ -114,9 +112,7 @@ class Ui_RenamingOptionsPage(object):
|
||||
self.example_filename_after = QtWidgets.QListWidget(self.frame_2)
|
||||
self.example_filename_after.setObjectName("example_filename_after")
|
||||
self.verticalLayout_3.addWidget(self.example_filename_after)
|
||||
self.verticalLayout_6.addWidget(self.splitter)
|
||||
self.frame_2.raise_()
|
||||
self.frame.raise_()
|
||||
self.verticalLayout_6.addWidget(self.renaming_options_examples_splitter)
|
||||
self.verticalLayout_5.addWidget(self.groupBox)
|
||||
self.example_selection_note = QtWidgets.QLabel(RenamingOptionsPage)
|
||||
self.example_selection_note.setText("")
|
||||
|
||||
@@ -20,16 +20,16 @@ class Ui_ScriptingOptionsPage(object):
|
||||
self.enable_tagger_scripts.setObjectName("enable_tagger_scripts")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(self.enable_tagger_scripts)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.splitter = QtWidgets.QSplitter(self.enable_tagger_scripts)
|
||||
self.scripting_options_splitter = QtWidgets.QSplitter(self.enable_tagger_scripts)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.splitter.sizePolicy().hasHeightForWidth())
|
||||
self.splitter.setSizePolicy(sizePolicy)
|
||||
self.splitter.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.splitter.setChildrenCollapsible(False)
|
||||
self.splitter.setObjectName("splitter")
|
||||
self.script_list = ScriptListWidget(self.splitter)
|
||||
sizePolicy.setHeightForWidth(self.scripting_options_splitter.sizePolicy().hasHeightForWidth())
|
||||
self.scripting_options_splitter.setSizePolicy(sizePolicy)
|
||||
self.scripting_options_splitter.setOrientation(QtCore.Qt.Horizontal)
|
||||
self.scripting_options_splitter.setChildrenCollapsible(False)
|
||||
self.scripting_options_splitter.setObjectName("scripting_options_splitter")
|
||||
self.script_list = ScriptListWidget(self.scripting_options_splitter)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Expanding)
|
||||
sizePolicy.setHorizontalStretch(0)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
@@ -37,7 +37,7 @@ class Ui_ScriptingOptionsPage(object):
|
||||
self.script_list.setSizePolicy(sizePolicy)
|
||||
self.script_list.setMinimumSize(QtCore.QSize(120, 0))
|
||||
self.script_list.setObjectName("script_list")
|
||||
self.formWidget = QtWidgets.QWidget(self.splitter)
|
||||
self.formWidget = QtWidgets.QWidget(self.scripting_options_splitter)
|
||||
self.formWidget.setObjectName("formWidget")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.formWidget)
|
||||
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
|
||||
@@ -46,7 +46,7 @@ class Ui_ScriptingOptionsPage(object):
|
||||
self.tagger_script.setAcceptRichText(False)
|
||||
self.tagger_script.setObjectName("tagger_script")
|
||||
self.verticalLayout_2.addWidget(self.tagger_script)
|
||||
self.verticalLayout.addWidget(self.splitter)
|
||||
self.verticalLayout.addWidget(self.scripting_options_splitter)
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.add_button = QtWidgets.QToolButton(self.enable_tagger_scripts)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>453</width>
|
||||
<height>552</height>
|
||||
<height>566</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
@@ -152,7 +152,7 @@
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QSplitter" name="splitter">
|
||||
<widget class="QSplitter" name="renaming_options_examples_splitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@@ -196,8 +196,6 @@
|
||||
<widget class="QListWidget" name="example_filename_before"/>
|
||||
</item>
|
||||
</layout>
|
||||
<zorder>example_filename_before_label</zorder>
|
||||
<zorder>example_filename_before</zorder>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frame_2">
|
||||
<property name="minimumSize">
|
||||
@@ -243,8 +241,6 @@
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<zorder>frame_2</zorder>
|
||||
<zorder>frame</zorder>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QSplitter" name="splitter">
|
||||
<widget class="QSplitter" name="scripting_options_splitter">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
|
||||
Reference in New Issue
Block a user