aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/libLumina/LuminaXDG.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/core/libLumina/LuminaXDG.cpp')
-rw-r--r--src-qt5/core/libLumina/LuminaXDG.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src-qt5/core/libLumina/LuminaXDG.cpp b/src-qt5/core/libLumina/LuminaXDG.cpp
index 7b87cf37..7726eed3 100644
--- a/src-qt5/core/libLumina/LuminaXDG.cpp
+++ b/src-qt5/core/libLumina/LuminaXDG.cpp
@@ -859,6 +859,19 @@ QIcon LXDG::findIcon(QString iconName, QString fallback){
//if(tmp.isNull()){ tmp = QIcon::fromTheme(fallback); }
}
if(!tmp.isNull() && tmp.name()==iconName){ return tmp; } //found this in the theme
+ else if(iconName=="start-here-lumina"){
+ //Additional fallback options for the OS-branded icon
+ QString osname = LOS::OSName().simplified().toLower();
+ QStringList possible; possible << "distributor-logo-"+osname << osname;
+ QStringList words;
+ if(osname.contains(" ")){ words = osname.split(" "); }
+ else if(osname.contains("-")){ words = osname.split("-"); }
+ for(int i=0; i<words.length(); i++){ possible << "distributor-logo-"+words[i] << words[i]; }
+ //qDebug() << "Looking for possible OS icons:" << possible;
+ for(int i=0; i<possible.length(); i++){
+ if(QIcon::hasThemeIcon(possible[i])){ return QIcon::fromTheme(possible[i]); }
+ }
+ }
if(!fallback.isEmpty() && QIcon::hasThemeIcon(fallback)){ tmp = QIcon::fromTheme(fallback); return tmp; } //found this in the theme
bgstack15