Skip to content

Commit 59a283a

Browse files
authored
Merge pull request #9778 from accumulator/qt_richlabel
plugins: coldcard: use RichLabel, org imports
2 parents 1eb489b + 7146e32 commit 59a283a

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

electrum/gui/qt/util.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,21 @@ def done(self):
105105

106106

107107
class WWLabel(QLabel):
108-
def __init__ (self, text="", parent=None):
108+
"""Word-wrapping label"""
109+
def __init__(self, text="", parent=None):
109110
QLabel.__init__(self, text, parent)
110111
self.setWordWrap(True)
111112
self.setTextInteractionFlags(Qt.TextInteractionFlag.TextSelectableByMouse)
112113

113114

115+
class RichLabel(WWLabel):
116+
"""Word-wrapping label with link activation"""
117+
def __init__(self, text='', parent=None):
118+
WWLabel.__init__(self, text, parent)
119+
self.setTextInteractionFlags(Qt.TextInteractionFlag.TextBrowserInteraction)
120+
self.setOpenExternalLinks(True)
121+
122+
114123
class AmountLabel(QLabel):
115124
def __init__(self, *args, **kwargs):
116125
QLabel.__init__(self, *args, **kwargs)

electrum/plugins/coldcard/qt.py

+8-9
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,18 @@
44
from PyQt6.QtCore import Qt
55
from PyQt6.QtWidgets import QPushButton, QLabel, QVBoxLayout, QWidget, QGridLayout
66

7-
from electrum.gui.qt.util import WindowModalDialog, CloseButton, getOpenFileName, getSaveFileName
8-
from electrum.gui.qt.main_window import ElectrumWindow
9-
107
from electrum.i18n import _
118
from electrum.plugin import hook
129
from electrum.wallet import Multisig_Wallet
1310

14-
from .coldcard import ColdcardPlugin, xfp2str
1511
from electrum.hw_wallet.qt import QtHandlerBase, QtPluginBase
1612
from electrum.hw_wallet.plugin import only_hook_if_libraries_available
13+
1714
from electrum.gui.qt.wizard.wallet import WCScriptAndDerivation, WCHWXPub, WCHWUninitialized, WCHWUnlock
15+
from electrum.gui.qt.util import WindowModalDialog, CloseButton, getOpenFileName, getSaveFileName, RichLabel
16+
from electrum.gui.qt.main_window import ElectrumWindow
17+
18+
from .coldcard import ColdcardPlugin, xfp2str
1819

1920
if TYPE_CHECKING:
2021
from electrum.gui.qt.wizard.wallet import QENewWalletWizard
@@ -177,14 +178,12 @@ def connect_and_doit():
177178
grid = QGridLayout()
178179
grid.setColumnStretch(2, 1)
179180

180-
# see <http://doc.qt.io/archives/qt-4.8/richtext-html-subset.html>
181-
title = QLabel('''<center>
181+
title = RichLabel('''<center>
182182
<span style="font-size: x-large">Coldcard Wallet</span>
183183
<br><span style="font-size: medium">from Coinkite Inc.</span>
184184
<br><a href="https://coldcardwallet.com">coldcardwallet.com</a>''')
185-
title.setTextInteractionFlags(Qt.TextInteractionFlag.LinksAccessibleByMouse)
186185

187-
grid.addWidget(title, 0,0, 1,2, Qt.AlignmentFlag.AlignHCenter)
186+
grid.addWidget(title, 0, 0, 1, 2, Qt.AlignmentFlag.AlignHCenter)
188187
y = 3
189188

190189
rows = [
@@ -199,7 +198,7 @@ def connect_and_doit():
199198
widget = QLabel('<tt>000000000000')
200199
widget.setTextInteractionFlags(Qt.TextInteractionFlag.TextSelectableByMouse | Qt.TextInteractionFlag.TextSelectableByKeyboard)
201200

202-
grid.addWidget(QLabel(label), y, 0, 1,1, Qt.AlignmentFlag.AlignRight)
201+
grid.addWidget(QLabel(label), y, 0, 1, 1, Qt.AlignmentFlag.AlignRight)
203202
grid.addWidget(widget, y, 1, 1, 1, Qt.AlignmentFlag.AlignLeft)
204203
setattr(self, member_name, widget)
205204
y += 1

0 commit comments

Comments
 (0)