mirror of
https://github.com/fergalmoran/picard.git
synced 2026-01-06 16:44:06 +00:00
PICARD-1671: Moved tags compatibility options to separate page
This commit is contained in:
@@ -57,6 +57,7 @@ from picard.ui.options import ( # noqa: F401 # pylint: disable=unused-import
|
||||
renaming,
|
||||
scripting,
|
||||
tags,
|
||||
tags_compatibility,
|
||||
)
|
||||
from picard.ui.util import StandardButton
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
from functools import partial
|
||||
import re
|
||||
|
||||
from PyQt5 import (
|
||||
@@ -44,71 +43,31 @@ class TagsOptionsPage(OptionsPage):
|
||||
ACTIVE = True
|
||||
|
||||
options = [
|
||||
config.BoolOption("setting", "clear_existing_tags", False),
|
||||
config.TextOption("setting", "preserved_tags", ""),
|
||||
config.BoolOption("setting", "write_id3v1", True),
|
||||
config.BoolOption("setting", "write_id3v23", True),
|
||||
config.TextOption("setting", "id3v2_encoding", "utf-16"),
|
||||
config.TextOption("setting", "id3v23_join_with", "/"),
|
||||
config.BoolOption("setting", "remove_id3_from_flac", False),
|
||||
config.BoolOption("setting", "remove_ape_from_mp3", False),
|
||||
config.BoolOption("setting", "tpe2_albumartist", False),
|
||||
config.BoolOption("setting", "itunes_compatible_grouping", False),
|
||||
config.BoolOption("setting", "dont_write_tags", False),
|
||||
config.BoolOption("setting", "preserve_timestamps", False),
|
||||
config.BoolOption("setting", "aac_save_ape", True),
|
||||
config.BoolOption("setting", "remove_ape_from_aac", False),
|
||||
config.BoolOption("setting", "ac3_save_ape", True),
|
||||
config.BoolOption("setting", "remove_ape_from_ac3", False),
|
||||
config.BoolOption("setting", "clear_existing_tags", False),
|
||||
config.BoolOption("setting", "remove_id3_from_flac", False),
|
||||
config.BoolOption("setting", "remove_ape_from_mp3", False),
|
||||
config.TextOption("setting", "preserved_tags", ""),
|
||||
]
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self.ui = Ui_TagsOptionsPage()
|
||||
self.ui.setupUi(self)
|
||||
self.ui.write_id3v23.clicked.connect(self.update_encodings)
|
||||
self.ui.write_id3v24.clicked.connect(partial(self.update_encodings, force_utf8=True))
|
||||
self.completer = QtWidgets.QCompleter(sorted(TAG_NAMES.keys()), self)
|
||||
self.completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)
|
||||
self.completer.setWidget(self.ui.preserved_tags)
|
||||
self.ui.preserved_tags.textEdited.connect(self.preserved_tags_edited)
|
||||
self.completer.activated.connect(self.completer_activated)
|
||||
self.ui.aac_no_tags.toggled.connect(self.ui.remove_ape_from_aac.setEnabled)
|
||||
self.ui.ac3_no_tags.toggled.connect(self.ui.remove_ape_from_ac3.setEnabled)
|
||||
|
||||
def load(self):
|
||||
self.ui.write_tags.setChecked(not config.setting["dont_write_tags"])
|
||||
self.ui.preserve_timestamps.setChecked(config.setting["preserve_timestamps"])
|
||||
self.ui.clear_existing_tags.setChecked(config.setting["clear_existing_tags"])
|
||||
self.ui.write_id3v1.setChecked(config.setting["write_id3v1"])
|
||||
if config.setting["write_id3v23"]:
|
||||
self.ui.write_id3v23.setChecked(True)
|
||||
else:
|
||||
self.ui.write_id3v24.setChecked(True)
|
||||
if config.setting["id3v2_encoding"] == "iso-8859-1":
|
||||
self.ui.enc_iso88591.setChecked(True)
|
||||
elif config.setting["id3v2_encoding"] == "utf-16":
|
||||
self.ui.enc_utf16.setChecked(True)
|
||||
else:
|
||||
self.ui.enc_utf8.setChecked(True)
|
||||
self.ui.id3v23_join_with.setEditText(config.setting["id3v23_join_with"])
|
||||
self.ui.remove_ape_from_mp3.setChecked(config.setting["remove_ape_from_mp3"])
|
||||
self.ui.remove_id3_from_flac.setChecked(config.setting["remove_id3_from_flac"])
|
||||
self.ui.itunes_compatible_grouping.setChecked(config.setting["itunes_compatible_grouping"])
|
||||
self.ui.preserved_tags.setText(config.setting["preserved_tags"])
|
||||
if config.setting["aac_save_ape"]:
|
||||
self.ui.aac_save_ape.setChecked(True)
|
||||
else:
|
||||
self.ui.aac_no_tags.setChecked(True)
|
||||
self.ui.remove_ape_from_aac.setChecked(config.setting["remove_ape_from_aac"])
|
||||
self.ui.remove_ape_from_aac.setEnabled(not config.setting["aac_save_ape"])
|
||||
if config.setting["ac3_save_ape"]:
|
||||
self.ui.ac3_save_ape.setChecked(True)
|
||||
else:
|
||||
self.ui.ac3_no_tags.setChecked(True)
|
||||
self.ui.remove_ape_from_ac3.setChecked(config.setting["remove_ape_from_ac3"])
|
||||
self.ui.remove_ape_from_ac3.setEnabled(not config.setting["ac3_save_ape"])
|
||||
self.update_encodings()
|
||||
|
||||
def save(self):
|
||||
config.setting["dont_write_tags"] = not self.ui.write_tags.isChecked()
|
||||
@@ -117,39 +76,11 @@ class TagsOptionsPage(OptionsPage):
|
||||
if clear_existing_tags != config.setting["clear_existing_tags"]:
|
||||
config.setting["clear_existing_tags"] = clear_existing_tags
|
||||
self.tagger.window.metadata_box.update()
|
||||
config.setting["write_id3v1"] = self.ui.write_id3v1.isChecked()
|
||||
config.setting["write_id3v23"] = self.ui.write_id3v23.isChecked()
|
||||
config.setting["id3v23_join_with"] = self.ui.id3v23_join_with.currentText()
|
||||
if self.ui.enc_iso88591.isChecked():
|
||||
config.setting["id3v2_encoding"] = "iso-8859-1"
|
||||
elif self.ui.enc_utf16.isChecked():
|
||||
config.setting["id3v2_encoding"] = "utf-16"
|
||||
else:
|
||||
config.setting["id3v2_encoding"] = "utf-8"
|
||||
config.setting["remove_ape_from_mp3"] = self.ui.remove_ape_from_mp3.isChecked()
|
||||
config.setting["remove_id3_from_flac"] = self.ui.remove_id3_from_flac.isChecked()
|
||||
config.setting["itunes_compatible_grouping"] = self.ui.itunes_compatible_grouping.isChecked()
|
||||
config.setting["preserved_tags"] = re.sub(r"[,\s]+$", "", self.ui.preserved_tags.text())
|
||||
config.setting["aac_save_ape"] = self.ui.aac_save_ape.isChecked()
|
||||
config.setting["remove_ape_from_aac"] = self.ui.remove_ape_from_aac.isChecked()
|
||||
config.setting["ac3_save_ape"] = self.ui.ac3_save_ape.isChecked()
|
||||
config.setting["remove_ape_from_ac3"] = self.ui.remove_ape_from_ac3.isChecked()
|
||||
self.tagger.window.enable_tag_saving_action.setChecked(not config.setting["dont_write_tags"])
|
||||
|
||||
def update_encodings(self, force_utf8=False):
|
||||
if self.ui.write_id3v23.isChecked():
|
||||
if self.ui.enc_utf8.isChecked():
|
||||
self.ui.enc_utf16.setChecked(True)
|
||||
self.ui.enc_utf8.setEnabled(False)
|
||||
self.ui.label_id3v23_join_with.setEnabled(True)
|
||||
self.ui.id3v23_join_with.setEnabled(True)
|
||||
else:
|
||||
self.ui.enc_utf8.setEnabled(True)
|
||||
if force_utf8:
|
||||
self.ui.enc_utf8.setChecked(True)
|
||||
self.ui.label_id3v23_join_with.setEnabled(False)
|
||||
self.ui.id3v23_join_with.setEnabled(False)
|
||||
|
||||
def preserved_tags_edited(self, text):
|
||||
prefix = text[:self.ui.preserved_tags.cursorPosition()].split(",")[-1]
|
||||
self.completer.setCompletionPrefix(prefix.strip())
|
||||
|
||||
121
picard/ui/options/tags_compatibility.py
Normal file
121
picard/ui/options/tags_compatibility.py
Normal file
@@ -0,0 +1,121 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Picard, the next-generation MusicBrainz tagger
|
||||
# Copyright (C) 2006 Lukáš Lalinský
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
from functools import partial
|
||||
|
||||
from picard import config
|
||||
|
||||
from picard.ui.options import (
|
||||
OptionsPage,
|
||||
register_options_page,
|
||||
)
|
||||
from picard.ui.ui_options_tags_compatibility import (
|
||||
Ui_TagsCompatibilityOptionsPage,
|
||||
)
|
||||
|
||||
|
||||
class TagsCompatibilityOptionsPage(OptionsPage):
|
||||
|
||||
NAME = "tags_compatibility"
|
||||
TITLE = N_("Tag Compatibility")
|
||||
PARENT = "tags"
|
||||
SORT_ORDER = 30
|
||||
ACTIVE = True
|
||||
|
||||
options = [
|
||||
config.BoolOption("setting", "write_id3v1", True),
|
||||
config.BoolOption("setting", "write_id3v23", True),
|
||||
config.TextOption("setting", "id3v2_encoding", "utf-16"),
|
||||
config.TextOption("setting", "id3v23_join_with", "/"),
|
||||
config.BoolOption("setting", "itunes_compatible_grouping", False),
|
||||
config.BoolOption("setting", "aac_save_ape", True),
|
||||
config.BoolOption("setting", "remove_ape_from_aac", False),
|
||||
config.BoolOption("setting", "ac3_save_ape", True),
|
||||
config.BoolOption("setting", "remove_ape_from_ac3", False),
|
||||
]
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self.ui = Ui_TagsCompatibilityOptionsPage()
|
||||
self.ui.setupUi(self)
|
||||
self.ui.write_id3v23.clicked.connect(self.update_encodings)
|
||||
self.ui.write_id3v24.clicked.connect(partial(self.update_encodings, force_utf8=True))
|
||||
self.ui.aac_no_tags.toggled.connect(self.ui.remove_ape_from_aac.setEnabled)
|
||||
self.ui.ac3_no_tags.toggled.connect(self.ui.remove_ape_from_ac3.setEnabled)
|
||||
|
||||
def load(self):
|
||||
self.ui.write_id3v1.setChecked(config.setting["write_id3v1"])
|
||||
if config.setting["write_id3v23"]:
|
||||
self.ui.write_id3v23.setChecked(True)
|
||||
else:
|
||||
self.ui.write_id3v24.setChecked(True)
|
||||
if config.setting["id3v2_encoding"] == "iso-8859-1":
|
||||
self.ui.enc_iso88591.setChecked(True)
|
||||
elif config.setting["id3v2_encoding"] == "utf-16":
|
||||
self.ui.enc_utf16.setChecked(True)
|
||||
else:
|
||||
self.ui.enc_utf8.setChecked(True)
|
||||
self.ui.id3v23_join_with.setEditText(config.setting["id3v23_join_with"])
|
||||
self.ui.itunes_compatible_grouping.setChecked(config.setting["itunes_compatible_grouping"])
|
||||
if config.setting["aac_save_ape"]:
|
||||
self.ui.aac_save_ape.setChecked(True)
|
||||
else:
|
||||
self.ui.aac_no_tags.setChecked(True)
|
||||
self.ui.remove_ape_from_aac.setChecked(config.setting["remove_ape_from_aac"])
|
||||
self.ui.remove_ape_from_aac.setEnabled(not config.setting["aac_save_ape"])
|
||||
if config.setting["ac3_save_ape"]:
|
||||
self.ui.ac3_save_ape.setChecked(True)
|
||||
else:
|
||||
self.ui.ac3_no_tags.setChecked(True)
|
||||
self.ui.remove_ape_from_ac3.setChecked(config.setting["remove_ape_from_ac3"])
|
||||
self.ui.remove_ape_from_ac3.setEnabled(not config.setting["ac3_save_ape"])
|
||||
self.update_encodings()
|
||||
|
||||
def save(self):
|
||||
config.setting["write_id3v1"] = self.ui.write_id3v1.isChecked()
|
||||
config.setting["write_id3v23"] = self.ui.write_id3v23.isChecked()
|
||||
config.setting["id3v23_join_with"] = self.ui.id3v23_join_with.currentText()
|
||||
if self.ui.enc_iso88591.isChecked():
|
||||
config.setting["id3v2_encoding"] = "iso-8859-1"
|
||||
elif self.ui.enc_utf16.isChecked():
|
||||
config.setting["id3v2_encoding"] = "utf-16"
|
||||
else:
|
||||
config.setting["id3v2_encoding"] = "utf-8"
|
||||
config.setting["itunes_compatible_grouping"] = self.ui.itunes_compatible_grouping.isChecked()
|
||||
config.setting["aac_save_ape"] = self.ui.aac_save_ape.isChecked()
|
||||
config.setting["remove_ape_from_aac"] = self.ui.remove_ape_from_aac.isChecked()
|
||||
config.setting["ac3_save_ape"] = self.ui.ac3_save_ape.isChecked()
|
||||
config.setting["remove_ape_from_ac3"] = self.ui.remove_ape_from_ac3.isChecked()
|
||||
|
||||
def update_encodings(self, force_utf8=False):
|
||||
if self.ui.write_id3v23.isChecked():
|
||||
if self.ui.enc_utf8.isChecked():
|
||||
self.ui.enc_utf16.setChecked(True)
|
||||
self.ui.enc_utf8.setEnabled(False)
|
||||
self.ui.label_id3v23_join_with.setEnabled(True)
|
||||
self.ui.id3v23_join_with.setEnabled(True)
|
||||
else:
|
||||
self.ui.enc_utf8.setEnabled(True)
|
||||
if force_utf8:
|
||||
self.ui.enc_utf8.setChecked(True)
|
||||
self.ui.label_id3v23_join_with.setEnabled(False)
|
||||
self.ui.id3v23_join_with.setEnabled(False)
|
||||
|
||||
|
||||
register_options_page(TagsCompatibilityOptionsPage)
|
||||
@@ -10,7 +10,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_TagsOptionsPage(object):
|
||||
def setupUi(self, TagsOptionsPage):
|
||||
TagsOptionsPage.setObjectName("TagsOptionsPage")
|
||||
TagsOptionsPage.resize(539, 633)
|
||||
TagsOptionsPage.resize(539, 525)
|
||||
self.vboxlayout = QtWidgets.QVBoxLayout(TagsOptionsPage)
|
||||
self.vboxlayout.setObjectName("vboxlayout")
|
||||
self.write_tags = QtWidgets.QCheckBox(TagsOptionsPage)
|
||||
@@ -46,122 +46,8 @@ class Ui_TagsOptionsPage(object):
|
||||
self.preserved_tags_help.setObjectName("preserved_tags_help")
|
||||
self.vboxlayout1.addWidget(self.preserved_tags_help)
|
||||
self.vboxlayout.addWidget(self.before_tagging)
|
||||
self.tag_compatibility = QtWidgets.QGroupBox(TagsOptionsPage)
|
||||
self.tag_compatibility.setObjectName("tag_compatibility")
|
||||
self.vboxlayout2 = QtWidgets.QVBoxLayout(self.tag_compatibility)
|
||||
self.vboxlayout2.setContentsMargins(-1, 6, -1, 7)
|
||||
self.vboxlayout2.setSpacing(2)
|
||||
self.vboxlayout2.setObjectName("vboxlayout2")
|
||||
self.id3v2_version = QtWidgets.QGroupBox(self.tag_compatibility)
|
||||
self.id3v2_version.setFlat(False)
|
||||
self.id3v2_version.setCheckable(False)
|
||||
self.id3v2_version.setObjectName("id3v2_version")
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout(self.id3v2_version)
|
||||
self.horizontalLayout.setContentsMargins(-1, 6, -1, 7)
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.write_id3v24 = QtWidgets.QRadioButton(self.id3v2_version)
|
||||
self.write_id3v24.setChecked(True)
|
||||
self.write_id3v24.setObjectName("write_id3v24")
|
||||
self.horizontalLayout.addWidget(self.write_id3v24)
|
||||
self.write_id3v23 = QtWidgets.QRadioButton(self.id3v2_version)
|
||||
self.write_id3v23.setChecked(False)
|
||||
self.write_id3v23.setObjectName("write_id3v23")
|
||||
self.horizontalLayout.addWidget(self.write_id3v23)
|
||||
self.label = QtWidgets.QLabel(self.id3v2_version)
|
||||
self.label.setText("")
|
||||
self.label.setWordWrap(True)
|
||||
self.label.setObjectName("label")
|
||||
self.horizontalLayout.addWidget(self.label)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem1)
|
||||
self.vboxlayout2.addWidget(self.id3v2_version)
|
||||
self.id3v2_text_encoding = QtWidgets.QGroupBox(self.tag_compatibility)
|
||||
self.id3v2_text_encoding.setObjectName("id3v2_text_encoding")
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.id3v2_text_encoding)
|
||||
self.horizontalLayout_2.setContentsMargins(-1, 6, -1, 7)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.enc_utf8 = QtWidgets.QRadioButton(self.id3v2_text_encoding)
|
||||
self.enc_utf8.setObjectName("enc_utf8")
|
||||
self.horizontalLayout_2.addWidget(self.enc_utf8)
|
||||
self.enc_utf16 = QtWidgets.QRadioButton(self.id3v2_text_encoding)
|
||||
self.enc_utf16.setObjectName("enc_utf16")
|
||||
self.horizontalLayout_2.addWidget(self.enc_utf16)
|
||||
self.enc_iso88591 = QtWidgets.QRadioButton(self.id3v2_text_encoding)
|
||||
self.enc_iso88591.setObjectName("enc_iso88591")
|
||||
self.horizontalLayout_2.addWidget(self.enc_iso88591)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_2.addItem(spacerItem2)
|
||||
self.label_2 = QtWidgets.QLabel(self.id3v2_text_encoding)
|
||||
self.label_2.setText("")
|
||||
self.label_2.setWordWrap(True)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.horizontalLayout_2.addWidget(self.label_2)
|
||||
self.vboxlayout2.addWidget(self.id3v2_text_encoding)
|
||||
self.hbox_id3v23_join_with = QtWidgets.QHBoxLayout()
|
||||
self.hbox_id3v23_join_with.setObjectName("hbox_id3v23_join_with")
|
||||
self.label_id3v23_join_with = QtWidgets.QLabel(self.tag_compatibility)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(4)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_id3v23_join_with.sizePolicy().hasHeightForWidth())
|
||||
self.label_id3v23_join_with.setSizePolicy(sizePolicy)
|
||||
self.label_id3v23_join_with.setObjectName("label_id3v23_join_with")
|
||||
self.hbox_id3v23_join_with.addWidget(self.label_id3v23_join_with)
|
||||
self.id3v23_join_with = QtWidgets.QComboBox(self.tag_compatibility)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(1)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.id3v23_join_with.sizePolicy().hasHeightForWidth())
|
||||
self.id3v23_join_with.setSizePolicy(sizePolicy)
|
||||
self.id3v23_join_with.setEditable(True)
|
||||
self.id3v23_join_with.setObjectName("id3v23_join_with")
|
||||
self.id3v23_join_with.addItem("")
|
||||
self.id3v23_join_with.setItemText(0, "/")
|
||||
self.id3v23_join_with.addItem("")
|
||||
self.id3v23_join_with.setItemText(1, "; ")
|
||||
self.id3v23_join_with.addItem("")
|
||||
self.id3v23_join_with.setItemText(2, " / ")
|
||||
self.hbox_id3v23_join_with.addWidget(self.id3v23_join_with)
|
||||
self.vboxlayout2.addLayout(self.hbox_id3v23_join_with)
|
||||
self.itunes_compatible_grouping = QtWidgets.QCheckBox(self.tag_compatibility)
|
||||
self.itunes_compatible_grouping.setObjectName("itunes_compatible_grouping")
|
||||
self.vboxlayout2.addWidget(self.itunes_compatible_grouping)
|
||||
self.write_id3v1 = QtWidgets.QCheckBox(self.tag_compatibility)
|
||||
self.write_id3v1.setObjectName("write_id3v1")
|
||||
self.vboxlayout2.addWidget(self.write_id3v1)
|
||||
self.vboxlayout.addWidget(self.tag_compatibility)
|
||||
self.aac_tags = QtWidgets.QGroupBox(TagsOptionsPage)
|
||||
self.aac_tags.setObjectName("aac_tags")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(self.aac_tags)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.aac_save_ape = QtWidgets.QRadioButton(self.aac_tags)
|
||||
self.aac_save_ape.setChecked(True)
|
||||
self.aac_save_ape.setObjectName("aac_save_ape")
|
||||
self.verticalLayout.addWidget(self.aac_save_ape)
|
||||
self.aac_no_tags = QtWidgets.QRadioButton(self.aac_tags)
|
||||
self.aac_no_tags.setObjectName("aac_no_tags")
|
||||
self.verticalLayout.addWidget(self.aac_no_tags)
|
||||
self.remove_ape_from_aac = QtWidgets.QCheckBox(self.aac_tags)
|
||||
self.remove_ape_from_aac.setObjectName("remove_ape_from_aac")
|
||||
self.verticalLayout.addWidget(self.remove_ape_from_aac)
|
||||
self.vboxlayout.addWidget(self.aac_tags)
|
||||
self.ac3_files = QtWidgets.QGroupBox(TagsOptionsPage)
|
||||
self.ac3_files.setObjectName("ac3_files")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.ac3_files)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.ac3_save_ape = QtWidgets.QRadioButton(self.ac3_files)
|
||||
self.ac3_save_ape.setChecked(True)
|
||||
self.ac3_save_ape.setObjectName("ac3_save_ape")
|
||||
self.verticalLayout_2.addWidget(self.ac3_save_ape)
|
||||
self.ac3_no_tags = QtWidgets.QRadioButton(self.ac3_files)
|
||||
self.ac3_no_tags.setObjectName("ac3_no_tags")
|
||||
self.verticalLayout_2.addWidget(self.ac3_no_tags)
|
||||
self.remove_ape_from_ac3 = QtWidgets.QCheckBox(self.ac3_files)
|
||||
self.remove_ape_from_ac3.setObjectName("remove_ape_from_ac3")
|
||||
self.verticalLayout_2.addWidget(self.remove_ape_from_ac3)
|
||||
self.vboxlayout.addWidget(self.ac3_files)
|
||||
spacerItem3 = QtWidgets.QSpacerItem(274, 41, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.vboxlayout.addItem(spacerItem3)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(274, 41, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.vboxlayout.addItem(spacerItem1)
|
||||
|
||||
self.retranslateUi(TagsOptionsPage)
|
||||
QtCore.QMetaObject.connectSlotsByName(TagsOptionsPage)
|
||||
@@ -170,13 +56,6 @@ class Ui_TagsOptionsPage(object):
|
||||
TagsOptionsPage.setTabOrder(self.clear_existing_tags, self.remove_id3_from_flac)
|
||||
TagsOptionsPage.setTabOrder(self.remove_id3_from_flac, self.remove_ape_from_mp3)
|
||||
TagsOptionsPage.setTabOrder(self.remove_ape_from_mp3, self.preserved_tags)
|
||||
TagsOptionsPage.setTabOrder(self.preserved_tags, self.write_id3v24)
|
||||
TagsOptionsPage.setTabOrder(self.write_id3v24, self.write_id3v23)
|
||||
TagsOptionsPage.setTabOrder(self.write_id3v23, self.enc_utf8)
|
||||
TagsOptionsPage.setTabOrder(self.enc_utf8, self.enc_utf16)
|
||||
TagsOptionsPage.setTabOrder(self.enc_utf16, self.enc_iso88591)
|
||||
TagsOptionsPage.setTabOrder(self.enc_iso88591, self.id3v23_join_with)
|
||||
TagsOptionsPage.setTabOrder(self.id3v23_join_with, self.write_id3v1)
|
||||
|
||||
def retranslateUi(self, TagsOptionsPage):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
@@ -188,23 +67,3 @@ class Ui_TagsOptionsPage(object):
|
||||
self.remove_ape_from_mp3.setText(_("Remove APEv2 tags from MP3 files"))
|
||||
self.preserved_tags_label.setText(_("Preserve these tags from being cleared or overwritten with MusicBrainz data:"))
|
||||
self.preserved_tags_help.setText(_("Tags are separated by commas, and are case-sensitive."))
|
||||
self.tag_compatibility.setTitle(_("Tag Compatibility"))
|
||||
self.id3v2_version.setTitle(_("ID3v2 Version"))
|
||||
self.write_id3v24.setText(_("2.4"))
|
||||
self.write_id3v23.setText(_("2.3"))
|
||||
self.id3v2_text_encoding.setTitle(_("ID3v2 Text Encoding"))
|
||||
self.enc_utf8.setText(_("UTF-8"))
|
||||
self.enc_utf16.setText(_("UTF-16"))
|
||||
self.enc_iso88591.setText(_("ISO-8859-1"))
|
||||
self.label_id3v23_join_with.setText(_("Join multiple ID3v2.3 tags with:"))
|
||||
self.id3v23_join_with.setToolTip(_("<html><head/><body><p>Default is \'/\' to maintain compatibility with previous Picard releases.</p><p>New alternatives are \';_\' or \'_/_\' or type your own. </p></body></html>"))
|
||||
self.itunes_compatible_grouping.setText(_("Save iTunes compatible grouping and work"))
|
||||
self.write_id3v1.setText(_("Also include ID3v1 tags in the files"))
|
||||
self.aac_tags.setTitle(_("AAC files"))
|
||||
self.aac_save_ape.setText(_("Save APEv2 tags"))
|
||||
self.aac_no_tags.setText(_("Do not save tags"))
|
||||
self.remove_ape_from_aac.setText(_("Remove APEv2 tags from AAC files"))
|
||||
self.ac3_files.setTitle(_("AC3 files"))
|
||||
self.ac3_save_ape.setText(_("Save APEv2 tags"))
|
||||
self.ac3_no_tags.setText(_("Do not save tags"))
|
||||
self.remove_ape_from_ac3.setText(_("Remove APEv2 tags from AC3 files"))
|
||||
|
||||
163
picard/ui/ui_options_tags_compatibility.py
Normal file
163
picard/ui/ui_options_tags_compatibility.py
Normal file
@@ -0,0 +1,163 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Automatically generated - don't edit.
|
||||
# Use `python setup.py build_ui` to update it.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_TagsCompatibilityOptionsPage(object):
|
||||
def setupUi(self, TagsCompatibilityOptionsPage):
|
||||
TagsCompatibilityOptionsPage.setObjectName("TagsCompatibilityOptionsPage")
|
||||
TagsCompatibilityOptionsPage.resize(539, 525)
|
||||
self.vboxlayout = QtWidgets.QVBoxLayout(TagsCompatibilityOptionsPage)
|
||||
self.vboxlayout.setObjectName("vboxlayout")
|
||||
self.tag_compatibility = QtWidgets.QGroupBox(TagsCompatibilityOptionsPage)
|
||||
self.tag_compatibility.setObjectName("tag_compatibility")
|
||||
self.vboxlayout1 = QtWidgets.QVBoxLayout(self.tag_compatibility)
|
||||
self.vboxlayout1.setContentsMargins(-1, 6, -1, 7)
|
||||
self.vboxlayout1.setSpacing(2)
|
||||
self.vboxlayout1.setObjectName("vboxlayout1")
|
||||
self.id3v2_version = QtWidgets.QGroupBox(self.tag_compatibility)
|
||||
self.id3v2_version.setFlat(False)
|
||||
self.id3v2_version.setCheckable(False)
|
||||
self.id3v2_version.setObjectName("id3v2_version")
|
||||
self.horizontalLayout = QtWidgets.QHBoxLayout(self.id3v2_version)
|
||||
self.horizontalLayout.setContentsMargins(-1, 6, -1, 7)
|
||||
self.horizontalLayout.setObjectName("horizontalLayout")
|
||||
self.write_id3v24 = QtWidgets.QRadioButton(self.id3v2_version)
|
||||
self.write_id3v24.setChecked(True)
|
||||
self.write_id3v24.setObjectName("write_id3v24")
|
||||
self.horizontalLayout.addWidget(self.write_id3v24)
|
||||
self.write_id3v23 = QtWidgets.QRadioButton(self.id3v2_version)
|
||||
self.write_id3v23.setChecked(False)
|
||||
self.write_id3v23.setObjectName("write_id3v23")
|
||||
self.horizontalLayout.addWidget(self.write_id3v23)
|
||||
self.label = QtWidgets.QLabel(self.id3v2_version)
|
||||
self.label.setText("")
|
||||
self.label.setWordWrap(True)
|
||||
self.label.setObjectName("label")
|
||||
self.horizontalLayout.addWidget(self.label)
|
||||
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout.addItem(spacerItem)
|
||||
self.vboxlayout1.addWidget(self.id3v2_version)
|
||||
self.id3v2_text_encoding = QtWidgets.QGroupBox(self.tag_compatibility)
|
||||
self.id3v2_text_encoding.setObjectName("id3v2_text_encoding")
|
||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.id3v2_text_encoding)
|
||||
self.horizontalLayout_2.setContentsMargins(-1, 6, -1, 7)
|
||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||
self.enc_utf8 = QtWidgets.QRadioButton(self.id3v2_text_encoding)
|
||||
self.enc_utf8.setObjectName("enc_utf8")
|
||||
self.horizontalLayout_2.addWidget(self.enc_utf8)
|
||||
self.enc_utf16 = QtWidgets.QRadioButton(self.id3v2_text_encoding)
|
||||
self.enc_utf16.setObjectName("enc_utf16")
|
||||
self.horizontalLayout_2.addWidget(self.enc_utf16)
|
||||
self.enc_iso88591 = QtWidgets.QRadioButton(self.id3v2_text_encoding)
|
||||
self.enc_iso88591.setObjectName("enc_iso88591")
|
||||
self.horizontalLayout_2.addWidget(self.enc_iso88591)
|
||||
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
|
||||
self.horizontalLayout_2.addItem(spacerItem1)
|
||||
self.label_2 = QtWidgets.QLabel(self.id3v2_text_encoding)
|
||||
self.label_2.setText("")
|
||||
self.label_2.setWordWrap(True)
|
||||
self.label_2.setObjectName("label_2")
|
||||
self.horizontalLayout_2.addWidget(self.label_2)
|
||||
self.vboxlayout1.addWidget(self.id3v2_text_encoding)
|
||||
self.hbox_id3v23_join_with = QtWidgets.QHBoxLayout()
|
||||
self.hbox_id3v23_join_with.setObjectName("hbox_id3v23_join_with")
|
||||
self.label_id3v23_join_with = QtWidgets.QLabel(self.tag_compatibility)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
|
||||
sizePolicy.setHorizontalStretch(4)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.label_id3v23_join_with.sizePolicy().hasHeightForWidth())
|
||||
self.label_id3v23_join_with.setSizePolicy(sizePolicy)
|
||||
self.label_id3v23_join_with.setObjectName("label_id3v23_join_with")
|
||||
self.hbox_id3v23_join_with.addWidget(self.label_id3v23_join_with)
|
||||
self.id3v23_join_with = QtWidgets.QComboBox(self.tag_compatibility)
|
||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
|
||||
sizePolicy.setHorizontalStretch(1)
|
||||
sizePolicy.setVerticalStretch(0)
|
||||
sizePolicy.setHeightForWidth(self.id3v23_join_with.sizePolicy().hasHeightForWidth())
|
||||
self.id3v23_join_with.setSizePolicy(sizePolicy)
|
||||
self.id3v23_join_with.setEditable(True)
|
||||
self.id3v23_join_with.setObjectName("id3v23_join_with")
|
||||
self.id3v23_join_with.addItem("")
|
||||
self.id3v23_join_with.setItemText(0, "/")
|
||||
self.id3v23_join_with.addItem("")
|
||||
self.id3v23_join_with.setItemText(1, "; ")
|
||||
self.id3v23_join_with.addItem("")
|
||||
self.id3v23_join_with.setItemText(2, " / ")
|
||||
self.hbox_id3v23_join_with.addWidget(self.id3v23_join_with)
|
||||
self.vboxlayout1.addLayout(self.hbox_id3v23_join_with)
|
||||
self.itunes_compatible_grouping = QtWidgets.QCheckBox(self.tag_compatibility)
|
||||
self.itunes_compatible_grouping.setObjectName("itunes_compatible_grouping")
|
||||
self.vboxlayout1.addWidget(self.itunes_compatible_grouping)
|
||||
self.write_id3v1 = QtWidgets.QCheckBox(self.tag_compatibility)
|
||||
self.write_id3v1.setObjectName("write_id3v1")
|
||||
self.vboxlayout1.addWidget(self.write_id3v1)
|
||||
self.vboxlayout.addWidget(self.tag_compatibility)
|
||||
self.aac_tags = QtWidgets.QGroupBox(TagsCompatibilityOptionsPage)
|
||||
self.aac_tags.setObjectName("aac_tags")
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(self.aac_tags)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.aac_save_ape = QtWidgets.QRadioButton(self.aac_tags)
|
||||
self.aac_save_ape.setChecked(True)
|
||||
self.aac_save_ape.setObjectName("aac_save_ape")
|
||||
self.verticalLayout.addWidget(self.aac_save_ape)
|
||||
self.aac_no_tags = QtWidgets.QRadioButton(self.aac_tags)
|
||||
self.aac_no_tags.setObjectName("aac_no_tags")
|
||||
self.verticalLayout.addWidget(self.aac_no_tags)
|
||||
self.remove_ape_from_aac = QtWidgets.QCheckBox(self.aac_tags)
|
||||
self.remove_ape_from_aac.setObjectName("remove_ape_from_aac")
|
||||
self.verticalLayout.addWidget(self.remove_ape_from_aac)
|
||||
self.vboxlayout.addWidget(self.aac_tags)
|
||||
self.ac3_files = QtWidgets.QGroupBox(TagsCompatibilityOptionsPage)
|
||||
self.ac3_files.setObjectName("ac3_files")
|
||||
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.ac3_files)
|
||||
self.verticalLayout_2.setObjectName("verticalLayout_2")
|
||||
self.ac3_save_ape = QtWidgets.QRadioButton(self.ac3_files)
|
||||
self.ac3_save_ape.setChecked(True)
|
||||
self.ac3_save_ape.setObjectName("ac3_save_ape")
|
||||
self.verticalLayout_2.addWidget(self.ac3_save_ape)
|
||||
self.ac3_no_tags = QtWidgets.QRadioButton(self.ac3_files)
|
||||
self.ac3_no_tags.setObjectName("ac3_no_tags")
|
||||
self.verticalLayout_2.addWidget(self.ac3_no_tags)
|
||||
self.remove_ape_from_ac3 = QtWidgets.QCheckBox(self.ac3_files)
|
||||
self.remove_ape_from_ac3.setObjectName("remove_ape_from_ac3")
|
||||
self.verticalLayout_2.addWidget(self.remove_ape_from_ac3)
|
||||
self.vboxlayout.addWidget(self.ac3_files)
|
||||
spacerItem2 = QtWidgets.QSpacerItem(274, 41, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
|
||||
self.vboxlayout.addItem(spacerItem2)
|
||||
|
||||
self.retranslateUi(TagsCompatibilityOptionsPage)
|
||||
QtCore.QMetaObject.connectSlotsByName(TagsCompatibilityOptionsPage)
|
||||
TagsCompatibilityOptionsPage.setTabOrder(self.write_id3v24, self.write_id3v23)
|
||||
TagsCompatibilityOptionsPage.setTabOrder(self.write_id3v23, self.enc_utf8)
|
||||
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)
|
||||
|
||||
def retranslateUi(self, TagsCompatibilityOptionsPage):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
self.tag_compatibility.setTitle(_("ID3"))
|
||||
self.id3v2_version.setTitle(_("ID3v2 Version"))
|
||||
self.write_id3v24.setText(_("2.4"))
|
||||
self.write_id3v23.setText(_("2.3"))
|
||||
self.id3v2_text_encoding.setTitle(_("ID3v2 Text Encoding"))
|
||||
self.enc_utf8.setText(_("UTF-8"))
|
||||
self.enc_utf16.setText(_("UTF-16"))
|
||||
self.enc_iso88591.setText(_("ISO-8859-1"))
|
||||
self.label_id3v23_join_with.setText(_("Join multiple ID3v2.3 tags with:"))
|
||||
self.id3v23_join_with.setToolTip(_("<html><head/><body><p>Default is \'/\' to maintain compatibility with previous Picard releases.</p><p>New alternatives are \';_\' or \'_/_\' or type your own. </p></body></html>"))
|
||||
self.itunes_compatible_grouping.setText(_("Save iTunes compatible grouping and work"))
|
||||
self.write_id3v1.setText(_("Also include ID3v1 tags in the files"))
|
||||
self.aac_tags.setTitle(_("AAC files"))
|
||||
self.aac_save_ape.setText(_("Save APEv2 tags"))
|
||||
self.aac_no_tags.setText(_("Do not save tags"))
|
||||
self.remove_ape_from_aac.setText(_("Remove APEv2 tags from AAC files"))
|
||||
self.ac3_files.setTitle(_("AC3 files"))
|
||||
self.ac3_save_ape.setText(_("Save APEv2 tags"))
|
||||
self.ac3_no_tags.setText(_("Do not save tags"))
|
||||
self.remove_ape_from_ac3.setText(_("Remove APEv2 tags from AC3 files"))
|
||||
@@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>539</width>
|
||||
<height>633</height>
|
||||
<height>525</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout">
|
||||
@@ -97,275 +97,6 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="tag_compatibility">
|
||||
<property name="title">
|
||||
<string>Tag Compatibility</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout">
|
||||
<property name="spacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="id3v2_version">
|
||||
<property name="title">
|
||||
<string>ID3v2 Version</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="write_id3v24">
|
||||
<property name="text">
|
||||
<string>2.4</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="write_id3v23">
|
||||
<property name="text">
|
||||
<string>2.3</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="id3v2_text_encoding">
|
||||
<property name="title">
|
||||
<string>ID3v2 Text Encoding</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="enc_utf8">
|
||||
<property name="text">
|
||||
<string>UTF-8</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="enc_utf16">
|
||||
<property name="text">
|
||||
<string>UTF-16</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="enc_iso88591">
|
||||
<property name="text">
|
||||
<string>ISO-8859-1</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="hbox_id3v23_join_with">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_id3v23_join_with">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>4</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Join multiple ID3v2.3 tags with:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="id3v23_join_with">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Default is '/' to maintain compatibility with previous Picard releases.</p><p>New alternatives are ';_' or '_/_' or type your own. </p></body></html></string>
|
||||
</property>
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true">/</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true">; </string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true"> / </string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="itunes_compatible_grouping">
|
||||
<property name="text">
|
||||
<string>Save iTunes compatible grouping and work</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="write_id3v1">
|
||||
<property name="text">
|
||||
<string>Also include ID3v1 tags in the files</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="aac_tags">
|
||||
<property name="title">
|
||||
<string>AAC files</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="aac_save_ape">
|
||||
<property name="text">
|
||||
<string>Save APEv2 tags</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="aac_no_tags">
|
||||
<property name="text">
|
||||
<string>Do not save tags</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="remove_ape_from_aac">
|
||||
<property name="text">
|
||||
<string>Remove APEv2 tags from AAC files</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="ac3_files">
|
||||
<property name="title">
|
||||
<string>AC3 files</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="ac3_save_ape">
|
||||
<property name="text">
|
||||
<string>Save APEv2 tags</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="ac3_no_tags">
|
||||
<property name="text">
|
||||
<string>Do not save tags</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="remove_ape_from_ac3">
|
||||
<property name="text">
|
||||
<string>Remove APEv2 tags from AC3 files</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="spacer">
|
||||
<property name="orientation">
|
||||
@@ -388,13 +119,6 @@
|
||||
<tabstop>remove_id3_from_flac</tabstop>
|
||||
<tabstop>remove_ape_from_mp3</tabstop>
|
||||
<tabstop>preserved_tags</tabstop>
|
||||
<tabstop>write_id3v24</tabstop>
|
||||
<tabstop>write_id3v23</tabstop>
|
||||
<tabstop>enc_utf8</tabstop>
|
||||
<tabstop>enc_utf16</tabstop>
|
||||
<tabstop>enc_iso88591</tabstop>
|
||||
<tabstop>id3v23_join_with</tabstop>
|
||||
<tabstop>write_id3v1</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
||||
309
ui/options_tags_compatibility.ui
Normal file
309
ui/options_tags_compatibility.ui
Normal file
@@ -0,0 +1,309 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>TagsCompatibilityOptionsPage</class>
|
||||
<widget class="QWidget" name="TagsCompatibilityOptionsPage">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>539</width>
|
||||
<height>525</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="tag_compatibility">
|
||||
<property name="title">
|
||||
<string>ID3</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout">
|
||||
<property name="spacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="id3v2_version">
|
||||
<property name="title">
|
||||
<string>ID3v2 Version</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="write_id3v24">
|
||||
<property name="text">
|
||||
<string>2.4</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="write_id3v23">
|
||||
<property name="text">
|
||||
<string>2.3</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="id3v2_text_encoding">
|
||||
<property name="title">
|
||||
<string>ID3v2 Text Encoding</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="topMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>7</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="enc_utf8">
|
||||
<property name="text">
|
||||
<string>UTF-8</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="enc_utf16">
|
||||
<property name="text">
|
||||
<string>UTF-16</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="enc_iso88591">
|
||||
<property name="text">
|
||||
<string>ISO-8859-1</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="hbox_id3v23_join_with">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_id3v23_join_with">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>4</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Join multiple ID3v2.3 tags with:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="id3v23_join_with">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Default is '/' to maintain compatibility with previous Picard releases.</p><p>New alternatives are ';_' or '_/_' or type your own. </p></body></html></string>
|
||||
</property>
|
||||
<property name="editable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true">/</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true">; </string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string notr="true"> / </string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="itunes_compatible_grouping">
|
||||
<property name="text">
|
||||
<string>Save iTunes compatible grouping and work</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="write_id3v1">
|
||||
<property name="text">
|
||||
<string>Also include ID3v1 tags in the files</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="aac_tags">
|
||||
<property name="title">
|
||||
<string>AAC files</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="aac_save_ape">
|
||||
<property name="text">
|
||||
<string>Save APEv2 tags</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="aac_no_tags">
|
||||
<property name="text">
|
||||
<string>Do not save tags</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="remove_ape_from_aac">
|
||||
<property name="text">
|
||||
<string>Remove APEv2 tags from AAC files</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="ac3_files">
|
||||
<property name="title">
|
||||
<string>AC3 files</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="ac3_save_ape">
|
||||
<property name="text">
|
||||
<string>Save APEv2 tags</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="ac3_no_tags">
|
||||
<property name="text">
|
||||
<string>Do not save tags</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="remove_ape_from_ac3">
|
||||
<property name="text">
|
||||
<string>Remove APEv2 tags from AC3 files</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="spacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>274</width>
|
||||
<height>41</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>write_id3v24</tabstop>
|
||||
<tabstop>write_id3v23</tabstop>
|
||||
<tabstop>enc_utf8</tabstop>
|
||||
<tabstop>enc_utf16</tabstop>
|
||||
<tabstop>enc_iso88591</tabstop>
|
||||
<tabstop>id3v23_join_with</tabstop>
|
||||
<tabstop>write_id3v1</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
Reference in New Issue
Block a user