예제 #1
0
 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)