diff --git a/src/nokde-stubs/prefs.cpp b/src/nokde-stubs/prefs.cpp
--- a/src/nokde-stubs/prefs.cpp
+++ b/src/nokde-stubs/prefs.cpp
@@ -62,6 +62,7 @@
, mWordCompletionLength(3)
, mSuggCount(10)
+ , mSuggScore(0)
{
QSettings s;
mAuthorName = s.value(QStringLiteral("Author/Name"), QString()).toString();
diff --git a/src/nokde-stubs/prefs_lokalize.h b/src/nokde-stubs/prefs_lokalize.h
--- a/src/nokde-stubs/prefs_lokalize.h
+++ b/src/nokde-stubs/prefs_lokalize.h
@@ -147,6 +147,12 @@
return self()->mSuggCount;
}
+ static
+ int suggScore()
+ {
+ return self()->mSuggScore;
+ }
+
static
bool autoaddTM()
{
@@ -198,6 +204,7 @@
int mWordCompletionLength;
int mSuggCount;
+ int mSuggScore;
};
#endif
diff --git a/src/prefs/lokalize.kcfg b/src/prefs/lokalize.kcfg
--- a/src/prefs/lokalize.kcfg
+++ b/src/prefs/lokalize.kcfg
@@ -108,6 +108,9 @@
7
+
+ 0
+
true
diff --git a/src/prefs/prefs_tm.ui b/src/prefs/prefs_tm.ui
--- a/src/prefs/prefs_tm.ui
+++ b/src/prefs/prefs_tm.ui
@@ -45,7 +45,7 @@
-
-
-
+
Maximum number of suggestions:
@@ -62,29 +62,63 @@
-
-
+
Qt::Horizontal
-
+
+
-
+
+
+ Minimum score (0-100) of suggestions:
+
+
+
+ -
+
+
+ 0
+
+
+ 100
+
+
+ Set the minimum score (0-100) of suggestions
+
+
+ You can change the minimum score (0-100) required for suggestions, default is 0.
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+
+
+ -
Update/Add edited entries to translation memory
- -
+
-
Add opened files to translation memory automatically
- -
+
-
Delete missing files from translation memory on Rescan or when clicking a missing entry
diff --git a/src/tm/jobs.cpp b/src/tm/jobs.cpp
--- a/src/tm/jobs.cpp
+++ b/src/tm/jobs.cpp
@@ -1476,8 +1476,9 @@
//qCWarning(LOKALIZE_LOG) <<"SelectJob: done "<());
int limit = qMin(Settings::suggCount(), m_entries.size());
+ int minScore = Settings::suggScore() * 100;
int i = m_entries.size();
- while (--i >= limit)
+ while (--i >= limit || m_entries.last().score < minScore)
m_entries.removeLast();
if (Q_UNLIKELY(m_dequeued)) {
diff --git a/src/tm/tmview.cpp b/src/tm/tmview.cpp
--- a/src/tm/tmview.cpp
+++ b/src/tm/tmview.cpp
@@ -409,13 +409,14 @@
if (job.m_dbName != projectID) {
job.m_entries += m_entries;
qSort(job.m_entries.begin(), job.m_entries.end(), qGreater());
- int limit = qMin(Settings::suggCount(), job.m_entries.size());
+ const int limit = qMin(Settings::suggCount(), job.m_entries.size());
+ const int minScore = Settings::suggScore() * 100;
int i = job.m_entries.size();
- while (--i >= limit)
+ while (--i >= limit || job.m_entries.last().score < minScore)
job.m_entries.removeLast();
} else if (job.m_entries.isEmpty() || job.m_entries.first().score < 8500) {
//be careful, as we switched to QDirModel!
- const DBFilesModel& dbFilesModel = *(DBFilesModel::instance());
+ DBFilesModel& dbFilesModel = *(DBFilesModel::instance());
QModelIndex root = dbFilesModel.rootIndex();
int i = dbFilesModel.rowCount(root);
//qCWarning(LOKALIZE_LOG)<<"query other DBs,"<textCursor();
QString html;