def insert_mn_list(self, name, ip, port, row=None, isHardware=True): mnRow = QWidget() mnRow.alias = name if isHardware: mnRow.setToolTip("Drag rows to re-order.") else: mnRow.setToolTip("EXTERNAL MASTERNODE - Drag rows to re-order.") mnRowLayout = QHBoxLayout() ##--- Led self.mnLed[name] = QLabel() self.mnLed[name].setPixmap(self.caller.ledGrayV_icon) mnRowLayout.addWidget(self.mnLed[name]) ##--- Label & Balance self.mnLabel[name] = QLabel() if isHardware: self.mnLabel[name].setText("%s [<i>%s</i>]" % (name, ip)) else: self.mnLabel[name].setText("<span style='color: orange'>%s</span> [<i>%s</i>]" % (name, ip)) mnRowLayout.addWidget(self.mnLabel[name]) self.mnBalance[name] = QLabel() mnRowLayout.addWidget(self.mnBalance[name]) self.mnBalance[name].hide() mnRowLayout.addStretch(1) ##--- Status Label self.mnStatusLabel[name] = QLabel() mnRowLayout.addWidget(self.mnStatusLabel[name]) self.mnStatusLabel[name].hide() ##--- Rank bar self.mnStatusProgress[name] = QProgressBar() self.mnStatusProgress[name].setMaximumHeight(15) self.mnStatusProgress[name].setMaximumWidth(40) self.mnStatusProgress[name].setTextVisible(False) mnRowLayout.addWidget(self.mnStatusProgress[name]) self.mnStatusProgress[name].hide() ##--- Details button self.btn_details[name] = QToolButton() self.btn_details[name].setIcon(self.details_icon) self.btn_details[name].setToolTip('Check status details of masternode "%s"' % name) mnRowLayout.addWidget(self.btn_details[name]) self.btn_details[name].hide() ##--- Rewards button self.btn_rewards[name] = QPushButton() self.btn_rewards[name].setToolTip('Transfer rewards from "%s"' % name) self.btn_rewards[name].setIcon(self.rewards_icon) self.btn_rewards[name].alias = name if not isHardware: self.btn_rewards[name].setDisabled(True) self.btn_rewards[name].setToolTip("EXTERNAL MN: unable to move rewards with SPMT") mnRowLayout.addWidget(self.btn_rewards[name]) ##--- Start button self.btn_start[name] = QPushButton() self.btn_start[name].setToolTip('Start masternode "%s"' % name) self.btn_start[name].setIcon(self.startMN_icon) self.btn_start[name].alias = name if not isHardware: self.btn_start[name].setDisabled(True) self.btn_start[name].setToolTip("EXTERNAL MN: unable to start with SPMT") mnRowLayout.addWidget(self.btn_start[name]) ##--- Edit button self.btn_edit[name] = QPushButton() self.btn_edit[name].setToolTip('Edit masternode "%s"' % name) self.btn_edit[name].setIcon(self.editMN_icon) self.btn_edit[name].alias = name if not isHardware: self.btn_edit[name].setDisabled(True) self.btn_edit[name].setToolTip("EXTERNAL MN: to edit, delete entry and load new 'masternode.conf'") mnRowLayout.addWidget(self.btn_edit[name]) ##--- Remove button self.btn_remove[name] = QPushButton() self.btn_remove[name].setToolTip('Delete masternode "%s"' % name) self.btn_remove[name].setIcon(self.removeMN_icon) self.btn_remove[name].alias = name mnRowLayout.addWidget(self.btn_remove[name]) ##--- Three Dots threeDots = QLabel() threeDots.setPixmap(self.threeDots_icon.scaledToHeight(20, Qt.SmoothTransformation)) mnRowLayout.addWidget(threeDots) ##--- Set Row Layout mnRow.setLayout(mnRowLayout) ##--- Append Row self.current_mn[name] = QListWidgetItem() #self.current_mn[name].setFlags(Qt.ItemIsSelectable) self.current_mn[name].setSizeHint(mnRow.sizeHint()) if row is not None: self.myList.insertItem(row, self.current_mn[name]) else: self.myList.addItem(self.current_mn[name]) self.myList.setItemWidget(self.current_mn[name], mnRow)