From 1aee8401db89306d64749a20303d2dc2b10c5228 Mon Sep 17 00:00:00 2001 From: Victor Fuentes Date: Sat, 23 Apr 2022 13:51:02 -0400 Subject: [PATCH] [packagechooserq]: allow changing step name --- src/modules/packagechooser/Config.cpp | 16 ++++++++++++++++ src/modules/packagechooser/Config.h | 2 ++ .../packagechooser/PackageChooserViewStep.cpp | 14 +------------- .../packagechooser/PackageChooserViewStep.h | 1 - .../PackageChooserQmlViewStep.cpp | 2 +- src/modules/packagechooserq/packagechooserq.conf | 13 +++++++++++++ 6 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/modules/packagechooser/Config.cpp b/src/modules/packagechooser/Config.cpp index 491fe5c25..667621597 100644 --- a/src/modules/packagechooser/Config.cpp +++ b/src/modules/packagechooser/Config.cpp @@ -237,6 +237,12 @@ Config::setPackageChoice( const QString& packageChoice ) emit packageChoiceChanged( m_packageChoice.value_or( QString() ) ); } +QString +Config::prettyName() const +{ + return m_stepName ? m_stepName->get() : tr( "Packages" ); +} + QString Config::prettyStatus() const { @@ -343,4 +349,14 @@ Config::setConfigurationMap( const QVariantMap& configurationMap ) cWarning() << "Single-selection QML module must use 'Legacy' method."; } } + + bool labels_ok = false; + auto labels = CalamaresUtils::getSubMap( configurationMap, "labels", labels_ok ); + if ( labels_ok ) + { + if ( labels.contains( "step" ) ) + { + m_stepName = new CalamaresUtils::Locale::TranslatedString( labels, "step" ); + } + } } diff --git a/src/modules/packagechooser/Config.h b/src/modules/packagechooser/Config.h index b04b1c30b..d1b783a8d 100644 --- a/src/modules/packagechooser/Config.h +++ b/src/modules/packagechooser/Config.h @@ -98,6 +98,7 @@ public: QString packageChoice() const { return m_packageChoice.value_or( QString() ); } void setPackageChoice( const QString& packageChoice ); + QString prettyName() const; QString prettyStatus() const; signals: @@ -120,6 +121,7 @@ private: * Reading the property will return an empty QString. */ std::optional< QString > m_packageChoice; + CalamaresUtils::Locale::TranslatedString* m_stepName; // As it appears in the sidebar }; diff --git a/src/modules/packagechooser/PackageChooserViewStep.cpp b/src/modules/packagechooser/PackageChooserViewStep.cpp index 9057004de..c3f2ce6e2 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.cpp +++ b/src/modules/packagechooser/PackageChooserViewStep.cpp @@ -29,7 +29,6 @@ PackageChooserViewStep::PackageChooserViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_config( new Config( this ) ) , m_widget( nullptr ) - , m_stepName( nullptr ) { emit nextStatusChanged( false ); } @@ -41,14 +40,13 @@ PackageChooserViewStep::~PackageChooserViewStep() { m_widget->deleteLater(); } - delete m_stepName; } QString PackageChooserViewStep::prettyName() const { - return m_stepName ? m_stepName->get() : tr( "Packages" ); + return m_config->prettyName(); } @@ -139,16 +137,6 @@ PackageChooserViewStep::setConfigurationMap( const QVariantMap& configurationMap m_config->setDefaultId( moduleInstanceKey() ); m_config->setConfigurationMap( configurationMap ); - bool labels_ok = false; - auto labels = CalamaresUtils::getSubMap( configurationMap, "labels", labels_ok ); - if ( labels_ok ) - { - if ( labels.contains( "step" ) ) - { - m_stepName = new CalamaresUtils::Locale::TranslatedString( labels, "step" ); - } - } - if ( m_widget ) { hookupModel(); diff --git a/src/modules/packagechooser/PackageChooserViewStep.h b/src/modules/packagechooser/PackageChooserViewStep.h index 7561f2bd7..76b35aed8 100644 --- a/src/modules/packagechooser/PackageChooserViewStep.h +++ b/src/modules/packagechooser/PackageChooserViewStep.h @@ -50,7 +50,6 @@ private: Config* m_config; PackageChooserPage* m_widget; - CalamaresUtils::Locale::TranslatedString* m_stepName; // As it appears in the sidebar }; CALAMARES_PLUGIN_FACTORY_DECLARATION( PackageChooserViewStepFactory ) diff --git a/src/modules/packagechooserq/PackageChooserQmlViewStep.cpp b/src/modules/packagechooserq/PackageChooserQmlViewStep.cpp index 543c9771d..ae4aa3c48 100644 --- a/src/modules/packagechooserq/PackageChooserQmlViewStep.cpp +++ b/src/modules/packagechooserq/PackageChooserQmlViewStep.cpp @@ -29,7 +29,7 @@ PackageChooserQmlViewStep::PackageChooserQmlViewStep( QObject* parent ) QString PackageChooserQmlViewStep::prettyName() const { - return tr( "Packages" ); + return m_config->prettyName(); } QString diff --git a/src/modules/packagechooserq/packagechooserq.conf b/src/modules/packagechooserq/packagechooserq.conf index 803c6f670..9c1878f34 100644 --- a/src/modules/packagechooserq/packagechooserq.conf +++ b/src/modules/packagechooserq/packagechooserq.conf @@ -42,6 +42,19 @@ # method: legacy +# Human-visible strings in this module. These are all optional. +# The following translated keys are used: +# - *step*, used in the overall progress view (left-hand pane) +# +# Each key can have a [locale] added to it, which is used as +# the translated string for that locale. For the strings +# associated with the "no-selection" item, see *items*, below +# with the explicit item-*id* "". +# +labels: + step: "Packages" + step[nl]: "Pakketten" + # The *packageChoice* value is used for setting the default selection # in the QML view; this should match one of the keys used in the QML # module for package names.