diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index ae78aa8ff..66429ec07 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -270,6 +270,12 @@ WelcomePage::externallySelectedLanguage( int row ) ui->languageWidget->setCurrentIndex( row ); } +void +WelcomePage::setLanguageIcon( QIcon i ) +{ + ui->languageIcon->setPixmap( i.pixmap(48) ); +} + void LocaleTwoColumnDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const diff --git a/src/modules/welcome/WelcomePage.h b/src/modules/welcome/WelcomePage.h index f05426d38..ec9044a68 100644 --- a/src/modules/welcome/WelcomePage.h +++ b/src/modules/welcome/WelcomePage.h @@ -42,6 +42,8 @@ public: void setUpLinks( bool showSupportUrl, bool showKnownIssuesUrl, bool showReleaseNotesUrl ); + /// @brief Set international language-selector icon + void setLanguageIcon( QIcon ); /// @brief Results of requirements checking bool verdict() const; diff --git a/src/modules/welcome/WelcomePage.ui b/src/modules/welcome/WelcomePage.ui index 51fa19c04..548bd5d27 100644 --- a/src/modules/welcome/WelcomePage.ui +++ b/src/modules/welcome/WelcomePage.ui @@ -67,7 +67,7 @@ - + Select language diff --git a/src/modules/welcome/WelcomeViewStep.cpp b/src/modules/welcome/WelcomeViewStep.cpp index e115565b7..0f18cfa2d 100644 --- a/src/modules/welcome/WelcomeViewStep.cpp +++ b/src/modules/welcome/WelcomeViewStep.cpp @@ -137,6 +137,15 @@ WelcomeViewStep::setConfigurationMap( const QVariantMap& configurationMap ) } ); future->setFuture( handler->queryRaw() ); } + + + QString language = CalamaresUtils::getString( configurationMap, "languageIcon" ); + if ( !language.isEmpty() ) + { + auto icon = QIcon::fromTheme( language ); + if ( !icon.isNull() ) + m_widget->setLanguageIcon( icon ); + } } Calamares::RequirementsList diff --git a/src/modules/welcome/welcome.conf b/src/modules/welcome/welcome.conf index 32b026085..a89b63854 100644 --- a/src/modules/welcome/welcome.conf +++ b/src/modules/welcome/welcome.conf @@ -64,3 +64,16 @@ geoip: style: "none" url: "https://geoip.kde.org/v1/ubiquity" # extended XML format selector: "CountryCode" # blank uses default, which is wrong + +# User interface +# +# The "select language" icon is an international standard, but it +# might not theme very well with your desktop environment. +# Fill in an icon name (following FreeDesktop standards) to +# use that named icon instead of the usual one. +# +# Leave blank or unset to use the international standard. +# +# Known icons in this space are "set-language" and "config-language". +# +# languageIcon: set-language