Merge lp:~larsu/ubuntu-ui-toolkit/support-usr-share-pixmaps into lp:ubuntu-ui-toolkit/staging

Proposed by Lars Karlitski
Status: Work in progress
Proposed branch: lp:~larsu/ubuntu-ui-toolkit/support-usr-share-pixmaps
Merge into: lp:ubuntu-ui-toolkit/staging
Diff against target: 40 lines (+13/-7)
1 file modified
modules/Ubuntu/Components/plugin/unitythemeiconprovider.cpp (+13/-7)
To merge this branch: bzr merge lp:~larsu/ubuntu-ui-toolkit/support-usr-share-pixmaps
Reviewer Review Type Date Requested Status
Zsombor Egri Needs Fixing
PS Jenkins bot continuous-integration Needs Fixing
Review via email: mp+233694@code.launchpad.net

Commit message

unitythemeiconprovider: support icons in /usr/share/pixmaps and .xpm

Description of the change

unitythemeiconprovider: support icons in /usr/share/pixmaps and .xpm

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Zsombor Egri (zsombi) wrote :

Could we get a unit test for this? Thank you.

review: Needs Fixing

Unmerged revisions

1241. By Lars Karlitski

unitythemeiconprovider: support icons in /usr/share/pixmaps and .xpm

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'modules/Ubuntu/Components/plugin/unitythemeiconprovider.cpp'
2--- modules/Ubuntu/Components/plugin/unitythemeiconprovider.cpp 2014-09-02 09:39:09 +0000
3+++ modules/Ubuntu/Components/plugin/unitythemeiconprovider.cpp 2014-09-08 10:21:23 +0000
4@@ -125,7 +125,7 @@
5 {
6 QPixmap pixmap;
7
8- if (filename.endsWith(".png")) {
9+ if (filename.endsWith(".png") || filename.endsWith(".xpm")) {
10 pixmap = QPixmap(filename);
11 if (!pixmap.isNull() && size > 0 && (pixmap.width() != size || pixmap.height() != size))
12 pixmap = pixmap.scaled(size, size, Qt::KeepAspectRatioByExpanding);
13@@ -144,15 +144,21 @@
14
15 QString lookupIconFile(const QString &dir, const QString &name)
16 {
17- QString png = QString("%1/%2.png").arg(dir).arg(name);
18- QString svg = QString("%1/%2.svg").arg(dir).arg(name);
19+ static QStringList extensions = QStringList() << "png" << "xpm" << "svg";
20
21 Q_FOREACH(const QString &baseDir, baseDirs) {
22- QString filename = baseDir + "/" + png;
23- if (QFileInfo::exists(filename))
24- return filename;
25+ Q_FOREACH(const QString &ext, extensions) {
26+ QString filename = QString("%1/%2/%3.%4").arg(baseDir).arg(dir).arg(name).arg(ext);
27+ if (QFileInfo::exists(filename))
28+ return filename;
29+ }
30+ }
31
32- filename = baseDir + "/" + svg;
33+ // Fall back to looking in /usr/share/pixmaps. That directory isn't a
34+ // real theme (it lacks an index.theme), but has icon files in the top
35+ // level.
36+ Q_FOREACH(const QString &ext, extensions) {
37+ QString filename = QString("/usr/share/pixmaps/%3.%4").arg(name).arg(ext);
38 if (QFileInfo::exists(filename))
39 return filename;
40 }

Subscribers

People subscribed via source and target branches