Skip to content

Commit c1210ec

Browse files
authored
Merge pull request #3 from linuxdeploy/fix_icons_not_being_loaded
Fix icons not being loaded contributes to linuxdeploy/linuxdeploy-plugin-qt#17
2 parents cea753b + c40563b commit c1210ec

File tree

6 files changed

+458
-10
lines changed

6 files changed

+458
-10
lines changed

Diff for: .travis.yml

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ addons:
1616
- qt510-meta-minimal
1717
- qt510declarative
1818
- qt510webengine
19+
- qt510svg
20+
- qt510imageformats
1921
- mesa-common-dev
2022
- cmake
2123
install:

Diff for: QtWidgetsApplication/QtWidgetsApplication.pro

+3
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,6 @@ icon.files = QtWidgetsApplication.png
3737
desktop_entry.path = $$PREFIX/share/applications
3838
desktop_entry.files = QtWidgetsApplication.desktop
3939
INSTALLS += target icon desktop_entry
40+
41+
RESOURCES += \
42+
resources/icons/icons.qrc

Diff for: QtWidgetsApplication/QtWidgetsApplication.pro.user

+336
Large diffs are not rendered by default.

Diff for: QtWidgetsApplication/mainwindow.cpp

+8-10
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
#include "mainwindow.h"
22
#include "ui_mainwindow.h"
3+
#include <QDebug>
34

45
MainWindow::MainWindow(QWidget *parent) :
56
QMainWindow(parent),
67
ui(new Ui::MainWindow)
78
{
89
ui->setupUi(this);
9-
QAction *action = new QAction(this);
10-
QIcon icon;
11-
auto iconThemeName = QStringLiteral("list-add");
12-
if (QIcon::hasThemeIcon(iconThemeName)) {
13-
icon = QIcon::fromTheme(iconThemeName);
14-
} else {
15-
icon.addFile(QStringLiteral("."), QSize(), QIcon::Normal, QIcon::Off);
16-
}
17-
action->setIcon(icon);
18-
ui->mainToolBar->addAction(action);
10+
11+
// There is no warranty that a given icon will be present in the target platform icons theme
12+
// therefore we must provide a fallback
13+
QIcon addIcon = QIcon::fromTheme("list-add", QIcon(":/scalable/list-add.svg"));
14+
QAction *addAction = new QAction(addIcon, tr("&Add..."), this);
15+
16+
ui->mainToolBar->addAction(addAction);
1917
}
2018

2119
MainWindow::~MainWindow()

Diff for: QtWidgetsApplication/resources/icons/icons.qrc

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<RCC>
2+
<qresource prefix="/">
3+
<file>scalable/list-add.svg</file>
4+
</qresource>
5+
</RCC>
+104
Loading

0 commit comments

Comments
 (0)