class AdvancedWidget(QWidget): def __init__(self, node_set: NodeSet): super().__init__() self.setWindowTitle('Advanced') self.node_set = node_set self.columns = 2 self.layout = QGridLayout() self.versions_layout = VersionsLayout(node_set=node_set) self.ports_layout = PortsLayout(node_set=node_set) self.actions_layout = ConfigurationFilesLayout(node_set=node_set) self.zap_layout = ZapLayout(node_set=self.node_set) self.tls_layout = TlsLayout(node_set=self.node_set) self.layout.addLayout(self.versions_layout, column_span=self.columns) self.layout.addWidget(HorizontalLine(), column_span=self.columns) self.layout.addLayout(self.ports_layout, column_span=self.columns) self.layout.addWidget(HorizontalLine(), column_span=self.columns) self.layout.addLayout(self.actions_layout, column_span=self.columns) self.layout.addWidget(HorizontalLine(), column_span=self.columns) self.layout.addLayout(self.zap_layout, column_span=self.columns) self.layout.addWidget(HorizontalLine(), column_span=self.columns) self.layout.addLayout(self.tls_layout, column_span=self.columns) self.setLayout(self.layout) def show(self): super().show() self.raise_() self.setWindowState(self.windowState() & ~Qt.WindowMinimized | Qt.WindowActive) self.activateWindow()
def __init__(self, network: Network = MAINNET): super().__init__() self.timer = QTimer(self.parentWidget()) self.node_set = NodeSet(network) columns = 2 layout = QGridLayout() self.nodes_layout = NodesLayout(node_set=self.node_set) layout.addLayout(self.nodes_layout, column_span=columns) self.lnd_wallet_layout = LndWalletLayout(node_set=self.node_set) layout.addLayout(self.lnd_wallet_layout, column_span=columns) self.zap_layout = ZapLayout(node_set=self.node_set) layout.addLayout(self.zap_layout, column_span=columns) self.joule_layout = JouleLayout(node_set=self.node_set) layout.addLayout(self.joule_layout, column_span=columns) self.cli_layout = CliLayout(node_set=self.node_set) layout.addLayout(self.cli_layout, column_span=columns) self.setLayout(layout) self.timer.start(1000) # noinspection PyUnresolvedReferences self.timer.timeout.connect(self.refresh) self.refresh()
class AdvancedWidget(QWidget): def __init__(self, node_set: NodeSet): super().__init__() self.setWindowTitle('Advanced') self.node_set = node_set self.columns = 2 self.layout = QGridLayout() self.versions_layout = VersionsLayout(node_set=node_set) self.ports_layout = PortsLayout(node_set=node_set) self.actions_layout = ConfigurationFilesLayout(node_set=node_set) self.zap_layout = ZapLayout(node_set=self.node_set) self.tls_layout = TlsLayout(node_set=self.node_set) self.layout.addLayout(self.versions_layout, column_span=self.columns) self.layout.addWidget(HorizontalLine(), column_span=self.columns) self.layout.addLayout(self.ports_layout, column_span=self.columns) self.layout.addWidget(HorizontalLine(), column_span=self.columns) self.layout.addLayout(self.actions_layout, column_span=self.columns) self.layout.addWidget(HorizontalLine(), column_span=self.columns) self.layout.addLayout(self.zap_layout, column_span=self.columns) self.layout.addWidget(HorizontalLine(), column_span=self.columns) self.layout.addLayout(self.tls_layout, column_span=self.columns) self.setLayout(self.layout)
class BitcoindConfigurationTab(QWidget): def __init__(self, bitcoind_node: BitcoindNode): super().__init__() self.bitcoind_node = bitcoind_node self.layout = QGridLayout() self.bitcoin_version = SelectableText( f'Bitcoin Core ' f'version {self.bitcoind_node.software.release_version}' ) self.layout.addWidget(self.bitcoin_version) self.data_directory_group_box = DataDirectoryBox( bitcoin_node=self.bitcoind_node) self.data_directory_group_box.file_dialog.new_data_directory.connect( self.change_datadir ) self.layout.addWidget(self.data_directory_group_box) self.layout.setAlignment(self.data_directory_group_box, Qt.AlignHCenter) self.enable_wallet_label = QLabel('Enable wallet') self.enable_wallet_widget = QCheckBox('Enable Wallet') self.enable_wallet_widget.stateChanged.connect( lambda x: self.set_conf_value('disablewallet', not bool(x)) ) self.layout.addWidget(self.enable_wallet_widget) self.layout.addWidget(HorizontalLine()) self.restart_layout = BitcoindRestartLayout(bitcoin=self.bitcoind_node) self.layout.addLayout(self.restart_layout) self.show_bitcoin_conf = QPushButton('Show bitcoin.conf') self.show_bitcoin_conf.clicked.connect( lambda: reveal(self.bitcoind_node.configuration.file.path) ) self.layout.addWidget(self.show_bitcoin_conf) self.setLayout(self.layout) def change_datadir(self, new_datadir: str): self.bitcoind_node.file['datadir'] = new_datadir self.bitcoind_node.set_prune() self.data_directory_group_box.set_datadir( self.bitcoind_node.file['datadir'], self.bitcoind_node.file['prune'] ) @staticmethod def set_checked(widget: QCheckBox, state: bool): if state is None: widget.setChecked(False) return widget.setChecked(state) def set_conf_value(self, key: str, new_value): self.bitcoind_node.file[key] = new_value
class LndTab(QWidget): def __init__(self, lnd: Lnd): super().__init__() self.lnd = lnd self.alias_layout = AliasLayout() color = self.lnd.file['color'] self.alias_layout.set_color(color) self.alias_layout.new_color.connect( lambda x: self.set_conf_value('color', x)) self.alias_layout.alias_editor.textEdited.connect( lambda x: self.set_conf_value('alias', x)) self.lnd_layout = QGridLayout() self.lnd_layout.addLayout(self.alias_layout, column_span=2) self.setLayout(self.lnd_layout) def set_conf_value(self, key: str, new_value: str): self.lnd.file[key] = new_value
class LndConfigurationTab(QWidget): def __init__(self, lnd: Lnd): super().__init__() self.lnd = lnd self.layout = QGridLayout() self.lnd_version = SelectableText( f'LND ' f'version {self.lnd.software.release_version}') self.layout.addWidget(self.lnd_version) self.alias_layout = AliasLayout() color = self.lnd.file['color'] self.alias_layout.set_color(color) self.alias_layout.new_color.connect( lambda x: self.set_conf_value('color', x)) self.alias_layout.alias_editor.textEdited.connect( lambda x: self.set_conf_value('alias', x)) self.layout.addLayout(self.alias_layout) self.layout.addWidget(HorizontalLine()) self.ports_layout = LndPortsLayout(lnd=self.lnd) self.layout.addLayout(self.ports_layout) self.layout.addWidget(HorizontalLine()) self.restart_layout = LndRestartLayout(lnd=self.lnd) self.layout.addLayout(self.restart_layout) self.tls_layout = TlsLayout(lnd=self.lnd) self.layout.addLayout(self.tls_layout) self.show_lnd_conf = QPushButton('Show lnd.conf') self.show_lnd_conf.clicked.connect( lambda: reveal(self.lnd.file.directory)) self.layout.addWidget(self.show_lnd_conf) self.setLayout(self.layout) def set_conf_value(self, key: str, new_value: str): self.lnd.file[key] = new_value def show(self): super().show() self.raise_() self.setWindowState(self.windowState() & ~Qt.WindowMinimized | Qt.WindowActive) self.activateWindow()