def geomTreeWidgetChanged(self): print("geomTreeWidgetChanged") self.partitionsListWidget.clear() self.mountAction.setEnabled(False) self.unmountAction.setEnabled(False) pp = pprint.PrettyPrinter(width=41) # If a physical device was selected if hasattr(self.geomTreeWidget.selectedItems()[0], "di"): di = getattr(self.geomTreeWidget.selectedItems()[0], "di") self.partitionsListWidget.setStyleSheet( "QListWidget::item { text-align: center; margin-left: 2px; margin-right: 2px; margin-top: 2px; border: 2px solid grey }" ) partitions = disks.get_partitions(di["name"]) self.detailsPlainTextEdit.setPlainText( pp.pformat(di) + "\n\n" + pp.pformat(partitions)) if len(partitions) > 0: partitions.pop(0) for p in partitions: if p.name == None: continue item = QListWidgetItem(p.name + "\n" + p.type_or_label + " " + p.human_readable_size) item.__setattr__("partition", p) self.partitionsListWidget.addItem(item)
def refresh_contact_list(self): cb_contact_list.clear() if self.TW_contact.currentIndex() == 0: self.tab_friend.clear() _contact_list = FRIEND_LIST elif self.TW_contact.currentIndex() == 1: self.tab_group.clear() _contact_list = GROUP_LIST else: self.tab_office.clear() _contact_list = OFFICE_LIST for i, contact in enumerate(_contact_list): widget = ContactWidget(contact, self.contact_select_changed) item = QListWidgetItem() item.setSizeHint(QSize(200, 50)) item.__setattr__("wxid", contact["wxid"]) item.__setattr__("row", i) if self.TW_contact.currentIndex() == 0: self.tab_friend.addItem(item) self.tab_friend.setItemWidget(item, widget) elif self.TW_contact.currentIndex() == 1: self.tab_group.addItem(item) self.tab_group.setItemWidget(item, widget) else: self.tab_office.addItem(item) self.tab_office.setItemWidget(item, widget) if current_row: if self.TW_contact.currentIndex() == 0: self.tab_friend.setCurrentRow(current_row) elif self.TW_contact.currentIndex() == 1: self.tab_group.setCurrentRow(current_row) else: self.tab_office.setCurrentRow(current_row)
def search_contact(self): search_key = self.TE_contact_search.toPlainText() if search_key: if self.TW_contact.currentIndex() == 0: _contact_list = FRIEND_LIST elif self.TW_contact.currentIndex() == 1: _contact_list = GROUP_LIST else: _contact_list = OFFICE_LIST _list = [] for contact in _contact_list: if search_key in contact["nickname"]: _list.append(contact) elif remark := contact.get("remark"): if search_key in remark: _list.append(contact) self.LW_contact_search.clear() if _list: for contact in _list: widget = ContactSearchWidget(contact) item = QListWidgetItem() item.setSizeHint(QSize(200, 50)) item.__setattr__("wxid", contact["wxid"]) self.LW_contact_search.addItem(item) self.LW_contact_search.setItemWidget(item, widget) self.LW_contact_search.show() _list.clear() else: self.LW_contact_search.hide()
self.spy.query_contact_details(wxid) elif _type == 5: # 聊天消息 for msg in data["data"]: if msg["msg_type"] == 37 and self.setting_widget.cb_auto_accept.checkState( ): encryptusername = re.search( "(?<=encryptusername=\").*?(?=\")", msg["content"]).group() ticket = re.search("(?<=ticket=\").*?(?=\")", msg["content"]).group() self.spy.accept_new_contact(encryptusername, ticket) else: widget = MessageWidget(msg) item = QListWidgetItem() item.__setattr__("wxid1", msg["wxid1"]) item.__setattr__("wxid2", "") item.__setattr__("content", "") if wxid2 := msg.get("wxid2"): item.__setattr__("wxid2", wxid2) if msg["msg_type"] == 1 or msg["msg_type"] == 1000: item.__setattr__("content", msg["content"]) item.setToolTip(msg["content"]) item.setSizeHint(QSize(234, 65)) self.LW_chat_record.addItem(item) self.LW_chat_record.setItemWidget(item, widget) self.LW_chat_record.setCurrentRow( self.LW_chat_record.count() - 1) def refresh_contact_list(self): cb_contact_list.clear()