[Notifications] Implement JobViewV3

Authored by broulik on Aug 20 2019, 2:55 PM.



This implements a new JobViewV3 which uses extensible variant maps rather than individual function calls, allowing for compression of calls and extensibility.
The new API uses infoMessage correctly as a state message, e.g. "Connecting to host" rather than mixing it with the "Copying..." heading.
It also supports an "immediate" flag that the caller can use to indicate progress should be immediately shown, so in cases where the user is likely to want to use the file afterwards (e.g. download through p-b-i or receiving a file through KDE Connect) a job popup is shown even for small/short transfers.

Test Plan

This has to go into 5.16 branch as I implemented the interface in 5.16 but it is defunct, so when we ever start using it in KIO it will see the interface but it will not work.

Used a WIP branch of kjobwidgets/kio and been using the new API without a hitch.

Diff Detail

R120 Plasma Workspace
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
broulik created this revision.Aug 20 2019, 2:55 PM
Restricted Application added a project: Plasma. · View Herald TranscriptAug 20 2019, 2:55 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
broulik requested review of this revision.Aug 20 2019, 2:55 PM
broulik retitled this revision from [Notifications] Implement JobViewV2 to [Notifications] Implement JobViewV3.Aug 30 2019, 12:32 PM
broulik edited the summary of this revision. (Show Details)
davidedmundson accepted this revision.Aug 30 2019, 1:15 PM
davidedmundson added a subscriber: davidedmundson.
davidedmundson added inline comments.

you can probably constEnd / constFind etc.

This revision is now accepted and ready to land.Aug 30 2019, 1:15 PM
This revision was automatically updated to reflect the committed changes.