diff --git a/picard/ui/options/renaming.py b/picard/ui/options/renaming.py index d6d7c2685..e2f32b357 100644 --- a/picard/ui/options/renaming.py +++ b/picard/ui/options/renaming.py @@ -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()) diff --git a/picard/ui/ui_options_renaming.py b/picard/ui/ui_options_renaming.py index 9ba5594f1..093e6bdd2 100644 --- a/picard/ui/ui_options_renaming.py +++ b/picard/ui/ui_options_renaming.py @@ -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) diff --git a/ui/options_renaming.ui b/ui/options_renaming.ui index 9936e4d1f..23b2856f3 100644 --- a/ui/options_renaming.ui +++ b/ui/options_renaming.ui @@ -24,31 +24,40 @@ - - - + + + - When saving files + Rename files when saving - - - - - Do nothing - - - - - Rename files - - - - - Move files - - + + + + Replace non-ASCII characters + + + + + + + Move files to this directory when saving: + + + + + + + Replace Windows-incompatible characters + + + + + + + Delete empty directories + @@ -84,27 +93,6 @@ - - - - Delete empty directories - - - - - - - Replace non-ASCII characters - - - - - - - Replace Windows-incompatible characters - - -