From f0c754bece82666d067a8c38aa5edc392bacb3b6 Mon Sep 17 00:00:00 2001 From: Jared Van Bortel Date: Tue, 16 Jul 2024 14:02:12 -0400 Subject: [PATCH] main: set llmodel search path before initializing MySettings (#2677) This fixes a regression in PR #2659. Signed-off-by: Jared Van Bortel --- gpt4all-chat/main.cpp | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/gpt4all-chat/main.cpp b/gpt4all-chat/main.cpp index e28425fd..d502903e 100644 --- a/gpt4all-chat/main.cpp +++ b/gpt4all-chat/main.cpp @@ -33,18 +33,7 @@ int main(int argc, char *argv[]) QGuiApplication app(argc, argv); - // Set the local and language translation before the qml engine has even been started. This will - // use the default system locale unless the user has explicitly set it to use a different one. - MySettings::globalInstance()->setLanguageAndLocale(); - - QQmlApplicationEngine engine; - - // Add a connection here from MySettings::languageAndLocaleChanged signal to a lambda slot where I can call - // engine.uiLanguage property - QObject::connect(MySettings::globalInstance(), &MySettings::languageAndLocaleChanged, [&engine]() { - engine.setUiLanguage(MySettings::globalInstance()->languageAndLocale()); - }); - + // set search path before constructing the MySettings instance, which relies on this QString llmodelSearchPaths = QCoreApplication::applicationDirPath(); const QString libDir = QCoreApplication::applicationDirPath() + "/../lib/"; if (LLM::directoryExists(libDir)) @@ -59,6 +48,18 @@ int main(int argc, char *argv[]) #endif LLModel::Implementation::setImplementationsSearchPath(llmodelSearchPaths.toStdString()); + // Set the local and language translation before the qml engine has even been started. This will + // use the default system locale unless the user has explicitly set it to use a different one. + MySettings::globalInstance()->setLanguageAndLocale(); + + QQmlApplicationEngine engine; + + // Add a connection here from MySettings::languageAndLocaleChanged signal to a lambda slot where I can call + // engine.uiLanguage property + QObject::connect(MySettings::globalInstance(), &MySettings::languageAndLocaleChanged, [&engine]() { + engine.setUiLanguage(MySettings::globalInstance()->languageAndLocale()); + }); + qmlRegisterSingletonInstance("mysettings", 1, 0, "MySettings", MySettings::globalInstance()); qmlRegisterSingletonInstance("modellist", 1, 0, "ModelList", ModelList::globalInstance()); qmlRegisterSingletonInstance("chatlistmodel", 1, 0, "ChatListModel", ChatListModel::globalInstance());