diff --git a/src/src.pro b/src/src.pro index 24009871..c98d65a5 100644 --- a/src/src.pro +++ b/src/src.pro @@ -134,10 +134,6 @@ macx { INCLUDEPATH += /usr/local/include } -windows { - DEFINES *= Q_COMPILER_INITIALIZER_LISTS -} - win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../hoedown/release/ -lhoedown else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../hoedown/debug/ -lhoedown else:unix: LIBS += -L$$OUT_PWD/../hoedown/ -lhoedown diff --git a/src/utils/vutils.cpp b/src/utils/vutils.cpp index f6a432d7..38c6a8dc 100644 --- a/src/utils/vutils.cpp +++ b/src/utils/vutils.cpp @@ -22,8 +22,7 @@ extern VConfigManager vconfig; -const QVector> VUtils::c_availableLanguages = {QPair("en_US", "Englisth(US)"), - QPair("zh_CN", "Chinese")}; +QVector> VUtils::s_availableLanguages; const QString VUtils::c_imageLinkRegExp = QString("\\!\\[([^\\]]*)\\]\\(([^\\)\"]+)\\s*(\"(\\\\.|[^\"\\)])*\")?\\s*\\)"); @@ -37,6 +36,16 @@ VUtils::VUtils() { } +void VUtils::initAvailableLanguage() +{ + if (!s_availableLanguages.isEmpty()) { + return; + } + + s_availableLanguages.append(QPair("en_US", "English (US)")); + s_availableLanguages.append(QPair("zh_CN", "Chinese")); +} + QString VUtils::readFileFromDisk(const QString &filePath) { QFile file(filePath); @@ -370,16 +379,21 @@ QString VUtils::generateCopiedDirName(const QString &p_parentDirPath, const QStr const QVector>& VUtils::getAvailableLanguages() { - return c_availableLanguages; + if (s_availableLanguages.isEmpty()) { + initAvailableLanguage(); + } + + return s_availableLanguages; } bool VUtils::isValidLanguage(const QString &p_lang) { - for (auto const &lang : c_availableLanguages) { + for (auto const &lang : getAvailableLanguages()) { if (lang.first == p_lang) { return true; } } + return false; } diff --git a/src/utils/vutils.h b/src/utils/vutils.h index 5e274a52..72e53f42 100644 --- a/src/utils/vutils.h +++ b/src/utils/vutils.h @@ -114,8 +114,10 @@ public: static const QString c_fencedCodeBlockEndRegExp; private: + static void initAvailableLanguage(); + // - static const QVector> c_availableLanguages; + static QVector> s_availableLanguages; }; inline QString VUtils::directoryNameFromPath(const QString &p_path)