diff --git a/.travis.yml b/.travis.yml index 7e50322..59ce1c8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,6 +16,8 @@ addons: - qt510-meta-minimal - qt510declarative - qt510webengine + - qt510svg + - qt510imageformats - mesa-common-dev - cmake install: diff --git a/QtWidgetsApplication/QtWidgetsApplication.pro b/QtWidgetsApplication/QtWidgetsApplication.pro index 1b02750..81742ab 100644 --- a/QtWidgetsApplication/QtWidgetsApplication.pro +++ b/QtWidgetsApplication/QtWidgetsApplication.pro @@ -37,3 +37,6 @@ icon.files = QtWidgetsApplication.png desktop_entry.path = $$PREFIX/share/applications desktop_entry.files = QtWidgetsApplication.desktop INSTALLS += target icon desktop_entry + +RESOURCES += \ + resources/icons/icons.qrc diff --git a/QtWidgetsApplication/QtWidgetsApplication.pro.user b/QtWidgetsApplication/QtWidgetsApplication.pro.user new file mode 100644 index 0000000..7ce3448 --- /dev/null +++ b/QtWidgetsApplication/QtWidgetsApplication.pro.user @@ -0,0 +1,336 @@ + + + + + + EnvironmentId + {48e84d05-d5a5-4051-afb9-27606a03b060} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop + {3e8ee287-5e97-4ffc-a8bf-bcf20b74b8f5} + 0 + 0 + 0 + + /home/alexis/Workspace/linuxdeploy-plugin-qt-examples/build-QtWidgetsApplication-Desktop-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + /home/alexis/Workspace/linuxdeploy-plugin-qt-examples/build-QtWidgetsApplication-Desktop-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + true + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + /home/alexis/Workspace/linuxdeploy-plugin-qt-examples/build-QtWidgetsApplication-Desktop-Profile + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + true + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy Configuration + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + QtWidgetsApplication + + Qt4ProjectManager.Qt4RunConfiguration:/home/alexis/Workspace/linuxdeploy-plugin-qt-examples/QtWidgetsApplication/QtWidgetsApplication.pro + true + + QtWidgetsApplication.pro + false + + /home/alexis/Workspace/linuxdeploy-plugin-qt-examples/build-QtWidgetsApplication-Desktop-Debug + 3768 + false + true + false + false + true + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 18 + + + Version + 18 + + diff --git a/QtWidgetsApplication/mainwindow.cpp b/QtWidgetsApplication/mainwindow.cpp index 8d382c5..3c61de7 100644 --- a/QtWidgetsApplication/mainwindow.cpp +++ b/QtWidgetsApplication/mainwindow.cpp @@ -1,21 +1,19 @@ #include "mainwindow.h" #include "ui_mainwindow.h" +#include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); - QAction *action = new QAction(this); - QIcon icon; - auto iconThemeName = QStringLiteral("list-add"); - if (QIcon::hasThemeIcon(iconThemeName)) { - icon = QIcon::fromTheme(iconThemeName); - } else { - icon.addFile(QStringLiteral("."), QSize(), QIcon::Normal, QIcon::Off); - } - action->setIcon(icon); - ui->mainToolBar->addAction(action); + + // There is no warranty that a given icon will be present in the target platform icons theme + // therefore we must provide a fallback + QIcon addIcon = QIcon::fromTheme("list-add", QIcon(":/scalable/list-add.svg")); + QAction *addAction = new QAction(addIcon, tr("&Add..."), this); + + ui->mainToolBar->addAction(addAction); } MainWindow::~MainWindow() diff --git a/QtWidgetsApplication/resources/icons/icons.qrc b/QtWidgetsApplication/resources/icons/icons.qrc new file mode 100644 index 0000000..7627b41 --- /dev/null +++ b/QtWidgetsApplication/resources/icons/icons.qrc @@ -0,0 +1,5 @@ + + + scalable/list-add.svg + + diff --git a/QtWidgetsApplication/resources/icons/scalable/list-add.svg b/QtWidgetsApplication/resources/icons/scalable/list-add.svg new file mode 100644 index 0000000..5a38924 --- /dev/null +++ b/QtWidgetsApplication/resources/icons/scalable/list-add.svg @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + +