X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=gui%2Fqt%2Fqrcodewidget.py;h=6866686ad78deb101a519d1acfec0251cf0ad513;hb=d2cad7bbbbfa1b6b175ec39de36a76453192137d;hp=b1033af7bf55613b1af219e56800cbd0bb52aea2;hpb=f5a76f7dcf152c523933a60d4d41330f7e7dd7c0;p=electrum-nvc.git diff --git a/gui/qt/qrcodewidget.py b/gui/qt/qrcodewidget.py index b1033af..6866686 100644 --- a/gui/qt/qrcodewidget.py +++ b/gui/qt/qrcodewidget.py @@ -82,3 +82,56 @@ class QRCodeWidget(QWidget): qp.drawRect(left+c*boxsize, top+r*boxsize, boxsize, boxsize) qp.end() + +import os +from electrum.i18n import _ + +class QRDialog(QDialog): + + def __init__(self, data, parent=None, title = "", show_text=False): + QDialog.__init__(self, parent) + + d = self + d.setModal(1) + d.setWindowTitle(title) + d.setMinimumSize(270, 300) + vbox = QVBoxLayout() + qrw = QRCodeWidget(data) + vbox.addWidget(qrw, 1) + if show_text: + text = QTextEdit() + text.setText(data) + text.setReadOnly(True) + vbox.addWidget(text) + hbox = QHBoxLayout() + hbox.addStretch(1) + + if parent: + self.config = parent.config + filename = os.path.join(self.config.path, "qrcode.bmp") + + def print_qr(): + bmp.save_qrcode(qrw.qr, filename) + QMessageBox.information(None, _('Message'), _("QR code saved to file") + " " + filename, _('OK')) + + def copy_to_clipboard(): + bmp.save_qrcode(qrw.qr, filename) + self.parent().app.clipboard().setImage(QImage(filename)) + QMessageBox.information(None, _('Message'), _("QR code saved to clipboard"), _('OK')) + + b = QPushButton(_("Copy")) + hbox.addWidget(b) + b.clicked.connect(copy_to_clipboard) + + b = QPushButton(_("Save")) + hbox.addWidget(b) + b.clicked.connect(print_qr) + + b = QPushButton(_("Close")) + hbox.addWidget(b) + b.clicked.connect(d.accept) + b.setDefault(True) + + vbox.addLayout(hbox) + d.setLayout(vbox) +