diff --git a/electrum/plugins/payserver/payserver.py b/electrum/plugins/payserver/payserver.py index b1806410e..7ddbdfcc5 100644 --- a/electrum/plugins/payserver/payserver.py +++ b/electrum/plugins/payserver/payserver.py @@ -50,6 +50,9 @@ class PayServerPlugin(BasePlugin): self.config = config self.server = None + def view_url(self, key): + return self.server.base_url + self.server.root + '/pay?id=' + key + @hook def daemon_wallet_loaded(self, daemon: 'Daemon', wallet: 'Abstract_Wallet'): # we use the first wallet loaded @@ -62,7 +65,7 @@ class PayServerPlugin(BasePlugin): @hook def wallet_export_request(self, d, key): - d['view_url'] = self.server.base_url + self.server.root + '/pay?id=' + key + d['view_url'] = self.view_url(key) class PayServer(Logger, EventListener): diff --git a/electrum/plugins/payserver/qt.py b/electrum/plugins/payserver/qt.py index 45a3d5870..7d43e6115 100644 --- a/electrum/plugins/payserver/qt.py +++ b/electrum/plugins/payserver/qt.py @@ -26,6 +26,7 @@ from functools import partial from PyQt5 import QtWidgets from electrum.i18n import _ +from electrum.plugin import hook from electrum.gui.qt.util import WindowModalDialog, OkButton, Buttons, EnterButton, webopen from .payserver import PayServerPlugin @@ -63,3 +64,7 @@ class Plugin(PayServerPlugin): self.config.set_key('payserver_address', str(address_e.text())) self.config.set_key('ssl_keyfile', str(keyfile_e.text())) self.config.set_key('ssl_certfile', str(certfile_e.text())) + + @hook + def receive_list_menu(self, parent, menu, key): + menu.addAction(_("View in payserver"), lambda: webopen(self.view_url(key)))