From bcc6b5426de4729fb72f8180851570161c157b21 Mon Sep 17 00:00:00 2001 From: harryoooooooooo Date: Sun, 16 Apr 2017 02:58:20 +0800 Subject: [PATCH] add feature: user should not change the pronunciation of an alphabet --- src/model/UserphraseModel.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/model/UserphraseModel.cpp b/src/model/UserphraseModel.cpp index 995abeb..f895a6d 100644 --- a/src/model/UserphraseModel.cpp +++ b/src/model/UserphraseModel.cpp @@ -203,6 +203,16 @@ QString UserphraseModel::checkBopomofo(const QString &bopomofo) const void UserphraseModel::add(const QString &phrase, const QString &bopomofo) { QString replaceBopomofo = checkBopomofo(bopomofo); + + const QString BopomofoRange(QString::fromUtf8("ㄅㄩ")); + if ( phrase.size() == 1 && replaceBopomofo.size() == 1 && phrase[0] != replaceBopomofo[0] + && phrase[0] >= BopomofoRange[0] && phrase[0] <= BopomofoRange[1] ){ + qWarning() << "trying to modify the pronunciation of an alphabet!"; + refresh(); + emit addNewPhraseFailed(); + return; + } + auto ret = chewing_userphrase_add( ctx_.get(), phrase.toUtf8().constData(),