diff --git a/src/modules/netinstall/NetInstallPage.cpp b/src/modules/netinstall/NetInstallPage.cpp index 33c8b0d01..c30dbb4da 100644 --- a/src/modules/netinstall/NetInstallPage.cpp +++ b/src/modules/netinstall/NetInstallPage.cpp @@ -41,6 +41,7 @@ NetInstallPage::NetInstallPage( QWidget* parent ) , m_groups( nullptr ) { ui->setupUi( this ); + setPageTitle( nullptr ); CALAMARES_RETRANSLATE_SLOT( &NetInstallPage::retranslate ); } @@ -50,6 +51,22 @@ NetInstallPage::~NetInstallPage() delete m_reply; } +void +NetInstallPage::setPageTitle( CalamaresUtils::Locale::TranslatedString* t ) +{ + m_title.reset( t ); + if ( !m_title ) + { + ui->label->hide(); + } + else + { + ui->label->show(); + } + retranslate(); +} + + void NetInstallPage::retranslate() { @@ -58,6 +75,10 @@ NetInstallPage::retranslate() m_groups->setHeaderData( 0, Qt::Horizontal, tr( "Name" ) ); m_groups->setHeaderData( 1, Qt::Horizontal, tr( "Description" ) ); } + if ( ui && m_title ) + { + ui->label->setText( m_title->get() ); // That's get() on the TranslatedString + } } bool diff --git a/src/modules/netinstall/NetInstallPage.h b/src/modules/netinstall/NetInstallPage.h index cacb24e49..12633c6b9 100644 --- a/src/modules/netinstall/NetInstallPage.h +++ b/src/modules/netinstall/NetInstallPage.h @@ -24,9 +24,13 @@ #include "PackageModel.h" #include "PackageTreeItem.h" +#include "locale/TranslatableConfiguration.h" + #include #include +#include + class QNetworkReply; namespace Ui @@ -41,6 +45,17 @@ public: NetInstallPage( QWidget* parent = nullptr ); virtual ~NetInstallPage(); + /** @brief Sets the page title + * + * In situations where there is more than one netinstall page, + * or you want some explanatory title above the treeview, + * set the page title. This page takes ownership of the + * TranslatedString object. + * + * Set to nullptr to remove the title. + */ + void setPageTitle( CalamaresUtils::Locale::TranslatedString* ); + void onActivate(); /** @brief Retrieves the groups, with name, description and packages @@ -77,6 +92,8 @@ private: Ui::Page_NetInst* ui; + std::unique_ptr< CalamaresUtils::Locale::TranslatedString > m_title; // Above the treeview + QNetworkReply* m_reply; PackageModel* m_groups; bool m_required; diff --git a/src/modules/netinstall/NetInstallViewStep.cpp b/src/modules/netinstall/NetInstallViewStep.cpp index 178862aa7..3227ecd65 100644 --- a/src/modules/netinstall/NetInstallViewStep.cpp +++ b/src/modules/netinstall/NetInstallViewStep.cpp @@ -203,6 +203,6 @@ NetInstallViewStep::setConfigurationMap( const QVariantMap& configurationMap ) } if ( label.contains( "title" ) ) { - // Set that label on the page + m_widget->setPageTitle( new CalamaresUtils::Locale::TranslatedString( label, "title" ) ); } } diff --git a/src/modules/netinstall/page_netinst.ui b/src/modules/netinstall/page_netinst.ui index 3aa4e57ec..917057ff4 100644 --- a/src/modules/netinstall/page_netinst.ui +++ b/src/modules/netinstall/page_netinst.ui @@ -14,6 +14,16 @@ + + + + Title of Netinstall Module + + + Qt::AlignCenter + + + @@ -31,7 +41,7 @@ 0 0 981 - 434 + 407