def add(self): def is_null(textbox): return textbox.displayText().strip() == "" if is_null(self.form.text_vocabulary): QMessageBox.critical(self, "Lỗi", "Bạn chưa điền Từ mới", QMessageBox.Ok) return if (self.form.combobox_category.currentIndex() == 0): QMessageBox.critical(self, "Lỗi", "Bạn chưa chọn Từ loại", QMessageBox.Ok) return if is_null(self.form.text_definition): QMessageBox.critical(self, "Lỗi", "Bạn chưa điền Dịch nghĩa", QMessageBox.Ok) return if not utils.is_invalid_string(self.form.text_vocabulary.displayText()): self.form.label_bottom.setText("<p style='color:red'>Kí tự không hợp lệ `~!@#$%^&*()+=_<>?/\|[]{};</p>") self.form.text_vocabulary.setFocus() return if not utils.is_invalid_string(self.form.text_phonetic.displayText()): self.form.label_bottom.setText("<p style='color:red'>Kí tự không hợp lệ `~!@#$%^&*()+=_<>?/\|;[]{}</p>") self.form.text_phonetic.setFocus() return if not utils.is_invalid_string(self.form.text_hint.displayText()): self.form.label_bottom.setText("<p style='color:red'>Kí tự không hợp lệ `~!@#$%^&*()+=_<>?/\|;[]{}</p>") self.form.text_hint.setFocus() return if not utils.is_invalid_string(self.form.text_definition.displayText()): self.form.label_bottom.setText("<p style='color:red'>Kí tự không hợp lệ `~!@#$%^&*()+=_<>?/\|;[]{}</p>") self.form.text_definition.setFocus() return if not utils.is_invalid_string(self.form.text_tag.displayText()): self.form.label_bottom.setText("<p style='color:red'>Kí tự không hợp lệ `~!@#$%^&*()+=_<>?/\|;[]{}</p>") self.form.text_tag.setFocus() return self.form.label_bottom.setText("") word = Word( id= None, vocabulary= utils.format_string(self.form.text_vocabulary.displayText()), category= utils.format_string(self.form.combobox_category.currentText()), phonetic= utils.format_string(self.form.text_phonetic.displayText()), hint= utils.format_string(self.form.text_hint.displayText()), definition= utils.format_string(self.form.text_definition.displayText()), tag= utils.format_string(self.form.text_tag.displayText()), picture_name= self.picture_name, record_name= self.record_name ) self.controller.db.add_word(word) self.show_popup() self.clear_text()
def find_tag(self): if not utils.is_invalid_string( self.tag_dialog.form.text_tag.displayText()): self.tag_dialog.form.label_bottom.setText( "<p style='color:red'>Kí tự không hợp lệ `~!@#$%^&*()+=_<>?/\|;[]{}</p>" ) self.tag_dialog.form.text_tag.setFocus() return self.tag = utils.format_string( self.tag_dialog.form.text_tag.displayText()) if self.tag == "": self.tag_dialog.form.label_bottom.setText("Bạn chưa điền thẻ") self.tag_dialog.form.text_tag.setFocus() return self.words = self.get_words() if len(self.words) == 0: self.tag_dialog.form.label_bottom.setText( "Không tìm thấy thẻ bạn vừa nhập") self.tag_dialog.form.text_tag.setFocus() return self.show_word(self.words[self.current_index]) self.tag_dialog.close()
def check_answer(self, word): self.form.label_top.setText("") self.form.label_bottom.setText("") answer = utils.format_string(self.form.text_answer.displayText()) if (answer == ""): self.form.label_bottom.setText( "<p style='color:red'>Bạn chưa điền đáp án</p>") return if answer == word.vocabulary: self.form.button_next.setEnabled(True) self.form.label_bottom.setText("<p style='color:green'>Chính xác") self.is_correct_answer = True return if not utils.is_invalid_string(answer): self.form.label_bottom.setText( "<p style='color:red'>Kí tự không hợp lệ `~!@#$%^&*()+=_<>?/\|;[]{}</p>" ) return else: self.form.label_bottom.setText( "<p style='color:red'>Chưa chính xác") for c in range(MAX_HINT_LEVEL - 1, self.config["hint"] - 2, -1): self.check_function[c](word, answer)
def button_save_clicked(self): def is_null(textbox): return textbox.displayText().strip() == "" if is_null(self.form.text_vocabulary): QMessageBox.critical(self, "Lỗi", "Bạn chưa điền Từ mới", QMessageBox.Ok) return if (self.form.combobox_category.currentIndex() == 0): QMessageBox.critical(self, "Lỗi", "Bạn chưa chọn Từ loại", QMessageBox.Ok) return if is_null(self.form.text_definition): QMessageBox.critical(self, "Lỗi", "Bạn chưa điền Dịch nghĩa", QMessageBox.Ok) return if not utils.is_invalid_string( self.form.text_vocabulary.displayText()): self.form.label_bottom.setText( "<p style='color:red'>Kí tự không hợp lệ `~!@#$%^&*()+=_<>?/\|;</p>" ) self.form.text_vocabulary.setFocus() return if not utils.is_invalid_string(self.form.text_phonetic.displayText()): self.form.label_bottom.setText( "<p style='color:red'>Kí tự không hợp lệ `~!@#$%^&*()+=_<>?/\|;</p>" ) self.form.text_phonetic.setFocus() return if not utils.is_invalid_string(self.form.text_hint.displayText()): self.form.label_bottom.setText( "<p style='color:red'>Kí tự không hợp lệ `~!@#$%^&*()+=_<>?/\|;</p>" ) self.form.text_hint.setFocus() return if not utils.is_invalid_string( self.form.text_definition.displayText()): self.form.label_bottom.setText( "<p style='color:red'>Kí tự không hợp lệ `~!@#$%^&*()+=_<>?/\|;</p>" ) self.form.text_definition.setFocus() return if not utils.is_invalid_string(self.form.text_tag.displayText()): self.form.label_bottom.setText( "<p style='color:red'>Kí tự không hợp lệ `~!@#$%^&*()+=_<>?/\|;</p>" ) self.form.text_tag.setFocus() return self.form.label_bottom.setText("") self.current_row = self.form.tableView.currentIndex().row() self.model.setData( self.model.index(self.current_row, self.model.fieldIndex("vocabulary")), utils.format_string(self.form.text_vocabulary.displayText())) self.model.setData( self.model.index(self.current_row, self.model.fieldIndex("category")), utils.format_string(self.form.combobox_category.currentText())) self.model.setData( self.model.index(self.current_row, self.model.fieldIndex("phonetic")), utils.format_string(self.form.text_phonetic.displayText())) self.model.setData( self.model.index(self.current_row, self.model.fieldIndex("hint")), utils.format_string(self.form.text_hint.displayText())) self.model.setData( self.model.index(self.current_row, self.model.fieldIndex("definition")), utils.format_string(self.form.text_definition.displayText())) self.model.setData( self.model.index(self.current_row, self.model.fieldIndex("tag")), utils.format_string(self.form.text_tag.displayText())) self.model.setData( self.model.index(self.current_row, self.model.fieldIndex("picture_name")), self.picture_name) self.model.setData( self.model.index(self.current_row, self.model.fieldIndex("record_name")), self.record_name) for file in self.pics: if file != self.picture_name: try: os.remove( os.path.join(self.controller.media_folder_path, file)) except: print("File " + file + " not found") for file in self.recs: if file != self.record_name: try: os.remove( os.path.join(self.controller.media_folder_path, file)) except: print("File " + file + " not found") self.model.submitAll() self.form.tableView.setCurrentIndex( self.model.index(self.current_row, 0)) self.show_popup() print("Saved " + self.form.text_vocabulary.displayText())