File indexing completed on 2024-05-12 16:25:39
0001 /* 0002 SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "downloadappslanguagesjob.h" 0008 #include "ruqola_debug.h" 0009 0010 #include "restapiutil.h" 0011 #include <QNetworkAccessManager> 0012 #include <QNetworkReply> 0013 #include <QNetworkRequest> 0014 #include <QUrl> 0015 0016 DownloadAppsLanguagesJob::DownloadAppsLanguagesJob(QObject *parent) 0017 : QObject(parent) 0018 , mNetworkAccessManager(new QNetworkAccessManager(this)) 0019 { 0020 connect(mNetworkAccessManager, &QNetworkAccessManager::finished, this, &DownloadAppsLanguagesJob::slotFileDownloaded); 0021 connect(mNetworkAccessManager, &QNetworkAccessManager::sslErrors, this, &DownloadAppsLanguagesJob::slotSslErrors); 0022 } 0023 0024 DownloadAppsLanguagesJob::~DownloadAppsLanguagesJob() = default; 0025 0026 void DownloadAppsLanguagesJob::slotSslErrors(QNetworkReply *reply, const QList<QSslError> &error) 0027 { 0028 reply->ignoreSslErrors(error); 0029 } 0030 0031 void DownloadAppsLanguagesJob::slotFileDownloaded(QNetworkReply *reply) 0032 { 0033 const QByteArray data = reply->readAll(); 0034 reply->deleteLater(); 0035 Q_EMIT fileDownloaded(data); 0036 deleteLater(); 0037 } 0038 0039 bool DownloadAppsLanguagesJob::canStart() const 0040 { 0041 return !mServerUrl.isEmpty(); 0042 } 0043 0044 void DownloadAppsLanguagesJob::start() 0045 { 0046 if (!canStart()) { 0047 qCWarning(RUQOLA_LOG) << " FileName is empty"; 0048 deleteLater(); 0049 return; 0050 } 0051 const QString urlStr = RestApiUtil::adaptUrl(mServerUrl) + QStringLiteral("/api/apps/languages"); 0052 const QUrl url(urlStr); 0053 QNetworkRequest request(url); 0054 mNetworkAccessManager->get(request); 0055 } 0056 0057 QString DownloadAppsLanguagesJob::serverUrl() const 0058 { 0059 return mServerUrl; 0060 } 0061 0062 void DownloadAppsLanguagesJob::setServerUrl(const QString &serverUrl) 0063 { 0064 mServerUrl = serverUrl; 0065 } 0066 0067 #include "moc_downloadappslanguagesjob.cpp"