Browse Source

util: more code-style cleanup

master
Sander van Grieken 2 years ago
parent
commit
d917c27a31
No known key found for this signature in database
GPG Key ID: 9BCF8209EA402EBA
  1. 45
      electrum/gui/qt/util.py

45
electrum/gui/qt/util.py

@ -15,7 +15,7 @@ from PyQt5.QtCore import (Qt, pyqtSignal, QCoreApplication, QThread, QSize, QRec
from PyQt5.QtWidgets import (QPushButton, QLabel, QMessageBox, QHBoxLayout, QVBoxLayout, QLineEdit,
QStyle, QDialog, QGroupBox, QButtonGroup, QRadioButton,
QFileDialog, QWidget, QToolButton, QPlainTextEdit, QApplication, QToolTip,
QGraphicsEffect, QGraphicsScene, QGraphicsPixmapItem)
QGraphicsEffect, QGraphicsScene, QGraphicsPixmapItem, QLayoutItem, QLayout, QMenu)
from electrum.i18n import _
from electrum.util import FileImportFailed, FileExportFailed, resource_path
@ -45,16 +45,16 @@ _logger = get_logger(__name__)
dialogs = []
pr_icons = {
PR_UNKNOWN:"warning.png",
PR_UNPAID:"unpaid.png",
PR_PAID:"confirmed.png",
PR_EXPIRED:"expired.png",
PR_INFLIGHT:"unconfirmed.png",
PR_FAILED:"warning.png",
PR_ROUTING:"unconfirmed.png",
PR_UNCONFIRMED:"unconfirmed.png",
PR_BROADCASTING:"unconfirmed.png",
PR_BROADCAST:"unconfirmed.png",
PR_UNKNOWN: "warning.png",
PR_UNPAID: "unpaid.png",
PR_PAID: "confirmed.png",
PR_EXPIRED: "expired.png",
PR_INFLIGHT: "unconfirmed.png",
PR_FAILED: "warning.png",
PR_ROUTING: "unconfirmed.png",
PR_UNCONFIRMED: "unconfirmed.png",
PR_BROADCASTING: "unconfirmed.png",
PR_BROADCAST: "unconfirmed.png",
}
@ -190,17 +190,20 @@ class Buttons(QHBoxLayout):
continue
self.addWidget(b)
class CloseButton(QPushButton):
def __init__(self, dialog):
QPushButton.__init__(self, _("Close"))
self.clicked.connect(dialog.close)
self.setDefault(True)
class CopyButton(QPushButton):
def __init__(self, text_getter, app):
QPushButton.__init__(self, _("Copy"))
self.clicked.connect(lambda: app.clipboard().setText(text_getter()))
class CopyCloseButton(QPushButton):
def __init__(self, text_getter, app, dialog):
QPushButton.__init__(self, _("Copy and Close"))
@ -208,17 +211,20 @@ class CopyCloseButton(QPushButton):
self.clicked.connect(dialog.close)
self.setDefault(True)
class OkButton(QPushButton):
def __init__(self, dialog, label=None):
QPushButton.__init__(self, label or _("OK"))
self.clicked.connect(dialog.accept)
self.setDefault(True)
class CancelButton(QPushButton):
def __init__(self, dialog, label=None):
QPushButton.__init__(self, label or _("Cancel"))
self.clicked.connect(dialog.reject)
class MessageBoxMixin(object):
def top_level_window_recurse(self, window=None, test_func=None):
window = window or self
@ -385,6 +391,7 @@ def line_dialog(parent, title, label, ok_label, default=None):
if dialog.exec_():
return txt.text()
def text_dialog(
*,
parent,
@ -412,6 +419,7 @@ def text_dialog(
if dialog.exec_():
return txt.toPlainText()
class ChoicesLayout(object):
def __init__(self, msg, choices, on_clicked=None, checked_index=0):
vbox = QVBoxLayout()
@ -558,6 +566,7 @@ def address_field(addresses):
address_e.setText(addresses[0])
else:
addresses = []
def func():
try:
i = addresses.index(str(address_e.text())) + 1
@ -576,7 +585,6 @@ def address_field(addresses):
def filename_field(parent, config, defaultname, select_msg):
vbox = QVBoxLayout()
vbox.addWidget(QLabel(_("Format")))
gb = QGroupBox("format", parent)
@ -625,9 +633,6 @@ def filename_field(parent, config, defaultname, select_msg):
return vbox, filename_e, b1
def get_iconname_qrcode() -> str:
return "qrcode_white.png" if ColorScheme.dark_scheme else "qrcode.png"
@ -646,7 +651,6 @@ def editor_contextMenuEvent(self, p: 'PayToEdit', e: 'QContextMenuEvent') -> Non
class GenericInputHandler:
def input_qr_from_camera(
self,
*,
@ -666,7 +670,7 @@ class GenericInputHandler:
if not data:
data = ''
if allow_multi:
new_text = self.text() + data + '\n'
new_text = self.text() + data + '\n' # TODO: unused?
else:
new_text = data
try:
@ -711,7 +715,7 @@ class GenericInputHandler:
return
data = scanned_qr[0].data
if allow_multi:
new_text = self.text() + data + '\n'
new_text = self.text() + data + '\n' # TODO: unused?
else:
new_text = data
try:
@ -951,12 +955,12 @@ class OverlayControlMixin(GenericInputHandler):
btn.setMenu(menu)
class ButtonsLineEdit(OverlayControlMixin, QLineEdit):
def __init__(self, text=None):
QLineEdit.__init__(self, text)
OverlayControlMixin.__init__(self, middle=True)
class ShowQRLineEdit(ButtonsLineEdit):
""" read-only line with qr and copy buttons """
def __init__(self, text: str, config, title=None):
@ -966,6 +970,7 @@ class ShowQRLineEdit(ButtonsLineEdit):
self.add_qr_show_button(config=config, title=title)
self.addCopyButton()
class ButtonsTextEdit(OverlayControlMixin, QPlainTextEdit):
def __init__(self, text=None):
QPlainTextEdit.__init__(self, text)
@ -1216,6 +1221,7 @@ def icon_path(icon_basename: str):
def read_QIcon(icon_basename: str) -> QIcon:
return QIcon(icon_path(icon_basename))
class IconLabel(QWidget):
HorizontalSpacing = 2
def __init__(self, *, text='', final_stretch=True):
@ -1408,6 +1414,7 @@ class QtEventListener(EventListener):
# decorator for members of the QtEventListener class
def qt_event_listener(func):
func = event_listener(func)
@wraps(func)
def decorator(self, *args):
self.qt_callback_signal.emit( (func,) + args)

Loading…
Cancel
Save