<table><tr><td style="">rthomsen updated the summary for this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-x6n66zz2plfco7m/" rel="noreferrer">(Show Details)</a><br />rthomsen updated this revision to Diff 7468.<br />rthomsen added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D3072" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>See updated summary.</p></div></div><br /><div><strong>EDIT DETAILS</strong><div><div style="white-space: pre-wrap; color: #74777D;">Progress is now also shown in percentage for `Addjob`, `CopyJob`, `DeleteJob` and `MoveJob` for archives handled by LibarchivePlugin. This was a bit tricky due to libarchive always iterating the whole archive and means that the plugin needs to know the total number of existing archive entries.<br />
<br />
<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">Two new properties were added to</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">A new member variable `m_numberOfEntries` was added to `ReadOnlyArchiveInterface`, which holds the total number of entries in the archive. The variable is kept up-to-date by incrementing/decrementing it whenever the `entry` and `entryRemoved` signals are emitted by a plugin. This necessitated a slight rework of</span> the <span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">`CompressionOptions` class: `NumberOfEntriesToAdd`</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">handling of `MoveJob`</span> and <span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">`NumberOfExistingE</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">`CopyJob` by `LibarchivePlugin` because these emitted `entry` when iterating over the old e</span>ntries<span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">`</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);"></span>. The <span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">first one is only set for `AddJob`, while the latter is used for all of these job types.<br />
<br />
`DeleteJob` ctor and </span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">new approach should also be more efficient.<br />
<br />
The two `Archive` members `m_numberOfFiles` and `m_numberOfFolders` were removed.<br />
<br />
</span>`ReadOnlyArchiveInterface::deleteFiles()` got an additional argument of type <span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">`CompressionOptions` to</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">`uint` that</span> hold<span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">s</span> the <span style="padding: 0 2px; color: #802b2b; background: rgba(251, 175, 175, .7);">`NumberOfExistingEntries` value</span><span style="padding: 0 2px; color: #3e6d35; background: rgba(151, 234, 151, .6);">number of entries to be added</span>.</div></div></div><br /><div><strong>REPOSITORY</strong><div><div>rARK Ark</div></div></div><br /><div><strong>CHANGES SINCE LAST UPDATE</strong><div><a href="https://phabricator.kde.org/D3072?vs=7422&id=7468" rel="noreferrer">https://phabricator.kde.org/D3072?vs=7422&id=7468</a></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D3072" rel="noreferrer">https://phabricator.kde.org/D3072</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>autotests/kerfuffle/addtoarchivetest.cpp<br />
autotests/kerfuffle/jsonarchiveinterface.cpp<br />
autotests/kerfuffle/jsonarchiveinterface.h<br />
kerfuffle/archive_kerfuffle.cpp<br />
kerfuffle/archive_kerfuffle.h<br />
kerfuffle/archiveinterface.cpp<br />
kerfuffle/archiveinterface.h<br />
kerfuffle/cliinterface.cpp<br />
kerfuffle/cliinterface.h<br />
kerfuffle/jobs.cpp<br />
part/archivemodel.cpp<br />
plugins/clizipplugin/cliplugin.cpp<br />
plugins/libarchive/libarchiveplugin.cpp<br />
plugins/libarchive/libarchiveplugin.h<br />
plugins/libarchive/readwritelibarchiveplugin.cpp<br />
plugins/libarchive/readwritelibarchiveplugin.h</div></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>rthomsen, elvisangelaccio<br /><strong>Cc: </strong>kde-utils-devel, tctara<br /></div>