* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
+#ifndef HAVE_KDE
+
+#include <QCoreApplication>
#include <QDebug>
#include <QDir>
#include <QFile>
_themedIconDirNames.clear();
_plainIconDirNames.clear();
QString path;
- QStringList dataDirNames = QString(qgetenv("XDG_DATA_DIRS")).split(':');
+ QStringList dataDirNames = QString(qgetenv("XDG_DATA_DIRS")).split(':', QString::SkipEmptyParts);
+
+// Provide a fallback
+# ifdef Q_OS_UNIX
+ if(dataDirNames.isEmpty()) dataDirNames.append("/usr/share");
+ // on UNIX, we always check our install prefix
+ QString appDir = QCoreApplication::applicationDirPath();
+ int binpos = appDir.lastIndexOf("/bin");
+ if(binpos >= 0) {
+ appDir.replace(binpos, 4, "/share");
+ if(!dataDirNames.contains(appDir)) dataDirNames.append(appDir);
+ }
+# endif
// System theme in $data/icons/$theme
foreach(QString dir, dataDirNames) {
_themedIconDirNames.append(path);
}
// Resource for system theme :/icons/$theme
- path = QString(":/icons/%2");
+ path = QString(":/icons/%1").arg(theme);
if(QFile::exists(path))
_themedIconDirNames.append(path);
// Own icons in $data/apps/quassel/icons/hicolor
// Also, plain icon dirs $data/apps/quassel/pics
foreach(QString dir, dataDirNames) {
- path = QString("%1/apps/quassel/icons/hicolor").arg(dir);
+ path = QString("%1/icons/hicolor").arg(dir);
if(QFile::exists(path))
_themedIconDirNames.append(path);
path = QString("%1/apps/quassel/pics").arg(dir);
IconLoader *loader = IconLoader::global();
return loader->loadIcon(name, IconLoader::Small, force_size);
}
+
+#endif