From: Ivailo Monev Date: Wed, 30 Aug 2023 18:49:01 +0000 (+0300) Subject: kdeplasma-addons: pass the data size to QString constructor in ApodProvider::Private... X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=e24e22a4afc72edf3a0b6fc0547bc04619f59773;p=kde%2Fkde-extraapps.git kdeplasma-addons: pass the data size to QString constructor in ApodProvider::Private::pageRequestFinished() and EpodProvider::Private::pageRequestFinished() Signed-off-by: Ivailo Monev --- diff --git a/kdeplasma-addons/dataengines/potd/apodprovider.cpp b/kdeplasma-addons/dataengines/potd/apodprovider.cpp index c5b9f923..6dd2f350 100644 --- a/kdeplasma-addons/dataengines/potd/apodprovider.cpp +++ b/kdeplasma-addons/dataengines/potd/apodprovider.cpp @@ -26,65 +26,67 @@ #include #include -POTDPROVIDER_EXPORT_PLUGIN( ApodProvider, "ApodProvider", "" ) +POTDPROVIDER_EXPORT_PLUGIN(ApodProvider, "ApodProvider", "") class ApodProvider::Private { - public: - Private( ApodProvider *parent ) - : mParent( parent ) +public: + Private(ApodProvider *parent) + : mParent(parent) { } - void pageRequestFinished( KJob* ); - void imageRequestFinished( KJob* ); + void pageRequestFinished(KJob*); + void imageRequestFinished(KJob*); void parsePage(); ApodProvider *mParent; QImage mImage; }; -void ApodProvider::Private::pageRequestFinished( KJob *_job ) +void ApodProvider::Private::pageRequestFinished(KJob *_job) { - KIO::StoredTransferJob *job = static_cast( _job ); - if ( job->error() ) { - emit mParent->error( mParent ); + KIO::StoredTransferJob *job = static_cast(_job); + if (job->error()) { + emit mParent->error(mParent); return; } - const QString data = QString::fromUtf8( job->data() ); + const QByteArray jobdata = job->data(); + const QString data = QString::fromUtf8(jobdata.constData(), jobdata.size()); - const QString pattern( QLatin1String( "connect( imageJob, SIGNAL(finished(KJob*)), SLOT(imageRequestFinished(KJob*)) ); + KUrl url(QString::fromLatin1("https://antwrp.gsfc.nasa.gov/apod/%1").arg(sub)); + KIO::StoredTransferJob *imageJob = KIO::storedGet(url, KIO::NoReload, KIO::HideProgressInfo); + mParent->connect(imageJob, SIGNAL(finished(KJob*)), SLOT(imageRequestFinished(KJob*))); } else { - emit mParent->error( mParent ); + emit mParent->error(mParent); } } -void ApodProvider::Private::imageRequestFinished( KJob *_job ) +void ApodProvider::Private::imageRequestFinished(KJob *_job ) { - KIO::StoredTransferJob *job = static_cast( _job ); - if ( job->error() ) { - emit mParent->error( mParent ); - return; + KIO::StoredTransferJob *job = static_cast(_job); + if (job->error()) { + emit mParent->error(mParent); + return; } - mImage = QImage::fromData( job->data() ); + mImage = QImage::fromData(job->data()); emit mParent->finished( mParent ); } -ApodProvider::ApodProvider( QObject *parent, const QVariantList &args ) - : PotdProvider( parent, args ), d( new Private( this ) ) +ApodProvider::ApodProvider(QObject *parent, const QVariantList &args) + : PotdProvider(parent, args), + d(new Private(this)) { - KUrl url( QLatin1String( "https://antwrp.gsfc.nasa.gov/apod/" ) ); - KIO::StoredTransferJob *job = KIO::storedGet( url, KIO::NoReload, KIO::HideProgressInfo ); - connect( job, SIGNAL(finished(KJob*)), SLOT(pageRequestFinished(KJob*)) ); + KUrl url(QString::fromLatin1("https://antwrp.gsfc.nasa.gov/apod/")); + KIO::StoredTransferJob *job = KIO::storedGet(url, KIO::NoReload, KIO::HideProgressInfo); + connect(job, SIGNAL(finished(KJob*)), SLOT(pageRequestFinished(KJob*))); } ApodProvider::~ApodProvider() diff --git a/kdeplasma-addons/dataengines/potd/epodprovider.cpp b/kdeplasma-addons/dataengines/potd/epodprovider.cpp index 8fcd2d7b..97eb951e 100644 --- a/kdeplasma-addons/dataengines/potd/epodprovider.cpp +++ b/kdeplasma-addons/dataengines/potd/epodprovider.cpp @@ -26,13 +26,13 @@ #include #include -POTDPROVIDER_EXPORT_PLUGIN( EpodProvider, "EpodProvider", "" ) +POTDPROVIDER_EXPORT_PLUGIN(EpodProvider, "EpodProvider", "") class EpodProvider::Private { - public: - Private( EpodProvider *parent ) - : mParent( parent ) +public: + Private(EpodProvider *parent) + : mParent(parent) { } @@ -46,45 +46,47 @@ class EpodProvider::Private void EpodProvider::Private::pageRequestFinished(KJob *_job) { - KIO::StoredTransferJob *job = static_cast(_job); - if ( job->error() ) { - emit mParent->error( mParent ); - return; + KIO::StoredTransferJob *job = static_cast(_job); + if (job->error()) { + emit mParent->error(mParent); + return; } - const QString data = QString::fromUtf8( job->data() ); + const QByteArray jobdata = job->data(); + const QString data = QString::fromUtf8(jobdata.constData(), jobdata.size()); - const QString pattern( QLatin1String( "https://epod.usra.edu/.a/*-pi" ) ); + const QString pattern( QLatin1String("https://epod.usra.edu/.a/*-pi")); QRegExp exp( pattern ); exp.setPatternSyntax(QRegExp::Wildcard); int pos = exp.indexIn( data ) + pattern.length(); - const QString sub = data.mid( pos-4, pattern.length()+5); - KUrl url( QString::fromLatin1("https://epod.usra.edu/.a/%1-pi" ) .arg(sub) ); + const QString sub = data.mid(pos - 4, pattern.length() + 5); + KUrl url(QString::fromLatin1("https://epod.usra.edu/.a/%1-pi").arg(sub)); kDebug() << "url" << url.prettyUrl(); - KIO::StoredTransferJob *imageJob = KIO::storedGet( url, KIO::NoReload, KIO::HideProgressInfo ); + KIO::StoredTransferJob *imageJob = KIO::storedGet(url, KIO::NoReload, KIO::HideProgressInfo ); QObject::connect(imageJob, SIGNAL(finished(KJob*)), mParent, SLOT(imageRequestFinished(KJob*)) ); } void EpodProvider::Private::imageRequestFinished( KJob *_job) { - KIO::StoredTransferJob *job = static_cast(_job); - if ( job->error() ) { - emit mParent->error( mParent ); + KIO::StoredTransferJob *job = static_cast(_job); + if (job->error()) { + emit mParent->error(mParent); return; } - mImage = QImage::fromData( job->data() ); - emit mParent->finished( mParent ); + mImage = QImage::fromData(job->data()); + emit mParent->finished(mParent); } -EpodProvider::EpodProvider( QObject *parent, const QVariantList &args ) - : PotdProvider( parent, args ), d( new Private( this ) ) +EpodProvider::EpodProvider(QObject *parent, const QVariantList &args) + : PotdProvider(parent, args), + d(new Private(this)) { - KUrl url( QLatin1String( "https://epod.usra.edu/blog/" ) ); - KIO::StoredTransferJob *job = KIO::storedGet( url, KIO::NoReload, KIO::HideProgressInfo ); + KUrl url(QLatin1String("https://epod.usra.edu/blog/")); + KIO::StoredTransferJob *job = KIO::storedGet(url, KIO::NoReload, KIO::HideProgressInfo); - connect( job, SIGNAL(finished(KJob*)), SLOT(pageRequestFinished(KJob*)) ); + connect(job, SIGNAL(finished(KJob*)), SLOT(pageRequestFinished(KJob*))); } EpodProvider::~EpodProvider()