From a25d93dff2a8c50637d929c172a2582a9c0bbd9f Mon Sep 17 00:00:00 2001 From: John Schember Date: Sat, 8 Aug 2009 15:31:40 -0400 Subject: [PATCH] Copy to clipboard button on message dialogs. --- src/calibre/ebooks/fb2/fb2ml.py | 1 - src/calibre/gui2/__init__.py | 26 +++++++++++++++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/calibre/ebooks/fb2/fb2ml.py b/src/calibre/ebooks/fb2/fb2ml.py index c77cb876f8..5d84c78e60 100644 --- a/src/calibre/ebooks/fb2/fb2ml.py +++ b/src/calibre/ebooks/fb2/fb2ml.py @@ -153,7 +153,6 @@ class FB2MLizer(object): if page.abshref(elem.attrib['src']) not in self.image_hrefs.keys(): self.image_hrefs[page.abshref(elem.attrib['src'])] = '%s.jpg' % len(self.image_hrefs.keys()) fb2_text += '' % self.image_hrefs[page.abshref(elem.attrib['src'])] - fb2_tag = TAG_MAP.get(tag, None) if fb2_tag and fb2_tag not in tag_stack: diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 68a582d42e..6a865ad109 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -5,7 +5,7 @@ import os from PyQt4.QtCore import QVariant, QFileInfo, QObject, SIGNAL, QBuffer, Qt, QSize, \ QByteArray, QUrl, QTranslator, QCoreApplication, QThread from PyQt4.QtGui import QFileDialog, QMessageBox, QPixmap, QFileIconProvider, \ - QIcon, QTableView, QApplication, QDialog + QIcon, QTableView, QApplication, QDialog, QPushButton ORG_NAME = 'KovidsBrain' APP_UID = 'libprs500' @@ -108,7 +108,11 @@ def warning_dialog(parent, title, msg, det_msg='', show=False): parent) d.setDetailedText(det_msg) d.setIconPixmap(QPixmap(':/images/dialog_warning.svg')) - QApplication.clipboard().setText('%s - %s: %s' % (title, msg, det_msg)) + clipboard_button = QPushButton(_('Copy to Clipboard')) + d.layout().addWidget(clipboard_button) + def copy_to_clipboard(): + QApplication.clipboard().setText('%s - %s: %s' % (title, msg, det_msg)) + d.connect(clipboard_button, SIGNAL('clicked()'), copy_to_clipboard) if show: return d.exec_() return d @@ -118,7 +122,11 @@ def error_dialog(parent, title, msg, det_msg='', show=False): parent) d.setDetailedText(det_msg) d.setIconPixmap(QPixmap(':/images/dialog_error.svg')) - QApplication.clipboard().setText('%s - %s: %s' % (title, msg, det_msg)) + clipboard_button = QPushButton(_('Copy to Clipboard')) + d.layout().addWidget(clipboard_button) + def copy_to_clipboard(): + QApplication.clipboard().setText('%s - %s: %s' % (title, msg, det_msg)) + d.connect(clipboard_button, SIGNAL('clicked()'), copy_to_clipboard) if show: return d.exec_() return d @@ -128,7 +136,11 @@ def question_dialog(parent, title, msg, det_msg=''): parent) d.setDetailedText(det_msg) d.setIconPixmap(QPixmap(':/images/dialog_information.svg')) - QApplication.clipboard().setText('%s - %s: %s' % (title, msg, det_msg)) + clipboard_button = QPushButton(_('Copy to Clipboard')) + d.layout().addWidget(clipboard_button) + def copy_to_clipboard(): + QApplication.clipboard().setText('%s - %s: %s' % (title, msg, det_msg)) + d.connect(clipboard_button, SIGNAL('clicked()'), copy_to_clipboard) return d.exec_() == QMessageBox.Yes def info_dialog(parent, title, msg, det_msg='', show=False): @@ -136,7 +148,11 @@ def info_dialog(parent, title, msg, det_msg='', show=False): parent) d.setDetailedText(det_msg) d.setIconPixmap(QPixmap(':/images/dialog_information.svg')) - QApplication.clipboard().setText('%s - %s: %s' % (title, msg, det_msg)) + clipboard_button = QPushButton(_('Copy to Clipboard')) + d.layout().addWidget(clipboard_button) + def copy_to_clipboard(): + QApplication.clipboard().setText('%s - %s: %s' % (title, msg, det_msg)) + d.connect(clipboard_button, SIGNAL('clicked()'), copy_to_clipboard) if show: return d.exec_() return d