File tree Expand file tree Collapse file tree 4 files changed +30
-10
lines changed
Expand file tree Collapse file tree 4 files changed +30
-10
lines changed Original file line number Diff line number Diff line change @@ -189,8 +189,8 @@ int main( int argc, char **argv )
189189 auto sentryClose = qScopeGuard ( [] { sentry_wrapper::close (); } );
190190#endif
191191
192- QTranslator *qfieldTranslator = TranslatorManager::qfieldTranslator ();
193- QTranslator *qtTranslator = TranslatorManager::qtTranslator ();
192+ QTranslator *qfieldTranslator = TranslatorManager::instance ()-> qfieldTranslator ();
193+ QTranslator *qtTranslator = TranslatorManager::instance ()-> qtTranslator ();
194194 bool qfieldTranslatorLoaded = false ;
195195 bool qtTranslatorLoaded = false ;
196196 if ( !customLanguage.isEmpty () )
Original file line number Diff line number Diff line change @@ -240,8 +240,8 @@ void AppInterface::changeLanguage( const QString &languageCode )
240240 return ;
241241 }
242242
243- QTranslator *qfieldTranslator = TranslatorManager::qfieldTranslator ();
244- QTranslator *qtTranslator = TranslatorManager::qtTranslator ();
243+ QTranslator *qfieldTranslator = TranslatorManager::instance ()-> qfieldTranslator ();
244+ QTranslator *qtTranslator = TranslatorManager::instance ()-> qtTranslator ();
245245
246246 QCoreApplication::removeTranslator ( qtTranslator );
247247 QCoreApplication::removeTranslator ( qfieldTranslator );
Original file line number Diff line number Diff line change 1717
1818#include < QTranslator>
1919
20+ TranslatorManager::TranslatorManager ()
21+ : mQfieldTranslator( new QTranslator() )
22+ , mQtTranslator( new QTranslator() )
23+ {
24+ }
25+
2026QTranslator *TranslatorManager::qfieldTranslator ()
2127{
22- static QTranslator *translator = new QTranslator ();
23- return translator;
28+ return mQfieldTranslator ;
2429}
2530
2631QTranslator *TranslatorManager::qtTranslator ()
2732{
28- static QTranslator *translator = new QTranslator ();
29- return translator;
33+ return mQtTranslator ;
34+ }
35+
36+ TranslatorManager *TranslatorManager::instance ()
37+ {
38+ static TranslatorManager *sInstance = new TranslatorManager ();
39+ return sInstance ;
3040}
Original file line number Diff line number Diff line change @@ -29,10 +29,20 @@ class TranslatorManager
2929{
3030 public:
3131 // ! Returns the global QField translator instance.
32- static QTranslator *qfieldTranslator ();
32+ QTranslator *qfieldTranslator ();
3333
3434 // ! Returns the global Qt framework translator instance.
35- static QTranslator *qtTranslator ();
35+ QTranslator *qtTranslator ();
36+
37+ // ! Returns the singleton instance of TranslatorManager.
38+ static TranslatorManager *instance ();
39+
40+ private:
41+ TranslatorManager ();
42+ ~TranslatorManager () = default ;
43+
44+ QTranslator *mQfieldTranslator = nullptr ;
45+ QTranslator *mQtTranslator = nullptr ;
3646};
3747
3848#endif // TRANSLATORMANAGER_H
You can’t perform that action at this time.
0 commit comments