diff --git a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp index e163165f962..eb54e477a7a 100644 --- a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp +++ b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp @@ -30,6 +30,7 @@ #include #include +#include #include #include @@ -254,6 +255,14 @@ protected: painter->drawText(currentPixmapRect.translated(0, -WelcomePageHelpers::ItemGap), exampleItem->videoLength, Qt::AlignBottom | Qt::AlignHCenter); painter->restore(); + static const QPixmap playOverlay = + StyleHelper::dpiSpecificImageFile(":/qtsupport/images/icons/playoverlay.png"); + const QSize playOverlaySize = playOverlay.size() / playOverlay.devicePixelRatio(); + const QPoint playOverlayPos = + QPoint((currentPixmapRect.width() - playOverlaySize.width()) / 2, + (currentPixmapRect.height() - playOverlaySize.height()) / 2) + + currentPixmapRect.topLeft(); + painter->drawPixmap(playOverlayPos, playOverlay); } } diff --git a/src/plugins/qtsupport/images/icons/playoverlay.png b/src/plugins/qtsupport/images/icons/playoverlay.png new file mode 100644 index 00000000000..8a7b8b5db44 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/playoverlay.png differ diff --git a/src/plugins/qtsupport/images/icons/playoverlay@2x.png b/src/plugins/qtsupport/images/icons/playoverlay@2x.png new file mode 100644 index 00000000000..627598f52f8 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/playoverlay@2x.png differ diff --git a/src/plugins/qtsupport/images/icons/qteventicon.png b/src/plugins/qtsupport/images/icons/qteventicon.png deleted file mode 100644 index e6beb718ba8..00000000000 Binary files a/src/plugins/qtsupport/images/icons/qteventicon.png and /dev/null differ diff --git a/src/plugins/qtsupport/images/icons/qteventicon@2x.png b/src/plugins/qtsupport/images/icons/qteventicon@2x.png deleted file mode 100644 index 2e6590d1e3a..00000000000 Binary files a/src/plugins/qtsupport/images/icons/qteventicon@2x.png and /dev/null differ diff --git a/src/plugins/qtsupport/images/icons/videotutorialicon.png b/src/plugins/qtsupport/images/icons/videotutorialicon.png deleted file mode 100644 index 17f22d3c2e1..00000000000 Binary files a/src/plugins/qtsupport/images/icons/videotutorialicon.png and /dev/null differ diff --git a/src/plugins/qtsupport/images/icons/videotutorialicon@2x.png b/src/plugins/qtsupport/images/icons/videotutorialicon@2x.png deleted file mode 100644 index c015be74f84..00000000000 Binary files a/src/plugins/qtsupport/images/icons/videotutorialicon@2x.png and /dev/null differ diff --git a/src/plugins/qtsupport/images/icons/youtube-xhiVA0P4yk.webp b/src/plugins/qtsupport/images/icons/youtube-xhiVA0P4yk.webp new file mode 100644 index 00000000000..cd9bcf48a97 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtube-xhiVA0P4yk.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtube1tSpq5OLkYI.webp b/src/plugins/qtsupport/images/icons/youtube1tSpq5OLkYI.webp new file mode 100644 index 00000000000..8d9aa54d4fa Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtube1tSpq5OLkYI.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtube1w0ak9RNNWY.webp b/src/plugins/qtsupport/images/icons/youtube1w0ak9RNNWY.webp new file mode 100644 index 00000000000..3eadb302d12 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtube1w0ak9RNNWY.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtube2RvhhEAZQxM.webp b/src/plugins/qtsupport/images/icons/youtube2RvhhEAZQxM.webp new file mode 100644 index 00000000000..3f595e8d335 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtube2RvhhEAZQxM.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtube3o2Wo4YzlII.webp b/src/plugins/qtsupport/images/icons/youtube3o2Wo4YzlII.webp new file mode 100644 index 00000000000..80b9c46e242 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtube3o2Wo4YzlII.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtube9BcAYDlpuT8.webp b/src/plugins/qtsupport/images/icons/youtube9BcAYDlpuT8.webp new file mode 100644 index 00000000000..f0ec6e5bb46 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtube9BcAYDlpuT8.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtube9xqhq9nDiOg.webp b/src/plugins/qtsupport/images/icons/youtube9xqhq9nDiOg.webp new file mode 100644 index 00000000000..37556bbfbda Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtube9xqhq9nDiOg.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeB0X5FOev9Lw.webp b/src/plugins/qtsupport/images/icons/youtubeB0X5FOev9Lw.webp new file mode 100644 index 00000000000..7a4415f1c91 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeB0X5FOev9Lw.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeBkgjJfxYN20.webp b/src/plugins/qtsupport/images/icons/youtubeBkgjJfxYN20.webp new file mode 100644 index 00000000000..f1d5598844a Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeBkgjJfxYN20.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeDP0lMoLVneY.webp b/src/plugins/qtsupport/images/icons/youtubeDP0lMoLVneY.webp new file mode 100644 index 00000000000..c1805e4734e Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeDP0lMoLVneY.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeDRFz0Tll4G8.webp b/src/plugins/qtsupport/images/icons/youtubeDRFz0Tll4G8.webp new file mode 100644 index 00000000000..382c89979aa Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeDRFz0Tll4G8.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeECA8_oLT0ZE.webp b/src/plugins/qtsupport/images/icons/youtubeECA8_oLT0ZE.webp new file mode 100644 index 00000000000..a3e659a12b5 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeECA8_oLT0ZE.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeG0AbgVHGdXI.webp b/src/plugins/qtsupport/images/icons/youtubeG0AbgVHGdXI.webp new file mode 100644 index 00000000000..98618835566 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeG0AbgVHGdXI.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeKo3DuCgFamo.webp b/src/plugins/qtsupport/images/icons/youtubeKo3DuCgFamo.webp new file mode 100644 index 00000000000..293cd973e8a Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeKo3DuCgFamo.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubePzV2MYRAUYQ.webp b/src/plugins/qtsupport/images/icons/youtubePzV2MYRAUYQ.webp new file mode 100644 index 00000000000..b46ee947afd Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubePzV2MYRAUYQ.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeR6zWLfHIYJw.webp b/src/plugins/qtsupport/images/icons/youtubeR6zWLfHIYJw.webp new file mode 100644 index 00000000000..ed06e95b649 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeR6zWLfHIYJw.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeT_13aX5NTPk.webp b/src/plugins/qtsupport/images/icons/youtubeT_13aX5NTPk.webp new file mode 100644 index 00000000000..e8dd66eede7 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeT_13aX5NTPk.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeTiJiF0MOOFc.webp b/src/plugins/qtsupport/images/icons/youtubeTiJiF0MOOFc.webp new file mode 100644 index 00000000000..1117656c146 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeTiJiF0MOOFc.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeW3WC-VpKdGQ.webp b/src/plugins/qtsupport/images/icons/youtubeW3WC-VpKdGQ.webp new file mode 100644 index 00000000000..cc2f6429945 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeW3WC-VpKdGQ.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeWIRRoPxIerc.webp b/src/plugins/qtsupport/images/icons/youtubeWIRRoPxIerc.webp new file mode 100644 index 00000000000..701c20f67b4 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeWIRRoPxIerc.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeX0kEkB0ewyw.webp b/src/plugins/qtsupport/images/icons/youtubeX0kEkB0ewyw.webp new file mode 100644 index 00000000000..655de9e2081 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeX0kEkB0ewyw.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeY-MM-9FigTc.webp b/src/plugins/qtsupport/images/icons/youtubeY-MM-9FigTc.webp new file mode 100644 index 00000000000..d6117927c1f Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeY-MM-9FigTc.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeYJfFwDBOvqk.webp b/src/plugins/qtsupport/images/icons/youtubeYJfFwDBOvqk.webp new file mode 100644 index 00000000000..4c387525b07 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeYJfFwDBOvqk.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeau3brB7lNms.webp b/src/plugins/qtsupport/images/icons/youtubeau3brB7lNms.webp new file mode 100644 index 00000000000..b810f0ef5f2 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeau3brB7lNms.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubehrKz63Q_Rf0.webp b/src/plugins/qtsupport/images/icons/youtubehrKz63Q_Rf0.webp new file mode 100644 index 00000000000..1736505fad3 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubehrKz63Q_Rf0.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubejbx3Oq1Q4gY.webp b/src/plugins/qtsupport/images/icons/youtubejbx3Oq1Q4gY.webp new file mode 100644 index 00000000000..893553ffb7b Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubejbx3Oq1Q4gY.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubemAhwHsGdJuI.webp b/src/plugins/qtsupport/images/icons/youtubemAhwHsGdJuI.webp new file mode 100644 index 00000000000..7ac3f12fd3f Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubemAhwHsGdJuI.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubemn-JmXIMCqk.webp b/src/plugins/qtsupport/images/icons/youtubemn-JmXIMCqk.webp new file mode 100644 index 00000000000..42d41e63347 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubemn-JmXIMCqk.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubenmvurCcsWos.webp b/src/plugins/qtsupport/images/icons/youtubenmvurCcsWos.webp new file mode 100644 index 00000000000..ed46fb8fe17 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubenmvurCcsWos.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubepN0pRBUqrrc.webp b/src/plugins/qtsupport/images/icons/youtubepN0pRBUqrrc.webp new file mode 100644 index 00000000000..ec20d7bf6d4 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubepN0pRBUqrrc.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeqclquZ99ZVQ.webp b/src/plugins/qtsupport/images/icons/youtubeqclquZ99ZVQ.webp new file mode 100644 index 00000000000..e7605eafccf Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeqclquZ99ZVQ.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubesRihJdZFuCg.webp b/src/plugins/qtsupport/images/icons/youtubesRihJdZFuCg.webp new file mode 100644 index 00000000000..3ffe30240e1 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubesRihJdZFuCg.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubetnZo9umrPtg.webp b/src/plugins/qtsupport/images/icons/youtubetnZo9umrPtg.webp new file mode 100644 index 00000000000..feebe2c0d66 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubetnZo9umrPtg.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubeuuhmSZxK1mk.webp b/src/plugins/qtsupport/images/icons/youtubeuuhmSZxK1mk.webp new file mode 100644 index 00000000000..086bfeee8c2 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubeuuhmSZxK1mk.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubev4glCQt2jE0.webp b/src/plugins/qtsupport/images/icons/youtubev4glCQt2jE0.webp new file mode 100644 index 00000000000..d67f7a64b01 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubev4glCQt2jE0.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubev_ynSET9FHU.webp b/src/plugins/qtsupport/images/icons/youtubev_ynSET9FHU.webp new file mode 100644 index 00000000000..7c412959e26 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubev_ynSET9FHU.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubexNIz78IPBu0.webp b/src/plugins/qtsupport/images/icons/youtubexNIz78IPBu0.webp new file mode 100644 index 00000000000..a125d6cb633 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubexNIz78IPBu0.webp differ diff --git a/src/plugins/qtsupport/images/icons/youtubezAqSiIGdj8M.webp b/src/plugins/qtsupport/images/icons/youtubezAqSiIGdj8M.webp new file mode 100644 index 00000000000..a08e25daca9 Binary files /dev/null and b/src/plugins/qtsupport/images/icons/youtubezAqSiIGdj8M.webp differ diff --git a/src/plugins/qtsupport/qtcreator_tutorials.xml b/src/plugins/qtsupport/qtcreator_tutorials.xml index 4d898483609..f3a850a5a84 100644 --- a/src/plugins/qtsupport/qtcreator_tutorials.xml +++ b/src/plugins/qtsupport/qtcreator_tutorials.xml @@ -26,156 +26,156 @@ qt quick,controls,tumbler,help - + qt creator,embedded,device creation,video,2021 - + qt creator,SCXML,video - + qt creator,qt quick,c++,video - + qt creator,video - + qt creator,video,2018 - + qt creator,qt quick,controls,video,2018 - + qt creator,debugging,2021 - + qt creator,qt linguist,translation,2021 - + qt,installation,online installer,modules,video,2021 - + embedded,installation,device creation,2021 - + qt creator,widgets,2021 - + qt creator,qt quick,2021 - + qt quick,widgets,ui,video,2021 - + qt,mcus,video,STM32H750B-DISCOVERY,2021 - + qtformcus,mcus,qt,video,NXP IMXRT1050-EVKB,2020 - + qtformcus,mcus,qt,video,2021 - + qt creator,wizard,talk,2015 - + qt creator,configuration,talk,2013 - + qt creator,plugins,talk,2019 - + qt quick,qt creator,qml profiler,talk,2014 - + qt creator,cpu usage analyzer,perf,embedded,device creation,talk,2015 - + qt creator,scxml,talk,2016 - + qt creator,qbs,qemu,talk,2015 - + qt creator,ios,talk,2016 - + qt creator,baremetal,talk,2013 - + qt quick,ui,widgets,talk,2016 - + qt creator,talk,2019 - + qt creator,webassembly,emscripten,talk,2019 - + qt,qt quick,screen resolution,ui,talk,2016 - + qt designer,widgets,ui,talk,2019 - + android,ios,talk,2017 - + qt creator,qml profiler,ctf viewer,lttng,talk,2019 - + android,ios,qt quick,controls,talk,2017 - + qt creator,kits,yocto,embedded,talk,2019 - + qt creator,plugins,video,2021 - + android,talk,2021 - + qt quick,controls,styling,ui,talk,2021 - + qt,c++,qml,talk,2021 diff --git a/src/plugins/qtsupport/qtsupport.qrc b/src/plugins/qtsupport/qtsupport.qrc index 03c14062c04..a99f362362b 100644 --- a/src/plugins/qtsupport/qtsupport.qrc +++ b/src/plugins/qtsupport/qtsupport.qrc @@ -6,11 +6,47 @@ images/dark_qt_qrc.png images_areaofinterest.xml qtcreator_tutorials.xml + images/icons/playoverlay.png + images/icons/playoverlay@2x.png images/icons/tutorialicon.png images/icons/tutorialicon@2x.png - images/icons/videotutorialicon.png - images/icons/videotutorialicon@2x.png - images/icons/qteventicon.png - images/icons/qteventicon@2x.png + images/icons/youtube-xhiVA0P4yk.webp + images/icons/youtube1tSpq5OLkYI.webp + images/icons/youtube1w0ak9RNNWY.webp + images/icons/youtube2RvhhEAZQxM.webp + images/icons/youtube3o2Wo4YzlII.webp + images/icons/youtube9BcAYDlpuT8.webp + images/icons/youtube9xqhq9nDiOg.webp + images/icons/youtubeB0X5FOev9Lw.webp + images/icons/youtubeBkgjJfxYN20.webp + images/icons/youtubeDP0lMoLVneY.webp + images/icons/youtubeDRFz0Tll4G8.webp + images/icons/youtubeECA8_oLT0ZE.webp + images/icons/youtubeG0AbgVHGdXI.webp + images/icons/youtubeKo3DuCgFamo.webp + images/icons/youtubePzV2MYRAUYQ.webp + images/icons/youtubeR6zWLfHIYJw.webp + images/icons/youtubeT_13aX5NTPk.webp + images/icons/youtubeTiJiF0MOOFc.webp + images/icons/youtubeW3WC-VpKdGQ.webp + images/icons/youtubeWIRRoPxIerc.webp + images/icons/youtubeX0kEkB0ewyw.webp + images/icons/youtubeY-MM-9FigTc.webp + images/icons/youtubeYJfFwDBOvqk.webp + images/icons/youtubeau3brB7lNms.webp + images/icons/youtubehrKz63Q_Rf0.webp + images/icons/youtubejbx3Oq1Q4gY.webp + images/icons/youtubemAhwHsGdJuI.webp + images/icons/youtubemn-JmXIMCqk.webp + images/icons/youtubenmvurCcsWos.webp + images/icons/youtubepN0pRBUqrrc.webp + images/icons/youtubeqclquZ99ZVQ.webp + images/icons/youtubesRihJdZFuCg.webp + images/icons/youtubetnZo9umrPtg.webp + images/icons/youtubeuuhmSZxK1mk.webp + images/icons/youtubev4glCQt2jE0.webp + images/icons/youtubev_ynSET9FHU.webp + images/icons/youtubexNIz78IPBu0.webp + images/icons/youtubezAqSiIGdj8M.webp diff --git a/src/tools/icons/downloadytthumbnails.py b/src/tools/icons/downloadytthumbnails.py new file mode 100644 index 00000000000..af5f6575f24 --- /dev/null +++ b/src/tools/icons/downloadytthumbnails.py @@ -0,0 +1,144 @@ +#!/usr/bin/env python + +############################################################################ +# +# Copyright (C) 2022 The Qt Company Ltd. +# Contact: https://www.qt.io/licensing/ +# +# This file is part of Qt Creator. +# +# Commercial License Usage +# Licensees holding valid commercial Qt licenses may use this file in +# accordance with the commercial license agreement provided with the +# Software or, alternatively, in accordance with the terms contained in +# a written agreement between you and The Qt Company. For licensing terms +# and conditions see https://www.qt.io/terms-conditions. For further +# information use the contact form at https://www.qt.io/contact-us. +# +# GNU General Public License Usage +# Alternatively, this file may be used under the terms of the GNU +# General Public License version 3 as published by the Free Software +# Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +# included in the packaging of this file. Please review the following +# information to ensure the GNU General Public License requirements will +# be met: https://www.gnu.org/licenses/gpl-3.0.html. +# +############################################################################ + +import argparse +import os +import pathlib +import subprocess +import sys +import tempfile +import urllib.request +import xml.etree.ElementTree as ET + +from distutils import spawn + + +def qtcRoot(): + return os.path.abspath( + os.path.join(os.path.dirname(sys.argv[0]), '../../..')).replace('\\', '/') + + +def youtubeIdsFromXmlFile(xmlFile): + ids = [] + xmlTree = ET.ElementTree() + xmlTree.parse(xmlFile) + xmlTreeRoot = xmlTree.getroot() + for xmlElement in xmlTreeRoot.iter(): + try: + videoUrlAttrib = xmlElement.attrib['videoUrl'] + ids.append(videoUrlAttrib[-11 : ]) + except Exception: + pass + return ids + + +def youtubeThumbnailPath(youtubeId): + return tempfile.gettempdir() + os.path.sep + youtubeId + ".jpg" + + +def downloadThumbnails(youtubeIds, outputDir, overwriteFiles): + print("Downloading YouTube thumbnails:") + for id in youtubeIds: + thumbnailUrl = "https://img.youtube.com/vi/{}/maxresdefault.jpg".format(id) + # Available thumbnail options: "0.jpg", "hqdefault.jpg", "maxresdefault.jpg" + thumbnailFile = youtubeThumbnailPath(id) + if not overwriteFiles and os.path.exists(thumbnailFile): + print("Skipping " + thumbnailFile) + continue + print(thumbnailUrl + " -> " + thumbnailFile) + try: + urllib.request.urlretrieve(thumbnailUrl, thumbnailFile) + except Exception: + print("Failed to download " + thumbnailUrl) + pass + + +def saveQtcThumbnails(youtubeIds, outputDir, magick): + print("Creating Qt Creator thumbnails:") + for id in youtubeIds: + ytThumbnail = youtubeThumbnailPath(id) + qtcThumbnail = os.path.abspath(outputDir) + os.path.sep + "youtube" + id + ".webp" + print(qtcThumbnail) + try: + subprocess.check_call([magick, + ytThumbnail, + + # https://imagemagick.org/script/command-line-options.php#filter + "-filter", "Parzen", + + # ListMyoutubeThumbnailPathodel::defaultImageSize(214, 160); + "-resize", "214x160", + + # https://imagemagick.org/script/webp.php + "-define", "webp:use-sharp-yuv=1", + "-define", "webp:image-hint=picture", + "-define", "webp:method=6", + "-define", "webp:near-lossless=100", + + qtcThumbnail]) + except subprocess.CalledProcessError: + print("Failed to convert to {}.".format(qtcThumbnail)) + pass + + +def processXmlFile(xmlFile, outputDir, overwriteFiles, magick): + ids = youtubeIdsFromXmlFile(xmlFile) + downloadThumbnails(ids, outputDir, overwriteFiles) + saveQtcThumbnails(ids, outputDir, magick) + + +def main(): + parser = argparse.ArgumentParser(description='Parses a \'qtcreator_tutorials.xml\', ' + 'downloads the video thumbnails from YouTube, ' + 'scales them down to WelcomeScreen thumbnail size ' + 'and saves them as .webm files.') + parser.add_argument('-xmlfile', + help='The \'qtcreator_tutorials.xml\' file.', + type=pathlib.Path, + default=qtcRoot() + "/src/plugins/qtsupport/qtcreator_tutorials.xml") + parser.add_argument('-outputdir', + help='Where the downloaded files are written.', + type=pathlib.Path, + default=qtcRoot() + "/src/plugins/qtsupport/images/icons") + parser.add_argument('-overwrite', + help='Overwrite existing downloaded files.', + action='store_true') + args = parser.parse_args() + + magick = spawn.find_executable("magick") + if magick is None: + magick = spawn.find_executable("convert") + if magick is None: + sys.exit("ImageMagick was not found in Path.") + + processXmlFile(args.xmlfile, args.outputdir, args.overwrite, magick) + + return 0 + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/src/tools/icons/qtcreatoricons.svg b/src/tools/icons/qtcreatoricons.svg index 8e9524b453a..cf36d208929 100644 --- a/src/tools/icons/qtcreatoricons.svg +++ b/src/tools/icons/qtcreatoricons.svg @@ -30,22 +30,6 @@ offset="1" id="stop2548" /> - - - - - @@ -497,27 +481,6 @@ stop-color="#425fcf" offset="1" /> - - + + + + + + + - + - - + xlink:href="#transparentBackgroundRect" + id="use7212" + width="100%" + height="100%" + transform="matrix(4.5,0,0,4.5,238,-1990)" /> + + + + - - - - - -