X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fapplication.cpp;h=cce6393c39054fb4a961fdc1bd789863e9495d69;hp=3e4691d0776434398467cd0cd0b3230bc37317ec;hb=HEAD;hpb=4353c902e15b08115d42ca18b0db84d4b31a7930 diff --git a/pv/application.cpp b/pv/application.cpp index 3e4691d0..cce6393c 100644 --- a/pv/application.cpp +++ b/pv/application.cpp @@ -36,6 +36,8 @@ #include #endif +#include + #include "application.hpp" #include "config.h" #include "globalsettings.hpp" @@ -65,15 +67,15 @@ Application::Application(int &argc, char* argv[]) : setOrganizationDomain("sigrok.org"); } -QStringList Application::get_languages() +const QStringList Application::get_languages() const { - QStringList files = QDir(":/l10n/").entryList(QStringList("*.qm"), QDir::Files); + const QStringList files = QDir(":/l10n/").entryList(QStringList("*.qm"), QDir::Files); QStringList result; result << "en"; // Add default language to the set // Remove file extensions - for (QString file : files) + for (const QString& file : files) result << file.split(".").front(); result.sort(Qt::CaseInsensitive); @@ -81,6 +83,16 @@ QStringList Application::get_languages() return result; } +const QString Application::get_language_editors(const QString& language) const +{ + if (language == "de") return "Sören Apel, Uwe Hermann"; + if (language == "es_MX") return "Carlos Diaz, Ulices Avila Hernandez"; + if (language == "ja_jp") return "Yukari Shoji"; + if (language == "zh_cn") return "ZtyPro"; + + return QString(); +} + void Application::switch_language(const QString& language) { removeTranslator(&app_translator_); @@ -96,7 +108,11 @@ void Application::switch_language(const QString& language) qWarning() << "Translation resource" << resource << "not found"; // Qt translations +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + QString tr_path(QLibraryInfo::path(QLibraryInfo::TranslationsPath)); +#else QString tr_path(QLibraryInfo::location(QLibraryInfo::TranslationsPath)); +#endif if (qt_translator_.load("qt_" + language, tr_path)) installTranslator(&qt_translator_); @@ -133,13 +149,14 @@ void Application::on_setting_changed(const QString &key, const QVariant &value) switch_language(value.toString()); } -void Application::collect_version_info(shared_ptr context) +void Application::collect_version_info(pv::DeviceManager &device_manager) { // Library versions and features version_info_.emplace_back(applicationName(), applicationVersion()); version_info_.emplace_back("Qt", qVersion()); version_info_.emplace_back("glibmm", PV_GLIBMM_VERSION); version_info_.emplace_back("Boost", BOOST_LIB_VERSION); + version_info_.emplace_back("exprtk", QString::fromUtf8(exprtk::information::date)); version_info_.emplace_back("libsigrok", QString("%1/%2 (rt: %3/%4)") .arg(SR_PACKAGE_VERSION_STRING, SR_LIB_VERSION_STRING, @@ -200,17 +217,18 @@ void Application::collect_version_info(shared_ptr context) #endif // Device drivers - for (auto& entry : context->drivers()) - driver_list_.emplace_back(QString::fromUtf8(entry.first.c_str()), - QString::fromUtf8(entry.second->long_name().c_str())); + for (auto& entry : device_manager.context()->drivers()) + if (device_manager.driver_supported(entry.second)) + driver_list_.emplace_back(QString::fromUtf8(entry.first.c_str()), + QString::fromUtf8(entry.second->long_name().c_str())); // Input formats - for (auto& entry : context->input_formats()) + for (auto& entry : device_manager.context()->input_formats()) input_format_list_.emplace_back(QString::fromUtf8(entry.first.c_str()), QString::fromUtf8(entry.second->description().c_str())); // Output formats - for (auto& entry : context->output_formats()) + for (auto& entry : device_manager.context()->output_formats()) output_format_list_.emplace_back(QString::fromUtf8(entry.first.c_str()), QString::fromUtf8(entry.second->description().c_str()));