File indexing completed on 2024-05-12 05:04:24

0001 // SPDX-FileCopyrightText: 2022 Carl Schwan <carl@carlschwan.eu>
0002 // SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 #include "filehelper.h"
0005 
0006 #include "abstractaccount.h"
0007 #include "filetransferjob.h"
0008 
0009 #ifdef HAVE_KIO
0010 #include <KIO/Job>
0011 #include <KIO/JobTracker>
0012 #include <KJobTrackerInterface>
0013 #endif
0014 
0015 FileHelper::FileHelper(QObject *parent)
0016     : QObject(parent)
0017 {
0018 }
0019 
0020 FileHelper::~FileHelper() = default;
0021 
0022 void FileHelper::downloadFile(AbstractAccount *account, const QString &url, const QString &destination) const
0023 {
0024     auto job = new FileTransferJob(account, url, destination);
0025 #ifdef HAVE_KIO
0026     KIO::getJobTracker()->registerJob(job);
0027 #endif
0028     job->start();
0029 }
0030 
0031 QString FileHelper::url(const QUrl &url) const
0032 {
0033     return url.fileName().split(QLatin1Char('.')).last();
0034 }
0035 
0036 QString FileHelper::fileName(const QUrl &url) const
0037 {
0038     return url.fileName();
0039 }
0040 
0041 void FileHelper::forceRefreshTextDocument(QQuickTextDocument *textDocument, QQuickItem *item)
0042 {
0043     // HACK: Workaround bug QTBUG 93281
0044     connect(textDocument->textDocument(), SIGNAL(imagesLoaded()), item, SLOT(updateWholeDocument()));
0045 }
0046 
0047 #include "moc_filehelper.cpp"