kprintjobs: set total amount for the job

so the total output size is known but there is no info how many bits the
print job has processed?

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2023-06-07 03:39:28 +03:00
parent 409729ae74
commit 3ef1e6cc9e
3 changed files with 8 additions and 1 deletions

View file

@ -71,7 +71,7 @@ void KPrintJobsModule::slotJobDestroyed(QObject *kprintjobsimpl)
QMutableMapIterator<int, KPrintJobsImpl*> it(m_printjobs);
while (it.hasNext()) {
it.next();
KPrintJobsImpl* itvalue = it.value();
const KPrintJobsImpl* itvalue = it.value();
if (itvalue == kprintjobsimpl) {
it.remove();
break;

View file

@ -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<int>(IPP_JSTATE_HELD) && cupsjobstate != m_cupsjobstate) {
kDebug() << "Print job suspended" << m_cupsjobid;
m_cupsjobstate = cupsjobstate;

View file

@ -42,6 +42,7 @@ private:
int m_cupsjobstate;
QByteArray m_cupsjobdestination;
bool m_emitdescription;
bool m_emittotalamount;
QTimer m_statetimer;
};