mirror of
https://github.com/fergalmoran/picard.git
synced 2025-12-22 09:18:18 +00:00
PICARD-2848: Rename option "toolbar_multiselect" to "allow_multi_dirs_selection"
- the old name isn't explicit enough, and it isn't related to toolbar anymore at all
This commit is contained in:
@@ -40,7 +40,7 @@ PICARD_APP_NAME = "Picard"
|
|||||||
PICARD_DISPLAY_NAME = "MusicBrainz Picard"
|
PICARD_DISPLAY_NAME = "MusicBrainz Picard"
|
||||||
PICARD_APP_ID = "org.musicbrainz.Picard"
|
PICARD_APP_ID = "org.musicbrainz.Picard"
|
||||||
PICARD_DESKTOP_NAME = PICARD_APP_ID + ".desktop"
|
PICARD_DESKTOP_NAME = PICARD_APP_ID + ".desktop"
|
||||||
PICARD_VERSION = Version(3, 0, 0, 'dev', 2)
|
PICARD_VERSION = Version(3, 0, 0, 'dev', 3)
|
||||||
|
|
||||||
|
|
||||||
# optional build version
|
# optional build version
|
||||||
|
|||||||
@@ -511,6 +511,13 @@ def upgrade_to_v3_0_0_dev_2(config):
|
|||||||
config.persist['splitters_OptionsDialog'] = b''
|
config.persist['splitters_OptionsDialog'] = b''
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade_to_v3_0_0_dev_3(config):
|
||||||
|
"""Option "toolbar_multiselect" was renamed to "allow_multi_dirs_selection"."""
|
||||||
|
old_opt = 'toolbar_multiselect'
|
||||||
|
new_opt = 'allow_multi_dirs_selection'
|
||||||
|
rename_option(config, old_opt, new_opt, BoolOption, False)
|
||||||
|
|
||||||
|
|
||||||
def rename_option(config, old_opt, new_opt, option_type, default):
|
def rename_option(config, old_opt, new_opt, option_type, default):
|
||||||
_s = config.setting
|
_s = config.setting
|
||||||
if old_opt in _s:
|
if old_opt in _s:
|
||||||
@@ -558,4 +565,5 @@ def upgrade_config(config):
|
|||||||
cfg.register_upgrade_hook(upgrade_to_v2_9_0_alpha_2)
|
cfg.register_upgrade_hook(upgrade_to_v2_9_0_alpha_2)
|
||||||
cfg.register_upgrade_hook(upgrade_to_v3_0_0_dev_1)
|
cfg.register_upgrade_hook(upgrade_to_v3_0_0_dev_1)
|
||||||
cfg.register_upgrade_hook(upgrade_to_v3_0_0_dev_2)
|
cfg.register_upgrade_hook(upgrade_to_v3_0_0_dev_2)
|
||||||
|
cfg.register_upgrade_hook(upgrade_to_v3_0_0_dev_3)
|
||||||
cfg.run_upgrade_hooks(log.debug)
|
cfg.run_upgrade_hooks(log.debug)
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ class UserProfileGroups():
|
|||||||
SettingDesc('show_menu_icons', N_("Show icons in menus"), ['show_menu_icons']),
|
SettingDesc('show_menu_icons', N_("Show icons in menus"), ['show_menu_icons']),
|
||||||
SettingDesc('ui_language', N_("User interface language"), ['ui_language', 'label']),
|
SettingDesc('ui_language', N_("User interface language"), ['ui_language', 'label']),
|
||||||
SettingDesc('ui_theme', N_("User interface color theme"), ['ui_theme', 'label_theme']),
|
SettingDesc('ui_theme', N_("User interface color theme"), ['ui_theme', 'label_theme']),
|
||||||
SettingDesc('toolbar_multiselect', N_("Allow selection of multiple directories"), ['toolbar_multiselect']),
|
SettingDesc('allow_multi_dirs_selection', N_("Allow selection of multiple directories"), ['allow_multi_dirs_selection']),
|
||||||
SettingDesc('builtin_search', N_("Use builtin search rather than looking in browser"), ['builtin_search']),
|
SettingDesc('builtin_search', N_("Use builtin search rather than looking in browser"), ['builtin_search']),
|
||||||
SettingDesc('use_adv_search_syntax', N_("Use advanced search syntax"), ['use_adv_search_syntax']),
|
SettingDesc('use_adv_search_syntax', N_("Use advanced search syntax"), ['use_adv_search_syntax']),
|
||||||
SettingDesc('show_new_user_dialog', N_("Show a usage warning dialog when Picard starts"), ['new_user_dialog']),
|
SettingDesc('show_new_user_dialog', N_("Show a usage warning dialog when Picard starts"), ['new_user_dialog']),
|
||||||
|
|||||||
@@ -1280,7 +1280,7 @@ class MainWindow(QtWidgets.QMainWindow, PreserveGeometry):
|
|||||||
|
|
||||||
dir_list = []
|
dir_list = []
|
||||||
config = get_config()
|
config = get_config()
|
||||||
if not config.setting['toolbar_multiselect']:
|
if not config.setting['allow_multi_dirs_selection']:
|
||||||
directory = QtWidgets.QFileDialog.getExistingDirectory(self, "", current_directory)
|
directory = QtWidgets.QFileDialog.getExistingDirectory(self, "", current_directory)
|
||||||
if directory:
|
if directory:
|
||||||
dir_list.append(directory)
|
dir_list.append(directory)
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ class InterfaceOptionsPage(OptionsPage):
|
|||||||
|
|
||||||
options = [
|
options = [
|
||||||
BoolOption('setting', 'toolbar_show_labels', True),
|
BoolOption('setting', 'toolbar_show_labels', True),
|
||||||
BoolOption('setting', 'toolbar_multiselect', False),
|
BoolOption('setting', 'allow_multi_dirs_selection', False),
|
||||||
BoolOption('setting', 'show_menu_icons', True if not IS_MACOS else False), # On macOS it is not common that the global menu shows icons
|
BoolOption('setting', 'show_menu_icons', True if not IS_MACOS else False), # On macOS it is not common that the global menu shows icons
|
||||||
BoolOption('setting', 'builtin_search', True),
|
BoolOption('setting', 'builtin_search', True),
|
||||||
BoolOption('setting', 'use_adv_search_syntax', False),
|
BoolOption('setting', 'use_adv_search_syntax', False),
|
||||||
@@ -143,16 +143,16 @@ class InterfaceOptionsPage(OptionsPage):
|
|||||||
if not OS_SUPPORTS_THEMES:
|
if not OS_SUPPORTS_THEMES:
|
||||||
self.ui.ui_theme_container.hide()
|
self.ui.ui_theme_container.hide()
|
||||||
|
|
||||||
self.ui.toolbar_multiselect.stateChanged.connect(self.multi_selection_warning)
|
self.ui.allow_multi_dirs_selection.stateChanged.connect(self.multi_selection_warning)
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
# Don't display the multi-selection warning when loading values.
|
# Don't display the multi-selection warning when loading values.
|
||||||
# This is required because loading a different option profile could trigger the warning.
|
# This is required because loading a different option profile could trigger the warning.
|
||||||
self.ui.toolbar_multiselect.blockSignals(True)
|
self.ui.allow_multi_dirs_selection.blockSignals(True)
|
||||||
|
|
||||||
config = get_config()
|
config = get_config()
|
||||||
self.ui.toolbar_show_labels.setChecked(config.setting['toolbar_show_labels'])
|
self.ui.toolbar_show_labels.setChecked(config.setting['toolbar_show_labels'])
|
||||||
self.ui.toolbar_multiselect.setChecked(config.setting['toolbar_multiselect'])
|
self.ui.allow_multi_dirs_selection.setChecked(config.setting['allow_multi_dirs_selection'])
|
||||||
self.ui.show_menu_icons.setChecked(config.setting['show_menu_icons'])
|
self.ui.show_menu_icons.setChecked(config.setting['show_menu_icons'])
|
||||||
self.ui.builtin_search.setChecked(config.setting['builtin_search'])
|
self.ui.builtin_search.setChecked(config.setting['builtin_search'])
|
||||||
self.ui.use_adv_search_syntax.setChecked(config.setting['use_adv_search_syntax'])
|
self.ui.use_adv_search_syntax.setChecked(config.setting['use_adv_search_syntax'])
|
||||||
@@ -168,12 +168,12 @@ class InterfaceOptionsPage(OptionsPage):
|
|||||||
self.ui.ui_theme.setCurrentIndex(self.ui.ui_theme.findData(current_theme))
|
self.ui.ui_theme.setCurrentIndex(self.ui.ui_theme.findData(current_theme))
|
||||||
|
|
||||||
# re-enable the multi-selection warning
|
# re-enable the multi-selection warning
|
||||||
self.ui.toolbar_multiselect.blockSignals(False)
|
self.ui.allow_multi_dirs_selection.blockSignals(False)
|
||||||
|
|
||||||
def save(self):
|
def save(self):
|
||||||
config = get_config()
|
config = get_config()
|
||||||
config.setting['toolbar_show_labels'] = self.ui.toolbar_show_labels.isChecked()
|
config.setting['toolbar_show_labels'] = self.ui.toolbar_show_labels.isChecked()
|
||||||
config.setting['toolbar_multiselect'] = self.ui.toolbar_multiselect.isChecked()
|
config.setting['allow_multi_dirs_selection'] = self.ui.allow_multi_dirs_selection.isChecked()
|
||||||
config.setting['show_menu_icons'] = self.ui.show_menu_icons.isChecked()
|
config.setting['show_menu_icons'] = self.ui.show_menu_icons.isChecked()
|
||||||
self.tagger.enable_menu_icons(config.setting['show_menu_icons'])
|
self.tagger.enable_menu_icons(config.setting['show_menu_icons'])
|
||||||
config.setting['builtin_search'] = self.ui.builtin_search.isChecked()
|
config.setting['builtin_search'] = self.ui.builtin_search.isChecked()
|
||||||
@@ -218,7 +218,7 @@ class InterfaceOptionsPage(OptionsPage):
|
|||||||
item.setText(path)
|
item.setText(path)
|
||||||
|
|
||||||
def multi_selection_warning(self):
|
def multi_selection_warning(self):
|
||||||
if not self.ui.toolbar_multiselect.isChecked():
|
if not self.ui.allow_multi_dirs_selection.isChecked():
|
||||||
return
|
return
|
||||||
|
|
||||||
dialog = QtWidgets.QMessageBox(
|
dialog = QtWidgets.QMessageBox(
|
||||||
@@ -232,7 +232,7 @@ class InterfaceOptionsPage(OptionsPage):
|
|||||||
QtWidgets.QMessageBox.StandardButton.Yes | QtWidgets.QMessageBox.StandardButton.No,
|
QtWidgets.QMessageBox.StandardButton.Yes | QtWidgets.QMessageBox.StandardButton.No,
|
||||||
self)
|
self)
|
||||||
if dialog.exec() == QtWidgets.QMessageBox.StandardButton.No:
|
if dialog.exec() == QtWidgets.QMessageBox.StandardButton.No:
|
||||||
self.ui.toolbar_multiselect.setCheckState(QtCore.Qt.CheckState.Unchecked)
|
self.ui.allow_multi_dirs_selection.setCheckState(QtCore.Qt.CheckState.Unchecked)
|
||||||
|
|
||||||
|
|
||||||
register_options_page(InterfaceOptionsPage)
|
register_options_page(InterfaceOptionsPage)
|
||||||
|
|||||||
@@ -52,9 +52,9 @@ class Ui_InterfaceOptionsPage(object):
|
|||||||
self.miscellaneous_box.setObjectName("miscellaneous_box")
|
self.miscellaneous_box.setObjectName("miscellaneous_box")
|
||||||
self.vboxlayout1 = QtWidgets.QVBoxLayout(self.miscellaneous_box)
|
self.vboxlayout1 = QtWidgets.QVBoxLayout(self.miscellaneous_box)
|
||||||
self.vboxlayout1.setObjectName("vboxlayout1")
|
self.vboxlayout1.setObjectName("vboxlayout1")
|
||||||
self.toolbar_multiselect = QtWidgets.QCheckBox(self.miscellaneous_box)
|
self.allow_multi_dirs_selection = QtWidgets.QCheckBox(self.miscellaneous_box)
|
||||||
self.toolbar_multiselect.setObjectName("toolbar_multiselect")
|
self.allow_multi_dirs_selection.setObjectName("allow_multi_dirs_selection")
|
||||||
self.vboxlayout1.addWidget(self.toolbar_multiselect)
|
self.vboxlayout1.addWidget(self.allow_multi_dirs_selection)
|
||||||
self.builtin_search = QtWidgets.QCheckBox(self.miscellaneous_box)
|
self.builtin_search = QtWidgets.QCheckBox(self.miscellaneous_box)
|
||||||
self.builtin_search.setObjectName("builtin_search")
|
self.builtin_search.setObjectName("builtin_search")
|
||||||
self.vboxlayout1.addWidget(self.builtin_search)
|
self.vboxlayout1.addWidget(self.builtin_search)
|
||||||
@@ -104,8 +104,8 @@ class Ui_InterfaceOptionsPage(object):
|
|||||||
InterfaceOptionsPage.setTabOrder(self.toolbar_show_labels, self.show_menu_icons)
|
InterfaceOptionsPage.setTabOrder(self.toolbar_show_labels, self.show_menu_icons)
|
||||||
InterfaceOptionsPage.setTabOrder(self.show_menu_icons, self.ui_language)
|
InterfaceOptionsPage.setTabOrder(self.show_menu_icons, self.ui_language)
|
||||||
InterfaceOptionsPage.setTabOrder(self.ui_language, self.ui_theme)
|
InterfaceOptionsPage.setTabOrder(self.ui_language, self.ui_theme)
|
||||||
InterfaceOptionsPage.setTabOrder(self.ui_theme, self.toolbar_multiselect)
|
InterfaceOptionsPage.setTabOrder(self.ui_theme, self.allow_multi_dirs_selection)
|
||||||
InterfaceOptionsPage.setTabOrder(self.toolbar_multiselect, self.builtin_search)
|
InterfaceOptionsPage.setTabOrder(self.allow_multi_dirs_selection, self.builtin_search)
|
||||||
InterfaceOptionsPage.setTabOrder(self.builtin_search, self.use_adv_search_syntax)
|
InterfaceOptionsPage.setTabOrder(self.builtin_search, self.use_adv_search_syntax)
|
||||||
InterfaceOptionsPage.setTabOrder(self.use_adv_search_syntax, self.new_user_dialog)
|
InterfaceOptionsPage.setTabOrder(self.use_adv_search_syntax, self.new_user_dialog)
|
||||||
InterfaceOptionsPage.setTabOrder(self.new_user_dialog, self.quit_confirmation)
|
InterfaceOptionsPage.setTabOrder(self.new_user_dialog, self.quit_confirmation)
|
||||||
@@ -123,7 +123,7 @@ class Ui_InterfaceOptionsPage(object):
|
|||||||
self.label.setText(_("User interface language:"))
|
self.label.setText(_("User interface language:"))
|
||||||
self.label_theme.setText(_("User interface color theme:"))
|
self.label_theme.setText(_("User interface color theme:"))
|
||||||
self.miscellaneous_box.setTitle(_("Miscellaneous"))
|
self.miscellaneous_box.setTitle(_("Miscellaneous"))
|
||||||
self.toolbar_multiselect.setText(_("Allow selection of multiple directories"))
|
self.allow_multi_dirs_selection.setText(_("Allow selection of multiple directories"))
|
||||||
self.builtin_search.setText(_("Use builtin search rather than looking in browser"))
|
self.builtin_search.setText(_("Use builtin search rather than looking in browser"))
|
||||||
self.use_adv_search_syntax.setText(_("Use advanced query syntax"))
|
self.use_adv_search_syntax.setText(_("Use advanced query syntax"))
|
||||||
self.new_user_dialog.setText(_("Show the new user dialog when starting Picard"))
|
self.new_user_dialog.setText(_("Show the new user dialog when starting Picard"))
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ from picard.config_upgrade import (
|
|||||||
upgrade_to_v2_6_0_beta_3,
|
upgrade_to_v2_6_0_beta_3,
|
||||||
upgrade_to_v2_6_0_dev_1,
|
upgrade_to_v2_6_0_dev_1,
|
||||||
upgrade_to_v2_8_0_dev_2,
|
upgrade_to_v2_8_0_dev_2,
|
||||||
|
upgrade_to_v3_0_0_dev_3,
|
||||||
)
|
)
|
||||||
from picard.const import (
|
from picard.const import (
|
||||||
DEFAULT_FILE_NAMING_FORMAT,
|
DEFAULT_FILE_NAMING_FORMAT,
|
||||||
@@ -364,3 +365,11 @@ class TestPicardConfigUpgrades(TestPicardConfigCommon):
|
|||||||
self.assertEqual(expected, self.config.setting['toolbar_layout'])
|
self.assertEqual(expected, self.config.setting['toolbar_layout'])
|
||||||
upgrade_to_v2_8_0_dev_2(self.config)
|
upgrade_to_v2_8_0_dev_2(self.config)
|
||||||
self.assertEqual(expected, self.config.setting['toolbar_layout'])
|
self.assertEqual(expected, self.config.setting['toolbar_layout'])
|
||||||
|
|
||||||
|
def test_upgrade_to_v3_0_0_dev_3(self):
|
||||||
|
BoolOption('setting', 'allow_multi_dirs_selection', False)
|
||||||
|
|
||||||
|
self.config.setting['toolbar_multiselect'] = True
|
||||||
|
upgrade_to_v3_0_0_dev_3(self.config)
|
||||||
|
self.assertNotIn('toolbar_multiselect', self.config.setting)
|
||||||
|
self.assertTrue(self.config.setting['allow_multi_dirs_selection'])
|
||||||
|
|||||||
@@ -95,7 +95,7 @@
|
|||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout">
|
<layout class="QVBoxLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="toolbar_multiselect">
|
<widget class="QCheckBox" name="allow_multi_dirs_selection">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Allow selection of multiple directories</string>
|
<string>Allow selection of multiple directories</string>
|
||||||
</property>
|
</property>
|
||||||
@@ -218,7 +218,7 @@
|
|||||||
<tabstop>show_menu_icons</tabstop>
|
<tabstop>show_menu_icons</tabstop>
|
||||||
<tabstop>ui_language</tabstop>
|
<tabstop>ui_language</tabstop>
|
||||||
<tabstop>ui_theme</tabstop>
|
<tabstop>ui_theme</tabstop>
|
||||||
<tabstop>toolbar_multiselect</tabstop>
|
<tabstop>allow_multi_dirs_selection</tabstop>
|
||||||
<tabstop>builtin_search</tabstop>
|
<tabstop>builtin_search</tabstop>
|
||||||
<tabstop>use_adv_search_syntax</tabstop>
|
<tabstop>use_adv_search_syntax</tabstop>
|
||||||
<tabstop>new_user_dialog</tabstop>
|
<tabstop>new_user_dialog</tabstop>
|
||||||
|
|||||||
Reference in New Issue
Block a user