From ee58d90fc626e09d11e7fb5c3937e370a2ba68ac Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Fri, 7 May 2021 16:11:20 +0200 Subject: [PATCH] PICARD-2206: Fix tab order for option pages --- picard/ui/options/releases.py | 31 ++++++++++++------- picard/ui/ui_options_interface.py | 6 ++-- picard/ui/ui_options_metadata.py | 6 ++-- picard/ui/ui_options_network.py | 7 +++-- picard/ui/ui_options_script.py | 8 +++-- .../ui/ui_options_tags_compatibility_id3.py | 3 +- ui/options_interface.ui | 2 ++ ui/options_metadata.ui | 1 + ui/options_network.ui | 3 ++ ui/options_script.ui | 6 +++- ui/options_tags_compatibility_id3.ui | 1 + 11 files changed, 53 insertions(+), 21 deletions(-) diff --git a/picard/ui/options/releases.py b/picard/ui/options/releases.py index 24f341803..9f9df3483 100644 --- a/picard/ui/options/releases.py +++ b/picard/ui/options/releases.py @@ -175,11 +175,11 @@ class ReleasesOptionsPage(OptionsPage): def add_slider(name, griditer, context): label = pgettext_attributes(context, name) - self._release_type_sliders[name] = \ - ReleaseTypeScore(self.ui.type_group, - self.ui.gridLayout, - label, - next(griditer)) + self._release_type_sliders[name] = ReleaseTypeScore( + self.ui.type_group, + self.ui.gridLayout, + label, + next(griditer)) griditer = RowColIter(len(RELEASE_PRIMARY_GROUPS) + len(RELEASE_SECONDARY_GROUPS) @@ -190,16 +190,25 @@ class ReleasesOptionsPage(OptionsPage): key=lambda v: pgettext_attributes('release_group_secondary_type', v)): add_slider(name, griditer, context='release_group_secondary_type') - self.reset_preferred_types_btn = QtWidgets.QPushButton(self.ui.type_group) - self.reset_preferred_types_btn.setText(_("Reset all")) + reset_types_btn = QtWidgets.QPushButton(self.ui.type_group) + reset_types_btn.setText(_("Reset all")) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.reset_preferred_types_btn.sizePolicy().hasHeightForWidth()) - self.reset_preferred_types_btn.setSizePolicy(sizePolicy) + sizePolicy.setHeightForWidth(reset_types_btn.sizePolicy().hasHeightForWidth()) + reset_types_btn.setSizePolicy(sizePolicy) r, c = next(griditer) - 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.gridLayout.addWidget(reset_types_btn, r, c, 1, 2) + reset_types_btn.clicked.connect(self.reset_preferred_types) + + self.setTabOrder(reset_types_btn, self.ui.country_list) + self.setTabOrder(self.ui.country_list, self.ui.preferred_country_list) + self.setTabOrder(self.ui.preferred_country_list, self.ui.add_countries) + self.setTabOrder(self.ui.add_countries, self.ui.remove_countries) + self.setTabOrder(self.ui.remove_countries, self.ui.format_list) + self.setTabOrder(self.ui.format_list, self.ui.preferred_format_list) + self.setTabOrder(self.ui.preferred_format_list, self.ui.add_formats) + self.setTabOrder(self.ui.add_formats, self.ui.remove_formats) self.ui.add_countries.clicked.connect(self.add_preferred_countries) self.ui.remove_countries.clicked.connect(self.remove_preferred_countries) diff --git a/picard/ui/ui_options_interface.py b/picard/ui/ui_options_interface.py index 8ae1ebbb6..082383826 100644 --- a/picard/ui/ui_options_interface.py +++ b/picard/ui/ui_options_interface.py @@ -139,11 +139,13 @@ class Ui_InterfaceOptionsPage(object): InterfaceOptionsPage.setTabOrder(self.toolbar_multiselect, self.builtin_search) InterfaceOptionsPage.setTabOrder(self.builtin_search, self.use_adv_search_syntax) InterfaceOptionsPage.setTabOrder(self.use_adv_search_syntax, self.quit_confirmation) - InterfaceOptionsPage.setTabOrder(self.quit_confirmation, self.starting_directory) + InterfaceOptionsPage.setTabOrder(self.quit_confirmation, self.filebrowser_horizontal_autoscroll) + InterfaceOptionsPage.setTabOrder(self.filebrowser_horizontal_autoscroll, self.starting_directory) InterfaceOptionsPage.setTabOrder(self.starting_directory, self.starting_directory_path) InterfaceOptionsPage.setTabOrder(self.starting_directory_path, self.starting_directory_browse) InterfaceOptionsPage.setTabOrder(self.starting_directory_browse, self.ui_language) - InterfaceOptionsPage.setTabOrder(self.ui_language, self.toolbar_layout_list) + InterfaceOptionsPage.setTabOrder(self.ui_language, self.ui_theme) + InterfaceOptionsPage.setTabOrder(self.ui_theme, self.toolbar_layout_list) InterfaceOptionsPage.setTabOrder(self.toolbar_layout_list, self.add_button) InterfaceOptionsPage.setTabOrder(self.add_button, self.insert_separator_button) InterfaceOptionsPage.setTabOrder(self.insert_separator_button, self.up_button) diff --git a/picard/ui/ui_options_metadata.py b/picard/ui/ui_options_metadata.py index 1b98d547b..7afc0c9fb 100644 --- a/picard/ui/ui_options_metadata.py +++ b/picard/ui/ui_options_metadata.py @@ -3,8 +3,10 @@ # Automatically generated - don't edit. # Use `python setup.py build_ui` to update it. + from PyQt5 import QtCore, QtGui, QtWidgets + class Ui_MetadataOptionsPage(object): def setupUi(self, MetadataOptionsPage): MetadataOptionsPage.setObjectName("MetadataOptionsPage") @@ -83,7 +85,8 @@ class Ui_MetadataOptionsPage(object): QtCore.QMetaObject.connectSlotsByName(MetadataOptionsPage) MetadataOptionsPage.setTabOrder(self.translate_artist_names, self.artist_locale) MetadataOptionsPage.setTabOrder(self.artist_locale, self.standardize_artists) - MetadataOptionsPage.setTabOrder(self.standardize_artists, self.convert_punctuation) + MetadataOptionsPage.setTabOrder(self.standardize_artists, self.standardize_instruments) + MetadataOptionsPage.setTabOrder(self.standardize_instruments, self.convert_punctuation) MetadataOptionsPage.setTabOrder(self.convert_punctuation, self.release_ars) MetadataOptionsPage.setTabOrder(self.release_ars, self.track_ars) MetadataOptionsPage.setTabOrder(self.track_ars, self.va_name) @@ -105,4 +108,3 @@ class Ui_MetadataOptionsPage(object): self.label_7.setText(_("Non-album tracks:")) self.nat_name_default.setText(_("Default")) self.va_name_default.setText(_("Default")) - diff --git a/picard/ui/ui_options_network.py b/picard/ui/ui_options_network.py index fea790560..565b0621a 100644 --- a/picard/ui/ui_options_network.py +++ b/picard/ui/ui_options_network.py @@ -124,11 +124,14 @@ class Ui_NetworkOptionsPage(object): self.retranslateUi(NetworkOptionsPage) QtCore.QMetaObject.connectSlotsByName(NetworkOptionsPage) - NetworkOptionsPage.setTabOrder(self.web_proxy, self.server_host) + NetworkOptionsPage.setTabOrder(self.web_proxy, self.proxy_type_http) + NetworkOptionsPage.setTabOrder(self.proxy_type_http, self.proxy_type_socks) + NetworkOptionsPage.setTabOrder(self.proxy_type_socks, self.server_host) NetworkOptionsPage.setTabOrder(self.server_host, self.server_port) NetworkOptionsPage.setTabOrder(self.server_port, self.username) NetworkOptionsPage.setTabOrder(self.username, self.password) - NetworkOptionsPage.setTabOrder(self.password, self.browser_integration) + NetworkOptionsPage.setTabOrder(self.password, self.transfer_timeout) + NetworkOptionsPage.setTabOrder(self.transfer_timeout, self.browser_integration) NetworkOptionsPage.setTabOrder(self.browser_integration, self.browser_integration_port) NetworkOptionsPage.setTabOrder(self.browser_integration_port, self.browser_integration_localhost_only) diff --git a/picard/ui/ui_options_script.py b/picard/ui/ui_options_script.py index 870ef23ac..eb3fcff24 100644 --- a/picard/ui/ui_options_script.py +++ b/picard/ui/ui_options_script.py @@ -95,9 +95,13 @@ class Ui_ScriptingOptionsPage(object): self.remove_button.clicked.connect(self.script_list.remove_selected_script) self.enable_tagger_scripts.toggled['bool'].connect(ScriptingOptionsPage.enable_tagger_scripts_toggled) QtCore.QMetaObject.connectSlotsByName(ScriptingOptionsPage) - ScriptingOptionsPage.setTabOrder(self.enable_tagger_scripts, self.add_button) - ScriptingOptionsPage.setTabOrder(self.add_button, self.script_list) + ScriptingOptionsPage.setTabOrder(self.enable_tagger_scripts, self.script_list) ScriptingOptionsPage.setTabOrder(self.script_list, self.tagger_script) + ScriptingOptionsPage.setTabOrder(self.tagger_script, self.add_button) + ScriptingOptionsPage.setTabOrder(self.add_button, self.scripting_documentation_button) + ScriptingOptionsPage.setTabOrder(self.scripting_documentation_button, self.move_up_button) + ScriptingOptionsPage.setTabOrder(self.move_up_button, self.move_down_button) + ScriptingOptionsPage.setTabOrder(self.move_down_button, self.remove_button) def retranslateUi(self, ScriptingOptionsPage): _translate = QtCore.QCoreApplication.translate diff --git a/picard/ui/ui_options_tags_compatibility_id3.py b/picard/ui/ui_options_tags_compatibility_id3.py index 840746d93..26d5e43d2 100644 --- a/picard/ui/ui_options_tags_compatibility_id3.py +++ b/picard/ui/ui_options_tags_compatibility_id3.py @@ -107,7 +107,8 @@ class Ui_TagsCompatibilityOptionsPage(object): TagsCompatibilityOptionsPage.setTabOrder(self.enc_utf8, self.enc_utf16) TagsCompatibilityOptionsPage.setTabOrder(self.enc_utf16, self.enc_iso88591) TagsCompatibilityOptionsPage.setTabOrder(self.enc_iso88591, self.id3v23_join_with) - TagsCompatibilityOptionsPage.setTabOrder(self.id3v23_join_with, self.write_id3v1) + TagsCompatibilityOptionsPage.setTabOrder(self.id3v23_join_with, self.itunes_compatible_grouping) + TagsCompatibilityOptionsPage.setTabOrder(self.itunes_compatible_grouping, self.write_id3v1) def retranslateUi(self, TagsCompatibilityOptionsPage): _translate = QtCore.QCoreApplication.translate diff --git a/ui/options_interface.ui b/ui/options_interface.ui index 67fab7485..1604ed7b4 100644 --- a/ui/options_interface.ui +++ b/ui/options_interface.ui @@ -305,10 +305,12 @@ builtin_search use_adv_search_syntax quit_confirmation + filebrowser_horizontal_autoscroll starting_directory starting_directory_path starting_directory_browse ui_language + ui_theme toolbar_layout_list add_button insert_separator_button diff --git a/ui/options_metadata.ui b/ui/options_metadata.ui index d78660740..1f2a607a2 100644 --- a/ui/options_metadata.ui +++ b/ui/options_metadata.ui @@ -166,6 +166,7 @@ translate_artist_names artist_locale standardize_artists + standardize_instruments convert_punctuation release_ars track_ars diff --git a/ui/options_network.ui b/ui/options_network.ui index 8e2a23643..71c639d8f 100644 --- a/ui/options_network.ui +++ b/ui/options_network.ui @@ -272,10 +272,13 @@ web_proxy + proxy_type_http + proxy_type_socks server_host server_port username password + transfer_timeout browser_integration browser_integration_port browser_integration_localhost_only diff --git a/ui/options_script.ui b/ui/options_script.ui index 8e0bf4c8b..0bd1576c1 100644 --- a/ui/options_script.ui +++ b/ui/options_script.ui @@ -209,9 +209,13 @@ enable_tagger_scripts - add_button script_list tagger_script + add_button + scripting_documentation_button + move_up_button + move_down_button + remove_button diff --git a/ui/options_tags_compatibility_id3.ui b/ui/options_tags_compatibility_id3.ui index 1c4b63def..ce3b77d2a 100644 --- a/ui/options_tags_compatibility_id3.ui +++ b/ui/options_tags_compatibility_id3.ui @@ -236,6 +236,7 @@ enc_utf16 enc_iso88591 id3v23_join_with + itunes_compatible_grouping write_id3v1