1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-03 06:04:53 +00:00

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 <tcberner@gmail.com>
MFH:		2015Q2
This commit is contained in:
Raphael Kubo da Costa 2015-04-21 11:58:32 +00:00
parent e1ce9f7603
commit 7dd1ba839a
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=384421
2 changed files with 40 additions and 0 deletions

View File

@ -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=

View File

@ -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;
+ }
}
}
}