示例#1
0
    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()
示例#2
0
 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()
示例#3
0
    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)
示例#4
0
    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())