From 98309d2b02a45804fde4855c05ddbddee7360b15 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Sat, 24 Sep 2011 17:53:14 +0200 Subject: [PATCH] Add a color chooser (copy color name to clipboard) to the advanced coloring template editor --- src/calibre/gui2/dialogs/template_dialog.py | 13 ++++++++- src/calibre/gui2/dialogs/template_dialog.ui | 31 +++++++++++++++++++-- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/src/calibre/gui2/dialogs/template_dialog.py b/src/calibre/gui2/dialogs/template_dialog.py index 9b31c3c929..f02678363b 100644 --- a/src/calibre/gui2/dialogs/template_dialog.py +++ b/src/calibre/gui2/dialogs/template_dialog.py @@ -207,10 +207,15 @@ class TemplateDialog(QDialog, Ui_TemplateDialog): cols = sorted([k for k in displayable_columns(fm)]) self.colored_field.addItems(cols) self.colored_field.setCurrentIndex(self.colored_field.findText(color_field)) + colors = QColor.colorNames() + colors.sort() + self.color_name.addItems(colors) else: self.colored_field.setVisible(False) self.colored_field_label.setVisible(False) - + self.color_chooser_label.setVisible(False) + self.color_name.setVisible(False) + self.color_copy_button.setVisible(False) if mi: self.mi = mi else: @@ -235,6 +240,7 @@ class TemplateDialog(QDialog, Ui_TemplateDialog): self.textbox.setPlainText(text) self.buttonBox.button(QDialogButtonBox.Ok).setText(_('&OK')) self.buttonBox.button(QDialogButtonBox.Cancel).setText(_('&Cancel')) + self.color_copy_button.clicked.connect(self.color_to_clipboard) try: with open(P('template-functions.json'), 'rb') as f: @@ -263,6 +269,11 @@ class TemplateDialog(QDialog, Ui_TemplateDialog): '' '%s'%tt) + def color_to_clipboard(self): + app = QApplication.instance() + c = app.clipboard() + c.setText(unicode(self.color_name.currentText())) + def textbox_changed(self): cur_text = unicode(self.textbox.toPlainText()) if self.last_text != cur_text: diff --git a/src/calibre/gui2/dialogs/template_dialog.ui b/src/calibre/gui2/dialogs/template_dialog.ui index 674100fe04..9037e70b94 100644 --- a/src/calibre/gui2/dialogs/template_dialog.ui +++ b/src/calibre/gui2/dialogs/template_dialog.ui @@ -21,8 +21,8 @@ - - + + Set the color of the column: @@ -32,10 +32,35 @@ - + + + + + Copy a color name to the clipboard: + + + color_name + + + + + + + + + + + + :/images/edit-copy.png:/images/edit-copy.png + + + Copy the selected color name to the clipboard + + +