diff --git a/electrum/plugins/joinmarket/jm_conf.py b/electrum/plugins/joinmarket/jm_conf.py index bb6a65e12..4ebab217a 100644 --- a/electrum/plugins/joinmarket/jm_conf.py +++ b/electrum/plugins/joinmarket/jm_conf.py @@ -158,6 +158,7 @@ class JMConf: DEFAULT_MSG_CHANNELS_REGTEST['irc2']['enabled'] = False def __init__(self, jmman): + self.jmman = jmman self.logger = jmman.logger self.wallet = jmman.wallet self.jmw = jmman.jmw @@ -183,6 +184,8 @@ class JMConf: @property def mixdepth(self): '''effective maximum mixdepth to be used by joinmarket''' + if not self.jmman.enabled: + return self.DEFAULT_MIXDEPTH return self.jmw.get_jm_data('mixdepth', self.DEFAULT_MIXDEPTH) @mixdepth.setter @@ -485,6 +488,8 @@ class JMConf: @property def show_warn_electrumx(self): '''Check if warning about JM specific on electrum should be shown''' + if not self.jmman.enabled: + return True return self.jmw.get_jm_data('show_warn_electrumx', True) @show_warn_electrumx.setter @@ -509,6 +514,8 @@ class JMConf: @property def subscribe_spent(self): '''Check if on server subscriptions for spent JM addresses done''' + if not self.jmman.enabled: + return self.DEFAULT_SUBSCRIBE_SPENT return self.jmw.get_jm_data('subscribe_spent', self.DEFAULT_SUBSCRIBE_SPENT) diff --git a/electrum/plugins/joinmarket/jm_main.py b/electrum/plugins/joinmarket/jm_main.py index 0278f89e8..26224ffa9 100644 --- a/electrum/plugins/joinmarket/jm_main.py +++ b/electrum/plugins/joinmarket/jm_main.py @@ -58,6 +58,8 @@ class JMManager(Logger): jm_data = self.wallet.db.get('jm_data') if jm_data and jm_data.get('jm_enabled', False): self._state = JMStates.Ready + self.jmw.init_jm_data() + self.jmconf.init_max_mixdepth() else: self._state = JMStates.Disabled if self.unsupported: diff --git a/electrum/plugins/joinmarket/jm_qt.py b/electrum/plugins/joinmarket/jm_qt.py index 7e5869d3e..e314e04bf 100644 --- a/electrum/plugins/joinmarket/jm_qt.py +++ b/electrum/plugins/joinmarket/jm_qt.py @@ -526,10 +526,7 @@ class JMWalletTab(QWidget): self.initUI() def initUI(self): - self.label1 = QLabel( - 'No wallet loaded. Use "Wallet > Load" to load existing wallet ' + - 'or "Wallet > Generate" to create a new wallet.', - self) + self.label1 = QLabel('', self) self.label1.setAlignment( Qt.AlignmentFlag.AlignTop | Qt.AlignmentFlag.AlignLeft) v = MyTreeWidget(self, self.create_menu, self.getHeaders()) @@ -612,6 +609,8 @@ class JMWalletTab(QWidget): self.openQRCodePopup(address, address) def updateWalletInfo(self): + if not self.jmman.enabled: + return max_mixdepth_count = GUIconf.max_mix_depth previous_expand_states = [] @@ -1724,6 +1723,8 @@ class CoinsTab(QWidget): utxo database (no sync e.g.) so can be immediate. """ jmman = self.jmman + if not jmman.enabled: + return self.cTW.clear() def show_blank(): @@ -1855,6 +1856,8 @@ class TxHistoryTab(QWidget): def updateTxInfo(self, txinfo=None): self.tHTW.clear() + if not self.jmman.enabled: + return if not txinfo: txinfo = self.getTxInfoFromHistory() for t in txinfo: @@ -1902,7 +1905,6 @@ class SettingsTab(QWidget): self.jm_dlg = jm_dlg self.jmman = jm_dlg.jmman self.logger = self.jmman.logger - self.msg_channels = self.jmman.jmconf.get_msg_channels() self.settings_grid = None self.constructUI() @@ -1937,6 +1939,18 @@ class SettingsTab(QWidget): frame = QFrame() self.settings_grid = grid = QGridLayout() + if not jmman.enabled: + self.outerGrid.addWidget(sA, 3, 0) + + sA.setWidget(frame) + frame.setLayout(grid) + frame.adjustSize() + if not update: + self.setLayout(self.outerGrid) + self.show() + return + + self.msg_channels = self.jmman.jmconf.get_msg_channels() self.settingsFields = [] j = 0 for i, section in enumerate(conf_sections):