From 7dd1ba839ad842b4b701153066d49ab1f229ef09 Mon Sep 17 00:00:00 2001 From: Raphael Kubo da Costa Date: Tue, 21 Apr 2015 11:58:32 +0000 Subject: [PATCH] Look for icons in places other than /usr/share/icons. Incorporate upstream commit 5750: - When checking for icon themes, also check in $PREFIX - Also ensure path is in QIcon's theme path This makes the port correctly find/show icons in the UI. PR: 199549 Submitted by: Tobias Berner MFH: 2015Q2 --- audio/cantata/Makefile | 1 + .../patch-svn-5739-gui__application_qt.cpp | 39 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 audio/cantata/files/patch-svn-5739-gui__application_qt.cpp diff --git a/audio/cantata/Makefile b/audio/cantata/Makefile index ac251d221002..95e64da99bf9 100644 --- a/audio/cantata/Makefile +++ b/audio/cantata/Makefile @@ -2,6 +2,7 @@ PORTNAME= cantata PORTVERSION= 1.5.1 +PORTREVISION= 1 CATEGORIES= audio kde MASTER_SITES= https://drive.google.com/uc?export=download&id=0Bzghs6gQWi60UktwaTRMTjRIUW8&dummy= diff --git a/audio/cantata/files/patch-svn-5739-gui__application_qt.cpp b/audio/cantata/files/patch-svn-5739-gui__application_qt.cpp new file mode 100644 index 000000000000..e484d62f8146 --- /dev/null +++ b/audio/cantata/files/patch-svn-5739-gui__application_qt.cpp @@ -0,0 +1,39 @@ +Look for icons in more than just /usr/share -- upstream svn patch: +Log message + +- When checking for icon themes, also check in $PREFIX +- Also ensure path is in QIcon's theme path + +https://code.google.com/p/cantata/source/detail?r=5740 + + +Index: gui/application_qt.cpp +=================================================================== +--- gui/application_qt.cpp (revision 5739) ++++ gui/application_qt.cpp (working copy) +@@ -45,11 +45,21 @@ + // or gnome icon themes are installed, and set theme to one of those. + if (!QIcon::hasThemeIcon("document-save-as")) { + QStringList themes=QStringList() << QLatin1String("oxygen") << QLatin1String("gnome"); ++ QStringList prefixes=QStringList() << QLatin1String("/usr") << QLatin1String("/usr/local"); ++ if (!prefixes.contains(QLatin1String(INSTALL_PREFIX))) { ++ prefixes+=QLatin1String(INSTALL_PREFIX); ++ } + foreach (const QString &theme, themes) { +- QString dir(QLatin1String("/usr/share/icons/")+theme); +- if (QDir(dir).exists()) { +- QIcon::setThemeName(theme); +- return; ++ foreach (const QString &prefix, prefixes) { ++ QString dir(prefix+QLatin1String("/share/icons/")+theme); ++ if (QDir(dir).exists()) { ++ QIcon::setThemeName(theme); ++ // Add to theme search paths, if it is not there already... ++ if (!QIcon::themeSearchPaths().contains(prefix+QLatin1String("/share/icons"))) { ++ QIcon::setThemeSearchPaths(QIcon::themeSearchPaths() << QString(prefix+QLatin1String("/share/icons"))); ++ } ++ return; ++ } + } + } + }