Some porting from KIO::Jobs to KJobs
Ricard Marxer Piñón
rmarxer at iua.upf.edu
Thu Jan 18 11:55:15 GMT 2007
Kevin Krammer wrote:
> On Thursday 18 January 2007 01:43, David Faure wrote:
>
>> On Wednesday 17 January 2007 13:01, Kevin Ottens wrote:
>>
>>> Le Mercredi 17 Janvier 2007 12:43, David Faure a écrit :
>>>
>>>> This works for the case of loading contacts, but not when it's indeed
>>>> about files. totalSize(2000) means 2000 bytes, not 2000 files, and you
>>>> need totalFiles/totalDirs in addition.
>>>>
>>> Right now, totalSize is what's used for percentage computation... I
>>> wonder what percent() is supposed to convey then.
>>>
>> There are multiple levels.
>>
>> In uiserver percent is what matters:
>> return i18n( "%1 % of %2 " ).arg( percent ).arg( KIO::convertSize(
>> totalSize ) );
>>
>> Below, in the job (Job::emitPercent), the percent is calculated from
>> processedSize and totalSize, to have that code in one place and not require
>> that the ioslaves have to do it. The percent signal from the job is what
>> goes to uiserver; so Thiago is wrong, it *is* used.
>>
>> [Someone then added SlaveBase::processedPercent though, for the case where
>> the total size can't be known (e.g. kio_audiocd with compression), but
>> that's not implemented yet.]
>>
>
> Maybe jobs with unknown total should be handled differently. e.g.like a
> QProgressBar has a mode for total==0, but more explicit.
>
Maybe it does need one. It could be handled as:
myJob->setProgress(KJob::UNKNOWN);
Although I do think it's better to avoid unknown length jobs, I would
recommend to set a timeout and use the consumption of the timeout as the
progress.
If the job timeouts, then the job should be set to a state
KJob::FINISHED_UNEXPECTEDLY with a new progressInfo and set some actions
like retry or cancel.
> Cheers,
> Kevin
>
>
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the kde-core-devel
mailing list