diff --git a/kprintjobs/kded_kprintjobs.cpp b/kprintjobs/kded_kprintjobs.cpp index bb3912b2..ac81ce34 100644 --- a/kprintjobs/kded_kprintjobs.cpp +++ b/kprintjobs/kded_kprintjobs.cpp @@ -71,7 +71,7 @@ void KPrintJobsModule::slotJobDestroyed(QObject *kprintjobsimpl) QMutableMapIterator it(m_printjobs); while (it.hasNext()) { it.next(); - KPrintJobsImpl* itvalue = it.value(); + const KPrintJobsImpl* itvalue = it.value(); if (itvalue == kprintjobsimpl) { it.remove(); break; diff --git a/kprintjobs/kprintjobsimpl.cpp b/kprintjobs/kprintjobsimpl.cpp index e1f54d2e..0fad369a 100644 --- a/kprintjobs/kprintjobsimpl.cpp +++ b/kprintjobs/kprintjobsimpl.cpp @@ -29,6 +29,7 @@ KPrintJobsImpl::KPrintJobsImpl(QObject *parent, const int cupsjobid, const int c m_cupsjobstate(cupsjobstate), m_cupsjobdestination(cupsjobdest), m_emitdescription(true), + m_emittotalamount(true), m_statetimer(this) { setProperty("appName", QString::fromLatin1("kprintjobs")); @@ -76,6 +77,11 @@ void KPrintJobsImpl::slotCheckState() qMakePair(i18nc("The destination of a print operation", "Destination"), QFile::decodeName(cupsjobs[i].dest)) ); } + // NOTE: no usefull info about the progress + if (m_emittotalamount && cupsjobs[i].size > 0) { + m_emittotalamount = false; + setTotalAmount(KJob::Bytes, cupsjobs[i].size * 1024); + } if (cupsjobstate == static_cast(IPP_JSTATE_HELD) && cupsjobstate != m_cupsjobstate) { kDebug() << "Print job suspended" << m_cupsjobid; m_cupsjobstate = cupsjobstate; diff --git a/kprintjobs/kprintjobsimpl.h b/kprintjobs/kprintjobsimpl.h index a1dd31fb..68cbd3cd 100644 --- a/kprintjobs/kprintjobsimpl.h +++ b/kprintjobs/kprintjobsimpl.h @@ -42,6 +42,7 @@ private: int m_cupsjobstate; QByteArray m_cupsjobdestination; bool m_emitdescription; + bool m_emittotalamount; QTimer m_statetimer; };