|
|
|
@ -1,5 +1,6 @@ |
|
|
|
import os |
|
|
|
import os |
|
|
|
import threading |
|
|
|
import threading |
|
|
|
|
|
|
|
from typing import TYPE_CHECKING |
|
|
|
|
|
|
|
|
|
|
|
from PyQt5.QtCore import Qt, QAbstractListModel, QModelIndex |
|
|
|
from PyQt5.QtCore import Qt, QAbstractListModel, QModelIndex |
|
|
|
from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject |
|
|
|
from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject |
|
|
|
@ -7,10 +8,8 @@ from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject |
|
|
|
from electrum.i18n import _ |
|
|
|
from electrum.i18n import _ |
|
|
|
from electrum.logging import get_logger |
|
|
|
from electrum.logging import get_logger |
|
|
|
from electrum.util import WalletFileException, standardize_path |
|
|
|
from electrum.util import WalletFileException, standardize_path |
|
|
|
from electrum.wallet import Abstract_Wallet |
|
|
|
|
|
|
|
from electrum.plugin import run_hook |
|
|
|
from electrum.plugin import run_hook |
|
|
|
from electrum.lnchannel import ChannelState |
|
|
|
from electrum.lnchannel import ChannelState |
|
|
|
from electrum.daemon import Daemon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from .auth import AuthMixin, auth_protect |
|
|
|
from .auth import AuthMixin, auth_protect |
|
|
|
from .qefx import QEFX |
|
|
|
from .qefx import QEFX |
|
|
|
@ -18,6 +17,11 @@ from .qewallet import QEWallet |
|
|
|
from .qewalletdb import QEWalletDB |
|
|
|
from .qewalletdb import QEWalletDB |
|
|
|
from .qewizard import QENewWalletWizard, QEServerConnectWizard |
|
|
|
from .qewizard import QENewWalletWizard, QEServerConnectWizard |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if TYPE_CHECKING: |
|
|
|
|
|
|
|
from electrum.daemon import Daemon |
|
|
|
|
|
|
|
from electrum.plugin import Plugins |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# wallet list model. supports both wallet basenames (wallet file basenames) |
|
|
|
# wallet list model. supports both wallet basenames (wallet file basenames) |
|
|
|
# and whole Wallet instances (loaded wallets) |
|
|
|
# and whole Wallet instances (loaded wallets) |
|
|
|
class QEWalletListModel(QAbstractListModel): |
|
|
|
class QEWalletListModel(QAbstractListModel): |
|
|
|
@ -108,6 +112,7 @@ class QEWalletListModel(QAbstractListModel): |
|
|
|
return |
|
|
|
return |
|
|
|
i += 1 |
|
|
|
i += 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class QEDaemon(AuthMixin, QObject): |
|
|
|
class QEDaemon(AuthMixin, QObject): |
|
|
|
_logger = get_logger(__name__) |
|
|
|
_logger = get_logger(__name__) |
|
|
|
|
|
|
|
|
|
|
|
@ -135,9 +140,10 @@ class QEDaemon(AuthMixin, QObject): |
|
|
|
walletOpenError = pyqtSignal([str], arguments=["error"]) |
|
|
|
walletOpenError = pyqtSignal([str], arguments=["error"]) |
|
|
|
walletDeleteError = pyqtSignal([str,str], arguments=['code', 'message']) |
|
|
|
walletDeleteError = pyqtSignal([str,str], arguments=['code', 'message']) |
|
|
|
|
|
|
|
|
|
|
|
def __init__(self, daemon: 'Daemon', parent=None): |
|
|
|
def __init__(self, daemon: 'Daemon', plugins: 'Plugins', parent=None): |
|
|
|
super().__init__(parent) |
|
|
|
super().__init__(parent) |
|
|
|
self.daemon = daemon |
|
|
|
self.daemon = daemon |
|
|
|
|
|
|
|
self.plugins = plugins |
|
|
|
self.qefx = QEFX(daemon.fx, daemon.config) |
|
|
|
self.qefx = QEFX(daemon.fx, daemon.config) |
|
|
|
|
|
|
|
|
|
|
|
self._backendWalletLoaded.connect(self._on_backend_wallet_loaded) |
|
|
|
self._backendWalletLoaded.connect(self._on_backend_wallet_loaded) |
|
|
|
@ -334,7 +340,7 @@ class QEDaemon(AuthMixin, QObject): |
|
|
|
@pyqtProperty(QENewWalletWizard, notify=newWalletWizardChanged) |
|
|
|
@pyqtProperty(QENewWalletWizard, notify=newWalletWizardChanged) |
|
|
|
def newWalletWizard(self): |
|
|
|
def newWalletWizard(self): |
|
|
|
if not self._new_wallet_wizard: |
|
|
|
if not self._new_wallet_wizard: |
|
|
|
self._new_wallet_wizard = QENewWalletWizard(self) |
|
|
|
self._new_wallet_wizard = QENewWalletWizard(self, self.plugins) |
|
|
|
|
|
|
|
|
|
|
|
return self._new_wallet_wizard |
|
|
|
return self._new_wallet_wizard |
|
|
|
|
|
|
|
|
|
|
|
|