diff options
author | Thomas Preud'homme <robotux@celest.fr> | 2018-02-23 23:49:48 +0000 |
---|---|---|
committer | Thomas Preud'homme <robotux@celest.fr> | 2018-02-23 23:49:48 +0000 |
commit | bd56579c7d9de94c17287adefa118290e6b7ba33 (patch) | |
tree | 666d7d0b6945b442573b7a3145969f66a53aa460 /PluginInformation.cpp | |
parent | b3c8bdcc0d1e4b2ab298847a7902b6d60410a5bc (diff) |
New upstream version 1.4.0.3
Diffstat (limited to 'PluginInformation.cpp')
-rw-r--r-- | PluginInformation.cpp | 76 |
1 files changed, 36 insertions, 40 deletions
diff --git a/PluginInformation.cpp b/PluginInformation.cpp index 3f5a09a..8c1551c 100644 --- a/PluginInformation.cpp +++ b/PluginInformation.cpp @@ -5,6 +5,7 @@ #include "PluginInformation.h" #include "ui_PluginInformation.h" +#include "cpp11addition.h" PluginInformation::PluginInformation() : ui(new Ui::PluginInformation) @@ -25,37 +26,30 @@ void PluginInformation::setPlugin(const PluginsAvailable &plugin) retranslateInformation(); } -void PluginInformation::setLanguage(const QString &language) +void PluginInformation::setLanguage(const std::string &language) { this->language=language; } -QString PluginInformation::categoryToTranslation(const PluginType &category) const +std::string PluginInformation::categoryToTranslation(const PluginType &category) const { switch(category) { case PluginType_CopyEngine: - return tr("Copy engine"); - break; + return tr("Copy engine").toStdString(); case PluginType_Languages: - return tr("Languages"); - break; + return tr("Languages").toStdString(); case PluginType_Listener: - return tr("Listener"); - break; + return tr("Listener").toStdString(); case PluginType_PluginLoader: - return tr("Plugin loader"); - break; + return tr("Plugin loader").toStdString(); case PluginType_SessionLoader: - return tr("Session loader"); - break; + return tr("Session loader").toStdString(); case PluginType_Themes: - return tr("Themes"); - break; + return tr("Themes").toStdString(); default: ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"cat translation not found"); - return tr("Unknown"); - break; + return tr("Unknown").toStdString(); } } @@ -64,60 +58,62 @@ void PluginInformation::retranslateInformation() if(!pluginIsLoaded) return; ui->retranslateUi(this); - this->setWindowTitle(tr("Information about %1").arg(plugin.name)); - ui->name->setText(plugin.name); - ui->title->setText(getTranslatedText(plugin,QStringLiteral("title"),language)); - ui->category->setText(categoryToTranslation(plugin.category)); - ui->author->setText(getInformationText(plugin,QStringLiteral("author"))); - QString website=getTranslatedText(plugin,QStringLiteral("website"),language); + this->setWindowTitle(tr("Information about %1").arg(QString::fromStdString(plugin.name))); + ui->name->setText(QString::fromStdString(plugin.name)); + ui->title->setText(QString::fromStdString(getTranslatedText(plugin,"title",language))); + ui->category->setText(QString::fromStdString(categoryToTranslation(plugin.category))); + ui->author->setText(QString::fromStdString(getInformationText(plugin,"author"))); + QString website=QString::fromStdString(getTranslatedText(plugin,"website",language)); ui->website->setText(QStringLiteral("<a href=\"")+website+QStringLiteral("\" title=\"")+website+QStringLiteral("\">")+website+QStringLiteral("</a>")); bool ok; - int timeStamps=getInformationText(plugin,QStringLiteral("pubDate")).toInt(&ok); + int timeStamps=stringtoint32(getInformationText(plugin,"pubDate"),&ok); QDateTime date; date.setTime_t(timeStamps); ui->date->setDateTime(date); if(!ok || timeStamps<=0) ui->date->setEnabled(false); - ui->description->setPlainText(getTranslatedText(plugin,QStringLiteral("description"),language)); - ui->version->setText(getInformationText(plugin,QStringLiteral("version"))); + ui->description->setPlainText(QString::fromStdString(getTranslatedText(plugin,"description",language))); + ui->version->setText(QString::fromStdString(getInformationText(plugin,"version"))); } /// \brief get informations text -QString PluginInformation::getInformationText(const PluginsAvailable &plugin,const QString &informationName) +std::string PluginInformation::getInformationText(const PluginsAvailable &plugin,const std::string &informationName) { - int index=0; + unsigned int index=0; while(index<plugin.informations.size()) { - if(plugin.informations.at(index).size()==2 && plugin.informations.at(index).first()==informationName) - return plugin.informations.at(index).last(); + const std::vector<std::string> &information=plugin.informations.at(index); + if(information.size()==2 && information.front()==informationName) + return information.back(); index++; } ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"information not found: "+informationName+", for: "+plugin.name+", cat: "+categoryToTranslation(plugin.category)); - return ""; + return std::string(); } /// \brief get translated text -QString PluginInformation::getTranslatedText(const PluginsAvailable &plugin,const QString &informationName,const QString &mainShortName) +std::string PluginInformation::getTranslatedText(const PluginsAvailable &plugin,const std::string &informationName,const std::string &mainShortName) { - int index=0; - QString TextFound; + unsigned int index=0; + std::string TextFound; while(index<plugin.informations.size()) { - if(plugin.informations.at(index).size()==3) + const std::vector<std::string> &information=plugin.informations.at(index); + if(information.size()==3) { - if(plugin.informations.at(index).first()==informationName) + if(information.front()==informationName) { - if(plugin.informations.at(index).at(1)==mainShortName) - return plugin.informations.at(index).last(); - else if(plugin.informations.at(index).at(1)==QStringLiteral("en")) - TextFound=plugin.informations.at(index).last(); + if(information.at(1)==mainShortName) + return information.back(); + else if(information.at(1)=="en") + TextFound=information.back(); } } index++; } #ifdef ULTRACOPIER_DEBUG - if(TextFound.isEmpty() || TextFound.isEmpty()) + if(TextFound.empty() || TextFound.empty()) ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"text is not found or empty for: "+informationName+", with the language: "+mainShortName+", for the plugin: "+plugin.path); #endif // ULTRACOPIER_DEBUG return TextFound; |