back to checkboxes

This commit is contained in:
Wieland Hoffmann
2011-12-13 12:30:50 +01:00
parent e96bed2154
commit bdbfaa4b72
3 changed files with 81 additions and 100 deletions

View File

@@ -59,10 +59,12 @@ class RenamingOptionsPage(OptionsPage):
self.connect(self.ui.ascii_filenames, QtCore.SIGNAL("clicked()"), self.update_examples)
self.connect(self.ui.windows_compatible_filenames, QtCore.SIGNAL("clicked()"), self.update_examples)
self.connect(self.ui.use_va_format, QtCore.SIGNAL("clicked()"), self.update_examples)
self.connect(self.ui.action_box,
QtCore.SIGNAL("currentIndexChanged(int)"), self.update_examples)
self.connect(self.ui.action_box,
QtCore.SIGNAL("currentIndexChanged(int)"),
self.connect(self.ui.rename_files, QtCore.SIGNAL("clicked()"), self.update_examples)
self.connect(self.ui.move_files, QtCore.SIGNAL("clicked()"), self.update_examples)
self.connect(self.ui.rename_files, QtCore.SIGNAL("clicked()"),
self.update_enabling)
self.connect(self.ui.move_files, QtCore.SIGNAL("clicked()"),
self.update_enabling)
self.connect(self.ui.file_naming_format, QtCore.SIGNAL("textChanged()"), self.check_formats)
@@ -80,26 +82,26 @@ class RenamingOptionsPage(OptionsPage):
self.va_test()
self.update_examples()
def update_enabling(self, index):
self.ui.ascii_filenames.setEnabled(index > 0)
self.ui.delete_empty_dirs.setEnabled(index == 2)
self.ui.move_files_to.setEnabled(index == 2)
self.ui.move_files_to_browse.setEnabled(index == 2)
self.ui.move_additional_files.setEnabled(index == 2)
self.ui.move_additional_files_pattern.setEnabled(index == 2)
self.ui.file_naming_format.setEnabled(index > 0)
self.ui.file_naming_format_default.setEnabled(index > 0)
self.ui.use_va_format.setEnabled(index > 0)
self.ui.va_file_naming_format.setEnabled(index > 0)
self.ui.va_file_naming_format_default.setEnabled(index > 0)
self.ui.windows_compatible_filenames.setEnabled(index > 0)
def update_enabling(self):
self.ui.ascii_filenames.setEnabled(self.ui.rename_files.isChecked())
self.ui.delete_empty_dirs.setEnabled(self.ui.move_files.isChecked())
self.ui.move_files_to.setEnabled(self.ui.move_files.isChecked())
self.ui.move_files_to_browse.setEnabled(self.ui.move_files.isChecked())
self.ui.move_additional_files.setEnabled(self.ui.move_files.isChecked())
self.ui.move_additional_files_pattern.setEnabled(self.ui.move_files.isChecked())
self.ui.file_naming_format.setEnabled(self.ui.rename_files.isChecked())
self.ui.file_naming_format_default.setEnabled(self.ui.rename_files.isChecked())
self.ui.use_va_format.setEnabled(self.ui.rename_files.isChecked())
self.ui.va_file_naming_format.setEnabled(self.ui.rename_files.isChecked())
self.ui.va_file_naming_format_default.setEnabled(self.ui.rename_files.isChecked())
self.ui.windows_compatible_filenames.setEnabled(self.ui.rename_files.isChecked())
def _example_to_filename(self, file):
settings = {
'windows_compatible_filenames': self.ui.windows_compatible_filenames.isChecked(),
'ascii_filenames': self.ui.ascii_filenames.isChecked(),
'rename_files': self.ui.action_box.currentIndex() > 0,
'move_files': self.ui.action_box.currentIndex() == 2,
'rename_files': self.ui.rename_files.isChecked(),
'move_files': self.ui.move_files.isChecked(),
'use_va_format': self.ui.use_va_format.isChecked(),
'file_naming_format': unicode(self.ui.file_naming_format.toPlainText()),
'va_file_naming_format': unicode(self.ui.va_file_naming_format.toPlainText()),
@@ -133,11 +135,7 @@ class RenamingOptionsPage(OptionsPage):
self.ui.ascii_filenames.setChecked(self.config.setting["ascii_filenames"])
self.ui.file_naming_format.setPlainText(self.config.setting["file_naming_format"])
self.ui.va_file_naming_format.setPlainText(self.config.setting["va_file_naming_format"])
self.update_enabling(0)
if self.config.setting["rename_files"]:
self.ui.action_box.setCurrentIndex(1)
if self.config.setting["move_files"]:
self.ui.action_box.setCurrentIndex(2)
self.update_enabling()
self.ui.move_files_to.setText(self.config.setting["move_files_to"])
self.ui.move_files_to.setCursorPosition(0)
self.ui.move_additional_files.setChecked(self.config.setting["move_additional_files"])
@@ -148,7 +146,7 @@ class RenamingOptionsPage(OptionsPage):
def check(self):
self.check_format()
self.check_va_format()
if self.ui.action_box.currentIndex() == 2 and not unicode(self.ui.move_files_to.text()).strip():
if self.ui.move_files.isChecked() and not unicode(self.ui.move_files_to.text()).strip():
raise OptionsCheckError(_("Error"), _("The location to move files to must not be empty."))
def check_format(self):
@@ -157,7 +155,7 @@ class RenamingOptionsPage(OptionsPage):
parser.eval(unicode(self.ui.file_naming_format.toPlainText()))
except Exception, e:
raise OptionsCheckError("", str(e))
if self.ui.action_box.currentIndex() > 0:
if self.ui.rename_files.isChecked():
if not unicode(self.ui.file_naming_format.toPlainText()).strip():
raise OptionsCheckError("", _("The file naming format must not be empty."))
@@ -167,7 +165,7 @@ class RenamingOptionsPage(OptionsPage):
parser.eval(unicode(self.ui.va_file_naming_format.toPlainText()))
except Exception, e:
raise OptionsCheckError("", str(e))
if self.ui.action_box.currentIndex() > 0:
if self.ui.rename_files.isChecked():
if self.ui.use_va_format.isChecked() and not unicode(self.ui.va_file_naming_format.toPlainText()).strip():
raise OptionsCheckError("", _("The multiple artist file naming format must not be empty."))
@@ -175,11 +173,11 @@ class RenamingOptionsPage(OptionsPage):
self.config.setting["use_va_format"] = self.ui.use_va_format.isChecked()
self.config.setting["windows_compatible_filenames"] = self.ui.windows_compatible_filenames.isChecked()
self.config.setting["ascii_filenames"] = self.ui.ascii_filenames.isChecked()
self.config.setting["rename_files"] = self.ui.action_box.currentIndex() == 1
self.config.setting["rename_files"] = self.ui.rename_files.isChecked()
self.config.setting["file_naming_format"] = unicode(self.ui.file_naming_format.toPlainText())
self.config.setting["va_file_naming_format"] = unicode(self.ui.va_file_naming_format.toPlainText())
self.tagger.window.enable_renaming_action.setChecked(self.config.setting["rename_files"])
self.config.setting["move_files"] = self.ui.action_box.currentIndex() == 2
self.config.setting["move_files"] = self.ui.move_files.isChecked()
self.config.setting["move_files_to"] = os.path.normpath(unicode(self.ui.move_files_to.text()))
self.config.setting["move_additional_files"] = self.ui.move_additional_files.isChecked()
self.config.setting["move_additional_files_pattern"] = unicode(self.ui.move_additional_files_pattern.text())

View File

@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'ui/options_renaming.ui'
#
# Created: Tue Dec 13 10:11:55 2011
# Created: Tue Dec 13 12:20:24 2011
# by: PyQt4 UI code generator 4.8.6
#
# WARNING! All changes made in this file will be lost!
@@ -27,22 +27,29 @@ class Ui_RenamingOptionsPage(object):
RenamingOptionsPage.setWindowTitle(_fromUtf8(""))
self.vboxlayout = QtGui.QVBoxLayout(RenamingOptionsPage)
self.vboxlayout.setObjectName(_fromUtf8("vboxlayout"))
self.horizontalLayout = QtGui.QHBoxLayout()
self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
self.label = QtGui.QLabel(RenamingOptionsPage)
self.label.setText(QtGui.QApplication.translate("RenamingOptionsPage", "When saving files", None, QtGui.QApplication.UnicodeUTF8))
self.label.setObjectName(_fromUtf8("label"))
self.horizontalLayout.addWidget(self.label)
self.action_box = QtGui.QComboBox(RenamingOptionsPage)
self.action_box.setObjectName(_fromUtf8("action_box"))
self.action_box.addItem(_fromUtf8(""))
self.action_box.setItemText(0, QtGui.QApplication.translate("RenamingOptionsPage", "Do nothing", None, QtGui.QApplication.UnicodeUTF8))
self.action_box.addItem(_fromUtf8(""))
self.action_box.setItemText(1, QtGui.QApplication.translate("RenamingOptionsPage", "Rename files", None, QtGui.QApplication.UnicodeUTF8))
self.action_box.addItem(_fromUtf8(""))
self.action_box.setItemText(2, QtGui.QApplication.translate("RenamingOptionsPage", "Move files", None, QtGui.QApplication.UnicodeUTF8))
self.horizontalLayout.addWidget(self.action_box)
self.vboxlayout.addLayout(self.horizontalLayout)
self.gridLayout = QtGui.QGridLayout()
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.rename_files = QtGui.QCheckBox(RenamingOptionsPage)
self.rename_files.setText(QtGui.QApplication.translate("RenamingOptionsPage", "Rename files when saving", None, QtGui.QApplication.UnicodeUTF8))
self.rename_files.setObjectName(_fromUtf8("rename_files"))
self.gridLayout.addWidget(self.rename_files, 0, 0, 1, 1)
self.ascii_filenames = QtGui.QCheckBox(RenamingOptionsPage)
self.ascii_filenames.setText(QtGui.QApplication.translate("RenamingOptionsPage", "Replace non-ASCII characters", None, QtGui.QApplication.UnicodeUTF8))
self.ascii_filenames.setObjectName(_fromUtf8("ascii_filenames"))
self.gridLayout.addWidget(self.ascii_filenames, 1, 1, 1, 1)
self.move_files = QtGui.QCheckBox(RenamingOptionsPage)
self.move_files.setText(QtGui.QApplication.translate("RenamingOptionsPage", "Move files to this directory when saving:", None, QtGui.QApplication.UnicodeUTF8))
self.move_files.setObjectName(_fromUtf8("move_files"))
self.gridLayout.addWidget(self.move_files, 2, 0, 1, 1)
self.windows_compatible_filenames = QtGui.QCheckBox(RenamingOptionsPage)
self.windows_compatible_filenames.setText(QtGui.QApplication.translate("RenamingOptionsPage", "Replace Windows-incompatible characters", None, QtGui.QApplication.UnicodeUTF8))
self.windows_compatible_filenames.setObjectName(_fromUtf8("windows_compatible_filenames"))
self.gridLayout.addWidget(self.windows_compatible_filenames, 1, 0, 1, 1)
self.delete_empty_dirs = QtGui.QCheckBox(RenamingOptionsPage)
self.delete_empty_dirs.setText(QtGui.QApplication.translate("RenamingOptionsPage", "Delete empty directories", None, QtGui.QApplication.UnicodeUTF8))
self.delete_empty_dirs.setObjectName(_fromUtf8("delete_empty_dirs"))
self.gridLayout.addWidget(self.delete_empty_dirs, 2, 1, 1, 1)
self.vboxlayout.addLayout(self.gridLayout)
self.horizontalLayout_4 = QtGui.QHBoxLayout()
self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
self.move_files_to = QtGui.QLineEdit(RenamingOptionsPage)
@@ -62,18 +69,6 @@ class Ui_RenamingOptionsPage(object):
self.move_additional_files_pattern = QtGui.QLineEdit(RenamingOptionsPage)
self.move_additional_files_pattern.setObjectName(_fromUtf8("move_additional_files_pattern"))
self.vboxlayout.addWidget(self.move_additional_files_pattern)
self.delete_empty_dirs = QtGui.QCheckBox(RenamingOptionsPage)
self.delete_empty_dirs.setText(QtGui.QApplication.translate("RenamingOptionsPage", "Delete empty directories", None, QtGui.QApplication.UnicodeUTF8))
self.delete_empty_dirs.setObjectName(_fromUtf8("delete_empty_dirs"))
self.vboxlayout.addWidget(self.delete_empty_dirs)
self.ascii_filenames = QtGui.QCheckBox(RenamingOptionsPage)
self.ascii_filenames.setText(QtGui.QApplication.translate("RenamingOptionsPage", "Replace non-ASCII characters", None, QtGui.QApplication.UnicodeUTF8))
self.ascii_filenames.setObjectName(_fromUtf8("ascii_filenames"))
self.vboxlayout.addWidget(self.ascii_filenames)
self.windows_compatible_filenames = QtGui.QCheckBox(RenamingOptionsPage)
self.windows_compatible_filenames.setText(QtGui.QApplication.translate("RenamingOptionsPage", "Replace Windows-incompatible characters", None, QtGui.QApplication.UnicodeUTF8))
self.windows_compatible_filenames.setObjectName(_fromUtf8("windows_compatible_filenames"))
self.vboxlayout.addWidget(self.windows_compatible_filenames)
self.groupBox = QtGui.QGroupBox(RenamingOptionsPage)
self.groupBox.setTitle(QtGui.QApplication.translate("RenamingOptionsPage", "Name files like this", None, QtGui.QApplication.UnicodeUTF8))
self.groupBox.setFlat(False)

View File

@@ -24,31 +24,40 @@
</property>
<layout class="QVBoxLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QCheckBox" name="rename_files">
<property name="text">
<string>When saving files</string>
<string>Rename files when saving</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="action_box">
<item>
<property name="text">
<string>Do nothing</string>
</property>
</item>
<item>
<property name="text">
<string>Rename files</string>
</property>
</item>
<item>
<property name="text">
<string>Move files</string>
</property>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="ascii_filenames">
<property name="text">
<string>Replace non-ASCII characters</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="move_files">
<property name="text">
<string>Move files to this directory when saving:</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="windows_compatible_filenames">
<property name="text">
<string>Replace Windows-incompatible characters</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="delete_empty_dirs">
<property name="text">
<string>Delete empty directories</string>
</property>
</widget>
</item>
</layout>
@@ -84,27 +93,6 @@
<item>
<widget class="QLineEdit" name="move_additional_files_pattern"/>
</item>
<item>
<widget class="QCheckBox" name="delete_empty_dirs">
<property name="text">
<string>Delete empty directories</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ascii_filenames">
<property name="text">
<string>Replace non-ASCII characters</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="windows_compatible_filenames">
<property name="text">
<string>Replace Windows-incompatible characters</string>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">