From 6939ee2b929d0711f147fd613cf4e0ce2a77a140 Mon Sep 17 00:00:00 2001 From: Elias Steurer Date: Sat, 12 Dec 2020 14:41:32 +0100 Subject: [PATCH] Make all wizards consitent Use same parameters and functions to copy files and create folder --- .../qml/Create/Wizards/HTMLWallpaper.qml | 4 +- ScreenPlay/qml/Create/Wizards/HTMLWidget.qml | 13 +- .../qml/Create/Wizards/QMLWallpaper.qml | 9 +- ScreenPlay/qml/Create/Wizards/QMLWidget.qml | 14 +- .../WizardsFiles/HTMLWallpaperMain.html | 12 + .../Create/WizardsFiles/HTMLWidgetMain.html | 12 + .../Create/WizardsFiles/QMLWallpaperMain.qml | 4 +- .../qml/Create/WizardsFiles/QMLWidgetMain.qml | 4 +- ScreenPlay/src/wizards.cpp | 418 +++++++++--------- ScreenPlay/src/wizards.h | 21 +- 10 files changed, 257 insertions(+), 254 deletions(-) diff --git a/ScreenPlay/qml/Create/Wizards/HTMLWallpaper.qml b/ScreenPlay/qml/Create/Wizards/HTMLWallpaper.qml index 3221e98a..fc1d9235 100644 --- a/ScreenPlay/qml/Create/Wizards/HTMLWallpaper.qml +++ b/ScreenPlay/qml/Create/Wizards/HTMLWallpaper.qml @@ -23,8 +23,10 @@ WizardPage { function create() { ScreenPlay.wizards.createHTMLWallpaper(tfTitle.text, + cbLicense.name, + cbLicense.licenseFile, previewSelector.imageSource, - cbLicense.currentText, + tfCreatedBy.text, tagSelector.getTags()) } diff --git a/ScreenPlay/qml/Create/Wizards/HTMLWidget.qml b/ScreenPlay/qml/Create/Wizards/HTMLWidget.qml index e294fbbb..93cd2c77 100644 --- a/ScreenPlay/qml/Create/Wizards/HTMLWidget.qml +++ b/ScreenPlay/qml/Create/Wizards/HTMLWidget.qml @@ -14,9 +14,10 @@ WizardPage { function create() { ScreenPlay.wizards.createHTMLWidget(tfTitle.text, + cbLicense.name, + cbLicense.licenseFile, previewSelector.imageSource, tfCreatedBy.text, - cbLicense.currentText, tagSelector.getTags()) } @@ -57,7 +58,7 @@ WizardPage { } Common.ImageSelector { - id: imageSelector + id: previewSelector Layout.fillWidth: true } } @@ -77,13 +78,7 @@ WizardPage { Layout.fillWidth: true required: true placeholderText: qsTr("Widget name") - onTextChanged: { - if (text.length >= 3) { - btnSave.enabled = true - } else { - btnSave.enabled = false - } - } + onTextChanged: root.ready = text.length >= 1 } Common.TextField { id: tfCreatedBy diff --git a/ScreenPlay/qml/Create/Wizards/QMLWallpaper.qml b/ScreenPlay/qml/Create/Wizards/QMLWallpaper.qml index f4cde20d..fc347e40 100644 --- a/ScreenPlay/qml/Create/Wizards/QMLWallpaper.qml +++ b/ScreenPlay/qml/Create/Wizards/QMLWallpaper.qml @@ -22,9 +22,12 @@ WizardPage { } function create() { - ScreenPlay.wizards.createQMLWallpaper( - tfTitle.text, previewSelector.imageSource, - cbLicense.currentText, tagSelector.getTags()) + ScreenPlay.wizards.createQMLWallpaper(tfTitle.text, + cbLicense.name, + cbLicense.licenseFile, + previewSelector.imageSource, + tfCreatedBy.text, + tagSelector.getTags()) } Common.Headline { diff --git a/ScreenPlay/qml/Create/Wizards/QMLWidget.qml b/ScreenPlay/qml/Create/Wizards/QMLWidget.qml index 295c6dee..3ab987ee 100644 --- a/ScreenPlay/qml/Create/Wizards/QMLWidget.qml +++ b/ScreenPlay/qml/Create/Wizards/QMLWidget.qml @@ -13,10 +13,10 @@ WizardPage { sourceComponent: ColumnLayout { function create() { - ScreenPlay.wizards.createQMLWidget(tfTitle.text, + ScreenPlay.wizards.createQMLWidget(tfTitle.text, cbLicense.name, + cbLicense.licenseFile, previewSelector.imageSource, tfCreatedBy.text, - cbLicense.currentText, tagSelector.getTags()) } @@ -57,7 +57,7 @@ WizardPage { } Common.ImageSelector { - id: imageSelector + id: previewSelector Layout.fillWidth: true } } @@ -77,13 +77,7 @@ WizardPage { Layout.fillWidth: true required: true placeholderText: qsTr("Widget name") - onTextChanged: { - if (text.length >= 3) { - btnSave.enabled = true - } else { - btnSave.enabled = false - } - } + onTextChanged: root.ready = text.length >= 1 } Common.TextField { id: tfCreatedBy diff --git a/ScreenPlay/qml/Create/WizardsFiles/HTMLWallpaperMain.html b/ScreenPlay/qml/Create/WizardsFiles/HTMLWallpaperMain.html index e69de29b..ac3a2f54 100644 --- a/ScreenPlay/qml/Create/WizardsFiles/HTMLWallpaperMain.html +++ b/ScreenPlay/qml/Create/WizardsFiles/HTMLWallpaperMain.html @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ScreenPlay/qml/Create/WizardsFiles/HTMLWidgetMain.html b/ScreenPlay/qml/Create/WizardsFiles/HTMLWidgetMain.html index e69de29b..ac3a2f54 100644 --- a/ScreenPlay/qml/Create/WizardsFiles/HTMLWidgetMain.html +++ b/ScreenPlay/qml/Create/WizardsFiles/HTMLWidgetMain.html @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ScreenPlay/qml/Create/WizardsFiles/QMLWallpaperMain.qml b/ScreenPlay/qml/Create/WizardsFiles/QMLWallpaperMain.qml index 9c36e13c..608812bf 100644 --- a/ScreenPlay/qml/Create/WizardsFiles/QMLWallpaperMain.qml +++ b/ScreenPlay/qml/Create/WizardsFiles/QMLWallpaperMain.qml @@ -1,5 +1,5 @@ -import QtQuick 2.0 +import QtQuick 2.14 Item { - + id: root } diff --git a/ScreenPlay/qml/Create/WizardsFiles/QMLWidgetMain.qml b/ScreenPlay/qml/Create/WizardsFiles/QMLWidgetMain.qml index 9c36e13c..608812bf 100644 --- a/ScreenPlay/qml/Create/WizardsFiles/QMLWidgetMain.qml +++ b/ScreenPlay/qml/Create/WizardsFiles/QMLWidgetMain.qml @@ -1,5 +1,5 @@ -import QtQuick 2.0 +import QtQuick 2.14 Item { - + id: root } diff --git a/ScreenPlay/src/wizards.cpp b/ScreenPlay/src/wizards.cpp index a290bfc2..d7f519c9 100644 --- a/ScreenPlay/src/wizards.cpp +++ b/ScreenPlay/src/wizards.cpp @@ -24,214 +24,10 @@ Wizards::Wizards(const std::shared_ptr& globalVariables, QObjec */ void Wizards::createQMLWidget( const QString& title, + const QString& licenseName, + const QString& licenseFile, const QString& previewThumbnail, const QString& createdBy, - const QString& license, - const QVector& tags) -{ - QtConcurrent::run([=]() { - QUrl localStoragePathUrl { m_globalVariables->localStoragePath() }; - QDir dir; - dir.cd(localStoragePathUrl.toLocalFile()); - // Create a temp dir so we can later alter it to the workshop id - auto folderName = QString("_tmp_" + QTime::currentTime().toString()).replace(":", ""); - QString workingPath = dir.path() + "/" + folderName; - - if (!dir.mkdir(folderName)) { - qDebug() << "Could create folder: " << folderName; - return; - } - - QJsonObject obj; - obj.insert("license", license); - obj.insert("title", title); - obj.insert("tags", Util::fillArray(tags)); - obj.insert("createdBy", createdBy); - obj.insert("type", "qmlWidget"); - obj.insert("file", "main.qml"); - - QFile fileMainQML(workingPath + "/main.qml"); - if (!fileMainQML.open(QIODevice::WriteOnly | QIODevice::Text)) { - qDebug() << "Could not open /main.qml"; - return; - } - - QTextStream outMainQML(&fileMainQML); - outMainQML.setCodec("UTF-8"); - outMainQML << "import QtQuick 2.14 \n\n Item {\n id:root \n}"; - fileMainQML.close(); - - QFile file(workingPath + "/project.json"); - if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { - qDebug() << "Could not open /project.json"; - return; - } - - QUrl previewThumbnailUrl { previewThumbnail }; - QFileInfo previewImageFile(previewThumbnailUrl.toLocalFile()); - - if (!previewThumbnail.isEmpty()) { - obj.insert("previewThumbnail", previewImageFile.fileName()); - obj.insert("preview", previewImageFile.fileName()); - if (!QFile::copy(previewThumbnailUrl.toLocalFile(), workingPath + "/" + previewImageFile.fileName())) { - qDebug() << "Could not copy" << previewThumbnailUrl.toLocalFile() << " to " << workingPath + "/" + previewImageFile.fileName(); - emit widgetCreationFinished(WizardResult::CopyError); - return; - } - } - - QTextStream out(&file); - out.setCodec("UTF-8"); - QJsonDocument doc(obj); - out << doc.toJson(); - file.close(); - - emit widgetCreationFinished(WizardResult::Ok, workingPath); - }); -} - -/*! - \brief Creates a new widget. -*/ -void Wizards::createHTMLWidget( - const QString& title, - const QString& previewThumbnail, - const QString& createdBy, - const QString& license, - const QVector& tags) -{ - QtConcurrent::run([=]() { - QUrl localStoragePathUrl { m_globalVariables->localStoragePath() }; - QDir dir; - dir.cd(localStoragePathUrl.toLocalFile()); - // Create a temp dir so we can later alter it to the workshop id - auto folderName = QString("_tmp_" + QTime::currentTime().toString()).replace(":", ""); - QString workingPath = dir.path() + "/" + folderName; - - if (!dir.mkdir(folderName)) { - qDebug() << "Could create folder: " << folderName; - return; - } - - QJsonObject obj; - obj.insert("license", license); - obj.insert("title", title); - obj.insert("tags", Util::fillArray(tags)); - obj.insert("createdBy", createdBy); - obj.insert("type", "htmlWidget"); - obj.insert("file", "index.html"); - - QFile fileMainHTML(workingPath + "/index.html"); - if (!fileMainHTML.open(QIODevice::WriteOnly | QIODevice::Text)) { - qDebug() << "Could not open /index.html"; - return; - } - - QTextStream outMainHTML(&fileMainHTML); - outMainHTML.setCodec("UTF-8"); - outMainHTML << "\n\n\n"; - fileMainHTML.close(); - - QFile file(workingPath + "/project.json"); - if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { - qDebug() << "Could not open /project.json"; - return; - } - - QUrl previewThumbnailUrl { previewThumbnail }; - QFileInfo previewImageFile(previewThumbnailUrl.toLocalFile()); - - if (!previewThumbnail.isEmpty()) { - obj.insert("previewThumbnail", previewImageFile.fileName()); - obj.insert("preview", previewImageFile.fileName()); - if (!QFile::copy(previewThumbnailUrl.toLocalFile(), workingPath + "/" + previewImageFile.fileName())) { - qDebug() << "Could not copy" << previewThumbnailUrl.toLocalFile() << " to " << workingPath + "/" + previewImageFile.fileName(); - emit widgetCreationFinished(WizardResult::CopyError); - return; - } - } - - QTextStream out(&file); - out.setCodec("UTF-8"); - QJsonDocument doc(obj); - out << doc.toJson(); - file.close(); - - emit widgetCreationFinished(WizardResult::Ok, workingPath); - }); -} - -/*! - \brief Creates a HTML wallpaper. -*/ -void Wizards::createHTMLWallpaper( - const QString& title, - const QString& previewThumbnail, - const QString& license, - const QVector& tags) -{ - QtConcurrent::run([=]() { - QUrl localStoragePathUrl { m_globalVariables->localStoragePath() }; - QDir dir; - dir.cd(localStoragePathUrl.toLocalFile()); - // Create a temp dir so we can later alter it to the workshop id - auto folderName = QString("_tmp_" + QTime::currentTime().toString()).replace(":", ""); - QString workingPath = dir.path() + "/" + folderName; - - if (!dir.mkdir(folderName)) { - qDebug() << "Could create folder: " << folderName; - return; - } - - QJsonObject obj; - obj.insert("license", license); - obj.insert("title", title); - obj.insert("tags", Util::fillArray(tags)); - obj.insert("type", "htmlWallpaper"); - obj.insert("file", "index.html"); - - QFile fileMainHTML(workingPath + "/index.html"); - if (!fileMainHTML.open(QIODevice::WriteOnly | QIODevice::Text)) { - qDebug() << "Could not open /index.html"; - return; - } - - QTextStream outMainHTML(&fileMainHTML); - outMainHTML.setCodec("UTF-8"); - outMainHTML << "\n\n" - "

This is an empty html Wallpaper!

" - "\n"; - fileMainHTML.close(); - - QUrl previewThumbnailUrl { previewThumbnail }; - QFileInfo previewImageFile(previewThumbnailUrl.toLocalFile()); - - if (!previewThumbnail.isEmpty()) { - obj.insert("previewThumbnail", previewImageFile.fileName()); - obj.insert("preview", previewImageFile.fileName()); - if (!QFile::copy(previewThumbnailUrl.toLocalFile(), workingPath + "/" + previewImageFile.fileName())) { - qDebug() << "Could not copy" << previewThumbnailUrl.toLocalFile() << " to " << workingPath + "/" + previewImageFile.fileName(); - emit widgetCreationFinished(WizardResult::CopyPreviewThumbnailError); - return; - } - } - - if (!Util::writeSettings(obj, dir.path() + "/project.json")) { - emit widgetCreationFinished(WizardResult::WriteProjectFileError); - return; - } - - emit widgetCreationFinished(WizardResult::Ok, workingPath); - }); -} - -/*! - \brief . -*/ -void Wizards::createQMLWallpaper( - const QString& title, - const QString& previewThumbnail, - const QString& license, const QVector& tags) { QtConcurrent::run([=]() { @@ -245,9 +41,197 @@ void Wizards::createQMLWallpaper( const QString workingPath = Util::toLocal(m_globalVariables->localStoragePath().toString() + "/" + folderName.value()); QJsonObject obj; - obj.insert("license", license); + obj.insert("license", licenseName); obj.insert("title", title); obj.insert("tags", Util::fillArray(tags)); + obj.insert("createdBy", createdBy); + obj.insert("type", "qmlWidget"); + obj.insert("file", "main.qml"); + + if (!Util::writeFileFromQrc(":/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { + qWarning() << "Could not write " << licenseFile; + return; + } + + if (!Util::writeFileFromQrc(":/qml/Create/WizardsFiles/QMLWidgetMain.qml", workingPath + "main.qml")) { + qWarning() << "Could not write main.qml"; + return; + } + + if (!previewThumbnail.isEmpty()) { + QUrl previewThumbnailUrl { previewThumbnail }; + QFileInfo previewImageFile(previewThumbnailUrl.toLocalFile()); + obj.insert("previewThumbnail", previewImageFile.fileName()); + obj.insert("preview", previewImageFile.fileName()); + if (!QFile::copy(previewThumbnailUrl.toLocalFile(), workingPath + "/" + previewImageFile.fileName())) { + qWarning() << "Could not copy" << previewThumbnailUrl.toLocalFile() << " to " << workingPath + "/" + previewImageFile.fileName(); + emit widgetCreationFinished(WizardResult::CopyError); + return; + } + } + + if (!Util::writeSettings(obj, workingPath + "/project.json")) { + emit widgetCreationFinished(WizardResult::WriteProjectFileError); + return; + } + + emit widgetCreationFinished(WizardResult::Ok, workingPath); + }); +} + +/*! + \brief Creates a new widget. +*/ +void Wizards::createHTMLWidget( + const QString& title, + const QString& licenseName, + const QString& licenseFile, + const QString& previewThumbnail, + const QString& createdBy, + const QVector& tags) +{ + QtConcurrent::run([=]() { + std::optional folderName = createTemporaryFolder(); + + if (!folderName.has_value()) { + emit widgetCreationFinished(WizardResult::CreateProjectFolderError); + return; + } + + const QString workingPath = Util::toLocal(m_globalVariables->localStoragePath().toString() + "/" + folderName.value()); + + QJsonObject obj; + obj.insert("license", licenseName); + obj.insert("createdBy", createdBy); + obj.insert("title", title); + obj.insert("tags", Util::fillArray(tags)); + obj.insert("type", "htmlWidget"); + obj.insert("file", "index.html"); + + if (!Util::writeFileFromQrc(":/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { + qWarning() << "Could not write " << licenseFile; + return; + } + + if (!Util::writeFileFromQrc(":/qml/Create/WizardsFiles/HTMLWidgetMain.html", workingPath + "/index.html")) { + qWarning() << "Could not write HTMLWidgetMain.html"; + return; + } + + QUrl previewThumbnailUrl { previewThumbnail }; + QFileInfo previewImageFile(previewThumbnailUrl.toLocalFile()); + + if (!previewThumbnail.isEmpty()) { + obj.insert("previewThumbnail", previewImageFile.fileName()); + obj.insert("preview", previewImageFile.fileName()); + if (!QFile::copy(previewThumbnailUrl.toLocalFile(), workingPath + "/" + previewImageFile.fileName())) { + qWarning() << "Could not copy" << previewThumbnailUrl.toLocalFile() << " to " << workingPath + "/" + previewImageFile.fileName(); + emit widgetCreationFinished(WizardResult::CopyError); + return; + } + } + + QFile file(workingPath + "/project.json"); + if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { + qWarning() << "Could not open /project.json"; + return; + } + + if (!Util::writeSettings(obj, workingPath + "/project.json")) { + emit widgetCreationFinished(WizardResult::WriteProjectFileError); + return; + } + + emit widgetCreationFinished(WizardResult::Ok, workingPath); + }); +} + +/*! + \brief Creates a HTML wallpaper. +*/ +void Wizards::createHTMLWallpaper( + const QString& title, + const QString& licenseName, + const QString& licenseFile, + const QString& createdBy, + const QString& previewThumbnail, + const QVector& tags) +{ + QtConcurrent::run([=]() { + std::optional folderName = createTemporaryFolder(); + + if (!folderName.has_value()) { + emit widgetCreationFinished(WizardResult::CreateProjectFolderError); + return; + } + + const QString workingPath = Util::toLocal(m_globalVariables->localStoragePath().toString() + "/" + folderName.value()); + + QJsonObject obj; + obj.insert("license", licenseName); + obj.insert("createdBy", createdBy); + obj.insert("title", title); + obj.insert("tags", Util::fillArray(tags)); + obj.insert("type", "htmlWallpaper"); + obj.insert("file", "index.html"); + + if (!Util::writeFileFromQrc(":/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { + qWarning() << "Could not write " << licenseFile; + return; + } + + if (!Util::writeFileFromQrc(":/qml/Create/WizardsFiles/HTMLWallpaperMain.html", workingPath + "/index.html")) { + qWarning() << "Could not write HTMLWallpaperMain.html"; + return; + } + + if (!previewThumbnail.isEmpty()) { + QUrl previewThumbnailUrl { previewThumbnail }; + QFileInfo previewImageFile(previewThumbnailUrl.toLocalFile()); + obj.insert("previewThumbnail", previewImageFile.fileName()); + obj.insert("preview", previewImageFile.fileName()); + if (!QFile::copy(previewThumbnailUrl.toLocalFile(), workingPath + "/" + previewImageFile.fileName())) { + qWarning() << "Could not copy" << previewThumbnailUrl.toLocalFile() << " to " << workingPath + "/" + previewImageFile.fileName(); + emit widgetCreationFinished(WizardResult::CopyPreviewThumbnailError); + return; + } + } + + if (!Util::writeSettings(obj, workingPath + "/project.json")) { + emit widgetCreationFinished(WizardResult::WriteProjectFileError); + return; + } + + emit widgetCreationFinished(WizardResult::Ok, workingPath); + }); +} + +/*! + \brief . +*/ +void Wizards::createQMLWallpaper( + const QString& title, + const QString& licenseName, + const QString& licenseFile, + const QString& createdBy, + const QString& previewThumbnail, + const QVector& tags) +{ + QtConcurrent::run([=]() { + std::optional folderName = createTemporaryFolder(); + + if (!folderName.has_value()) { + emit widgetCreationFinished(WizardResult::CreateProjectFolderError); + return; + } + + const QString workingPath = Util::toLocal(m_globalVariables->localStoragePath().toString() + "/" + folderName.value()); + + QJsonObject obj; + obj.insert("license", licenseName); + obj.insert("title", title); + obj.insert("createdBy", createdBy); + obj.insert("tags", Util::fillArray(tags)); obj.insert("type", "qmlWallpaper"); obj.insert("file", "main.qml"); @@ -259,13 +243,18 @@ void Wizards::createQMLWallpaper( } } + if (!Util::writeFileFromQrc(":/assets/wizards/" + licenseFile, workingPath + "/" + licenseFile)) { + qWarning() << "Could not write " << licenseFile; + return; + } + if (!Util::writeSettings(obj, workingPath + "/project.json")) { emit widgetCreationFinished(WizardResult::WriteProjectFileError); return; } - if (!Util::writeFile("import QtQuick 2.14 \n\nItem {\n id:root \n}", workingPath + "/main.qml")) { - emit widgetCreationFinished(WizardResult::WriteProjectFileError); + if (!Util::writeFileFromQrc(":/qml/Create/WizardsFiles/QMLWallpaperMain.qml", workingPath + "/main.qml")) { + qWarning() << "Could not write main.qml"; return; } @@ -327,7 +316,6 @@ void Wizards::createGifWallpaper( void Wizards::createWebsiteWallpaper( const QString& title, const QString& previewThumbnail, - const QString& license, const QUrl& url, const QVector& tags) { @@ -342,11 +330,10 @@ void Wizards::createWebsiteWallpaper( const QString workingPath = Util::toLocal(m_globalVariables->localStoragePath().toString() + "/" + folderName.value()); QJsonObject obj; - obj.insert("license", license); obj.insert("title", title); obj.insert("tags", Util::fillArray(tags)); - obj.insert("type", "qmlWallpaper"); - obj.insert("file", "main.qml"); + obj.insert("type", "websiteWallpaper"); + obj.insert("source", url.toString()); if (!previewThumbnail.isEmpty()) { QUrl previewThumbnailUrl { previewThumbnail }; @@ -361,11 +348,6 @@ void Wizards::createWebsiteWallpaper( return; } - if (!Util::writeFile("import QtQuick 2.14 \n\nItem {\n id:root \n}", workingPath + "/main.qml")) { - emit widgetCreationFinished(WizardResult::WriteProjectFileError); - return; - } - emit widgetCreationFinished(WizardResult::Ok, workingPath); }); } diff --git a/ScreenPlay/src/wizards.h b/ScreenPlay/src/wizards.h index b0de2b97..1f54454a 100644 --- a/ScreenPlay/src/wizards.h +++ b/ScreenPlay/src/wizards.h @@ -84,28 +84,32 @@ public: public slots: void createQMLWidget( const QString& title, + const QString& licenseName, + const QString& licenseFile, const QString& previewThumbnail, const QString& createdBy, - const QString& license, const QVector& tags); void createHTMLWidget( const QString& title, + const QString& licenseName, + const QString& licenseFile, const QString& previewThumbnail, const QString& createdBy, - const QString& license, const QVector& tags); - void createHTMLWallpaper( - const QString& title, + void createHTMLWallpaper(const QString& title, + const QString& licenseName, + const QString& licenseFile, + const QString& createdBy, const QString& previewThumbnail, - const QString& license, const QVector& tags); - void createQMLWallpaper( - const QString& title, + void createQMLWallpaper(const QString& title, + const QString& licenseName, + const QString& licenseFile, + const QString& createdBy, const QString& previewThumbnail, - const QString& license, const QVector& tags); void createGifWallpaper( @@ -119,7 +123,6 @@ public slots: void createWebsiteWallpaper( const QString& title, const QString& previewThumbnail, - const QString& license, const QUrl& url, const QVector& tags);