From 261f12d1392cae986d04bb2a572965cf3744b7eb Mon Sep 17 00:00:00 2001 From: Alexis Lopez Zubieta Date: Wed, 31 Oct 2018 11:35:06 -0600 Subject: [PATCH 1/6] Add action whith icon which is loaded from the system theme --- QtWidgetsApplication/mainwindow.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/QtWidgetsApplication/mainwindow.cpp b/QtWidgetsApplication/mainwindow.cpp index 49d64fc..8d382c5 100644 --- a/QtWidgetsApplication/mainwindow.cpp +++ b/QtWidgetsApplication/mainwindow.cpp @@ -6,6 +6,16 @@ MainWindow::MainWindow(QWidget *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); } MainWindow::~MainWindow() From cea753b1b084b4efd60c22cd4a4d87f98909e910 Mon Sep 17 00:00:00 2001 From: Alexis Lopez Zubieta Date: Wed, 31 Oct 2018 11:46:33 -0600 Subject: [PATCH 2/6] Fix resulting AppImages not being uploaded --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 242c3bc..7e50322 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,9 +36,9 @@ after_success: # make sure only pushes to rewrite create a new release, otherwise pretend PR and upload to transfer.sh - if [ "$TRAVIS_BRANCH" != "master" ]; then export TRAVIS_EVENT_TYPE=pull_request; fi - wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh -- bash upload.sh out/*.AppImage* +- bash upload.sh /home/travis/build/linuxdeploy/linuxdeploy-plugin-qt-examples/out/*.AppImage* branches: except: - # Do not build tags that we create when we upload to GitHub Releases - - /^(?i:continuous)$/ \ No newline at end of file + - /^(?i:continuous)$/ From 4812cd4d41ba20fc5592f7dcd423d65a71421818 Mon Sep 17 00:00:00 2001 From: Alexis Lopez Zubieta Date: Wed, 31 Oct 2018 12:41:33 -0600 Subject: [PATCH 3/6] Install image format runtime dependencies --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) 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: From c40563b83cd6b348ac394ec3cfdc3805c578be88 Mon Sep 17 00:00:00 2001 From: Alexis Lopez Zubieta Date: Wed, 31 Oct 2018 17:31:36 -0600 Subject: [PATCH 4/6] Provide an example of how include icons prolery. --- QtWidgetsApplication/QtWidgetsApplication.pro | 3 + .../QtWidgetsApplication.pro.user | 336 ++++++++++++++++++ QtWidgetsApplication/mainwindow.cpp | 18 +- .../resources/icons/icons.qrc | 5 + .../resources/icons/scalable/list-add.svg | 104 ++++++ 5 files changed, 456 insertions(+), 10 deletions(-) create mode 100644 QtWidgetsApplication/QtWidgetsApplication.pro.user create mode 100644 QtWidgetsApplication/resources/icons/icons.qrc create mode 100644 QtWidgetsApplication/resources/icons/scalable/list-add.svg 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 + + + + + + + + + From c85a48c92b0fee5b5e31ad8741c81140f7b4bac6 Mon Sep 17 00:00:00 2001 From: TheAssassin Date: Thu, 2 May 2019 01:07:26 +0200 Subject: [PATCH 5/6] Fix appimagetool annoyance --- QtQuickControls2Application/QtQuickControls2Application.desktop | 1 + 1 file changed, 1 insertion(+) diff --git a/QtQuickControls2Application/QtQuickControls2Application.desktop b/QtQuickControls2Application/QtQuickControls2Application.desktop index 28797f3..60db687 100644 --- a/QtQuickControls2Application/QtQuickControls2Application.desktop +++ b/QtQuickControls2Application/QtQuickControls2Application.desktop @@ -7,3 +7,4 @@ TryExec=QtQuickControls2Application Exec=QtQuickControls2Application Icon=QtQuickControls2Application MimeType=image/x-foo; +Categories=Utility; From 437caa85ddfc9a1c86332bf2a4ea96fed0bc93af Mon Sep 17 00:00:00 2001 From: nope Date: Sun, 10 Dec 2023 21:18:56 +0100 Subject: [PATCH 6/6] Fix icon installation path --- QtWebEngineApplication/QtWebEngineApplication.pro | 4 +++- QtWidgetsApplication/QtWidgetsApplication.pro | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/QtWebEngineApplication/QtWebEngineApplication.pro b/QtWebEngineApplication/QtWebEngineApplication.pro index a44e7a2..4915af3 100644 --- a/QtWebEngineApplication/QtWebEngineApplication.pro +++ b/QtWebEngineApplication/QtWebEngineApplication.pro @@ -7,9 +7,11 @@ SOURCES += main.cpp RESOURCES += qml.qrc target.path = $$PREFIX/bin -icon.path = $$PREFIX/share/icons/hicolor/512x512 + +icon.path = $$PREFIX/share/icons/hicolor/512x512/apps icon.files = QtWebEngineApplication.png desktop_entry.path = $$PREFIX/share/applications desktop_entry.files = QtWebEngineApplication.desktop + INSTALLS += target icon desktop_entry diff --git a/QtWidgetsApplication/QtWidgetsApplication.pro b/QtWidgetsApplication/QtWidgetsApplication.pro index 81742ab..4f297c3 100644 --- a/QtWidgetsApplication/QtWidgetsApplication.pro +++ b/QtWidgetsApplication/QtWidgetsApplication.pro @@ -31,11 +31,13 @@ HEADERS += mainwindow.h FORMS += mainwindow.ui target.path = $$PREFIX/bin + icon.path = $$PREFIX/share/icons/hicolor/512x512/apps icon.files = QtWidgetsApplication.png desktop_entry.path = $$PREFIX/share/applications desktop_entry.files = QtWidgetsApplication.desktop + INSTALLS += target icon desktop_entry RESOURCES += \