From 97721f3e9263d1b78b0cfc790319be664542dbc9 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Thu, 25 Jan 2018 21:13:21 +0800 Subject: [PATCH] bug-fix: use en locale for help docs if user's locale is missing --- src/utils/vutils.cpp | 11 ++++++++--- src/utils/vutils.h | 6 ++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/utils/vutils.cpp b/src/utils/vutils.cpp index 77e1f0e6..4092068a 100644 --- a/src/utils/vutils.cpp +++ b/src/utils/vutils.cpp @@ -1143,9 +1143,9 @@ QWebEngineView *VUtils::getWebEngineView(QWidget *p_parent) return viewer; } -QString VUtils::getFileNameWithLocale(const QString &p_name) +QString VUtils::getFileNameWithLocale(const QString &p_name, const QString &p_locale) { - QString locale = getLocale(); + QString locale = p_locale.isEmpty() ? getLocale() : p_locale; locale = locale.split('_')[0]; QFileInfo fi(p_name); @@ -1162,7 +1162,12 @@ QString VUtils::getFileNameWithLocale(const QString &p_name) QString VUtils::getDocFile(const QString &p_name) { QDir dir(VNote::c_docFileFolder); - return dir.filePath(getFileNameWithLocale(p_name)); + QString name(getFileNameWithLocale(p_name)); + if (!dir.exists(name)) { + name = getFileNameWithLocale(p_name, "en_US"); + } + + return dir.filePath(name); } QString VUtils::getCaptainShortcutSequenceText(const QString &p_operation) diff --git a/src/utils/vutils.h b/src/utils/vutils.h index 6e5e2b37..ab8a588a 100644 --- a/src/utils/vutils.h +++ b/src/utils/vutils.h @@ -279,8 +279,10 @@ public: static void setDynamicProperty(QWidget *p_widget, const char *p_prop, bool p_val = true); - // Return a file name with locale. - static QString getFileNameWithLocale(const QString &p_name); + // Return a file name with locale @p_locale. + // If @p_locale is empty, use system's locale instead. + static QString getFileNameWithLocale(const QString &p_name, + const QString &p_locale = QString()); // Return a doc file path. static QString getDocFile(const QString &p_name);