From bd56579c7d9de94c17287adefa118290e6b7ba33 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Fri, 23 Feb 2018 23:49:48 +0000 Subject: New upstream version 1.4.0.3 --- LanguagesManager.cpp | 152 ++++++++++++++++++++++++++------------------------- 1 file changed, 77 insertions(+), 75 deletions(-) (limited to 'LanguagesManager.cpp') diff --git a/LanguagesManager.cpp b/LanguagesManager.cpp index 5393e28..a8849c4 100644 --- a/LanguagesManager.cpp +++ b/LanguagesManager.cpp @@ -8,20 +8,21 @@ #include "LanguagesManager.h" #include "FacilityEngine.h" +#include "cpp11addition.h" /// \brief Create the manager and load the defaults variables LanguagesManager::LanguagesManager() { - ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); //load the rest - QStringList resourcesPaths=ResourcesManager::resourcesManager->getReadPath(); - int index=0; + std::vector resourcesPaths=ResourcesManager::resourcesManager->getReadPath(); + unsigned int index=0; while(index list=PluginsManager::pluginsManager->getPluginsByCategory(PluginType_Languages); + std::vector list=PluginsManager::pluginsManager->getPluginsByCategory(PluginType_Languages); foreach(PluginsAvailable currentPlugin,list) emit previouslyPluginAdded(currentPlugin); PluginsManager::pluginsManager->unlockPluginListEdition(); //load the GUI option - QList > KeysList; - KeysList.append(qMakePair(QStringLiteral("Language"),QVariant("en"))); - KeysList.append(qMakePair(QStringLiteral("Language_force"),QVariant(false))); + std::vector > KeysList; + KeysList.push_back(std::pair("Language","en")); + KeysList.push_back(std::pair("Language_force","false")); OptionEngine::optionEngine->addOptionGroup("Language",KeysList); // connect(this, &LanguagesManager::newLanguageLoaded, plugins,&PluginsManager::refreshPluginList); // connect(this, &LanguagesManager::newLanguageLoaded, this,&LanguagesManager::retranslateTheUI); @@ -53,9 +54,9 @@ LanguagesManager::~LanguagesManager() } /// \brief load the language selected, return the main short code like en, fr, .. -QString LanguagesManager::getTheRightLanguage() const +std::string LanguagesManager::getTheRightLanguage() const { - ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); if(LanguagesAvailableList.size()==0) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"empty combobox list, failing back to english"); @@ -63,43 +64,43 @@ QString LanguagesManager::getTheRightLanguage() const } else { - if(!OptionEngine::optionEngine->getOptionValue(QStringLiteral("Language"),QStringLiteral("Language_force")).toBool()) + if(!stringtobool(OptionEngine::optionEngine->getOptionValue("Language","Language_force"))) { - ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("language auto-detection, QLocale::system().name(): ")+QLocale::system().name()+QStringLiteral(", QLocale::languageToString(QLocale::system().language()): ")+QLocale::languageToString(QLocale::system().language())); - QString tempLanguage=getMainShortName(QLocale::languageToString(QLocale::system().language())); - if(tempLanguage!=QStringLiteral("")) + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"language auto-detection, QLocale::system().name(): "+QLocale::system().name().toStdString()+", QLocale::languageToString(QLocale::system().language()): "+QLocale::languageToString(QLocale::system().language()).toStdString()); + std::string tempLanguage=getMainShortName(QLocale::languageToString(QLocale::system().language()).toStdString()); + if(!tempLanguage.empty()) return tempLanguage; else { - tempLanguage=getMainShortName(QLocale::system().name()); - if(tempLanguage!=QStringLiteral("")) + tempLanguage=getMainShortName(QLocale::system().name().toStdString()); + if(!tempLanguage.empty()) return tempLanguage; else { - ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("Autodetection of the language failed, QLocale::languageToString(QLocale::system().language()): ")+QLocale::languageToString(QLocale::system().language())+QStringLiteral(", QLocale::system().name(): ")+QLocale::system().name()+", failing back to english"); - return OptionEngine::optionEngine->getOptionValue(QStringLiteral("Language"),QStringLiteral("Language")).toString(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Autodetection of the language failed, QLocale::languageToString(QLocale::system().language()): "+QLocale::languageToString(QLocale::system().language()).toStdString()+", QLocale::system().name(): "+QLocale::system().name().toStdString()+", failing back to english"); + return OptionEngine::optionEngine->getOptionValue("Language","Language"); } } } else - return OptionEngine::optionEngine->getOptionValue(QStringLiteral("Language"),QStringLiteral("Language")).toString(); + return OptionEngine::optionEngine->getOptionValue("Language","Language"); } } /* \brief To set the current language \param newLanguage Should be short name code found into informations.xml of language file */ -void LanguagesManager::setCurrentLanguage(const QString &newLanguage) +void LanguagesManager::setCurrentLanguage(const std::string &newLanguage) { - ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start: ")+newLanguage); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start: "+newLanguage); //protection for re-set the same language if(currentLanguage==newLanguage) return; //store the language PluginsManager::pluginsManager->setLanguage(newLanguage); //unload the old language - if(currentLanguage!=QStringLiteral("en")) + if(currentLanguage!="en") { - int indexTranslator=0; + unsigned int indexTranslator=0; while(indexTranslator fileToLoad; //load the language main - if(newLanguage==QStringLiteral("en")) - fileToLoad< listLoadedPlugins=PluginsManager::pluginsManager->getPlugins(); - int indexPluginIndex=0; + std::vector listLoadedPlugins=PluginsManager::pluginsManager->getPlugins(); + unsigned int indexPluginIndex=0; while(indexPluginIndexload(fileToLoad.at(indexTranslationFile)) || temp->isEmpty()) + if(!temp->load(QString::fromStdString(fileToLoad.at(indexTranslationFile))) || temp->isEmpty()) { delete temp; - ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("Unable to load the translation file: ")+fileToLoad.at(indexTranslationFile)); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to load the translation file: "+fileToLoad.at(indexTranslationFile)); } else { QCoreApplication::installTranslator(temp); - installedTranslator<load(QString("qt_")+newLanguage, QLibraryInfo::location(QLibraryInfo::TranslationsPath)) && !temp->isEmpty()) + if(temp->load(QString("qt_")+QString::fromStdString(newLanguage), QLibraryInfo::location(QLibraryInfo::TranslationsPath)) && !temp->isEmpty()) { QCoreApplication::installTranslator(temp); - installedTranslator<load(LanguagesAvailableList.at(index).path+QStringLiteral("qt.qm")) || temp->isEmpty()) + if(!temp->load(QString::fromStdString(LanguagesAvailableList.at(index).path)+"qt.qm") || temp->isEmpty()) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Unable to load the translation file: qt.qm, into: "+LanguagesAvailableList.at(index).path); delete temp; @@ -169,30 +170,31 @@ void LanguagesManager::setCurrentLanguage(const QString &newLanguage) else { QCoreApplication::installTranslator(temp); - installedTranslator<allPluginHaveBeenLoaded()) setCurrentLanguage(getTheRightLanguage()); } @@ -262,8 +264,8 @@ void LanguagesManager::onePluginAdded(const PluginsAvailable &plugin) #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE void LanguagesManager::onePluginWillBeRemoved(const PluginsAvailable &plugin) { - ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); - int index=0; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + unsigned int index=0; while(index