def refreshChat(self): x = { "for": "refreshChat", "data": { "userId": self.userId, "toUserId": self.toUserId, "lastMsgId": self.lastMsgId } } dataRes = sendMsg.sendData(x) if (dataRes["answer"] == "True"): self.setChat(dataRes["data"])
def UI(self, userId, toUserId, toName): self.userId = userId self.toUserId = toUserId x = { "for": "openChat", "data": { "userId": userId, "toUserId": toUserId } } dataRes = sendMsg.sendData(x) if toName: self.toName = toName else: self.toName = "" try: self.toName = dataRes['data']['toName'] except: pass self.setWindowTitle(f"{self.toName}'s Chat") self.messagesListWidget = QListWidget(self) self.messagesListWidget.itemClicked.connect(self.messageClicked) self.setChat(dataRes["data"]) formLayout = QFormLayout() backBtn = QPushButton("Back") backBtn.clicked.connect(self.backToMain) formLayout.addRow(backBtn) self.message_input = QLineEdit() formLayout.addRow(self.message_input) sendBtn = QPushButton("Send") sendBtn.clicked.connect(self.sendMessage) # formLayout.addRow(sendBtn) refreshBtn = QPushButton("Refresh") refreshBtn.clicked.connect(self.refreshChat) formLayout.addRow(sendBtn, refreshBtn) formLayout.addRow(self.messagesListWidget) self.setLayout(formLayout) # self.userId = userId self.show()
def login(self): if (len(self.login_username_input.text()) >= 3 and len(self.login_password_input.text()) >= 3): x = { "for": "login", "data": { "username": self.login_username_input.text(), "password": self.login_password_input.text() } } dataRes = sendMsg.sendData(x) if (dataRes["for"] == "login"): if (dataRes["answer"] == "True"): # self.hide() self.chats(dataRes["data"]["userId"]) else: self.loginErrorLabel.setText( "Please fill all 3 inputs below with at least 3 char")
def UI(self, userId): self.searchUsers = [] x = { "for": "getChats", "data": { "userId": userId } } dataRes = sendMsg.sendData(x) self.chatList = dataRes["data"]["users"] self.savedUsers = self.chatList chatListNames = [] for user in self.chatList: chatListNames.append(user["name"]) name = dataRes["data"]["name"] self.setWindowTitle(f"Hi, {name}") self.namesListWidget = QListWidget(self) self.namesListWidget.addItems(chatListNames) self.namesListWidget.itemClicked.connect(self.openChat) formLayout = QFormLayout() self.searchInput = QLineEdit() self.searchBtn = QPushButton("search") self.searchBtn.clicked.connect(self.searchUser) self.allUsersBtn = QPushButton("Show all my chatss") self.allUsersBtn.clicked.connect(self.backToAllUsers) hbox = QHBoxLayout() hbox.addWidget(self.searchInput) hbox.addWidget(self.searchBtn) hbox.addWidget(self.allUsersBtn) formLayout.addRow(hbox) formLayout.addRow(self.namesListWidget) self.setLayout(formLayout) self.userId = userId self.show()
def register(self): if (len(self.reg_name_input.text()) >= 3 and len(self.reg_userName_input.text()) >= 3 and len(self.reg_pass_input.text()) >= 3): x = { "for": "register", "data": { "name": self.reg_name_input.text(), "username": self.reg_userName_input.text(), "password": self.reg_pass_input.text() } } dataRes = sendMsg.sendData(x) if (dataRes["answer"] == "True"): self.chats(dataRes["data"]["userId"]) else: self.registerErrorLabel.setText( "Please fill all 3 inputs below with at least 3 char")
def searchUser(self): if (self.searchInput.text() != ""): x = { "for": "searchUsers", "data": { "txt": self.searchInput.text(), "userId": self.userId } } dataRes = sendMsg.sendData(x) if(dataRes["answer"][0].lower() == "t"): self.chatList = dataRes["data"]["users"] self.isInSearch = True self.namesListWidget.clear() for user in self.chatList: self.namesListWidget.addItem(user["name"]) else: print("")
def sendMessage(self): self.refreshChat() if (self.message_input.text() != ""): x = { "for": "sendMessage", "data": { "userId": self.userId, "toUserId": self.toUserId, "text": self.message_input.text() } } dataRes = sendMsg.sendData(x) if (dataRes["answer"] == "True"): text = self.message_input.text() time = str(dataRes['data']['time']) self.messagesListWidget.insertItem( 0, f"you: {text}\n{time[11:-3]}") self.message_input.setText("") self.lastMsgId = dataRes["data"]["msgId"]