Review Request 123967: Implement a cancelled() signal in ReadOnlyArchiveInterface to fix cancellation of password dialogs

Ragnar Thomsen rthomsen6 at gmail.com
Sun May 31 22:50:31 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123967/
-----------------------------------------------------------

(Updated June 1, 2015, 12:50 a.m.)


Review request for KDE Utils, Elvis Angelaccio and Raphael Kubo da Costa.


Changes
-------

1. Set the error code to KJob::UserDefinedError (=100) in Job::onError(), not to 1 which corresponds to KJob::KilledJobError. Otherwise, typing the wrong password gives no error.

2. Modify BatchExtract to not show errorbox when error() is KJob::KilledJobError.

However, there is still an inconsistency: When BatchExtracting a rar-archive and cancelling the password box there is an errorbox with the message: "Extraction failed: Incorrect password", but when BatchExtracting a zip-archive and cancelling there is no errorbox.


Bugs: 267670
    http://bugs.kde.org/show_bug.cgi?id=267670


Repository: ark


Description
-------

Implement a cancelled() signal in ReadOnlyArchiveInterface. This signal is emitted in CliInterface when the user cancels a password dialog. The signal is connected to a slot in Job which sets KJob::error to KJob::KilledJobError.

The callers (Part and BatchExtract) are modified to do nothing if the error code is KJob::KilledJobError when running ListJobs/ExtractJobs/AddJobs/DeleteJobs. This fixes an issue where the user cancels the "Enter password" dialog and the UI keeps being blocked and/or error messageboxes appear.

The commit ee006cb6a83e6cbd01a2dc459b8b0c8be664c05e in the frameworks branch should be reverted before applying this diff, since this is meant to be an improved replacement of that commit.


Diffs (updated)
-----

  app/batchextract.cpp 4adc519 
  kerfuffle/archiveinterface.h 3126a4c 
  kerfuffle/cliinterface.cpp 089f36c 
  kerfuffle/jobs.h 0b85534 
  kerfuffle/jobs.cpp f573498 
  part/part.cpp 6fc9f55 

Diff: https://git.reviewboard.kde.org/r/123967/diff/


Testing
-------

Opened a password-protected zip archive, clicked on a file and cancelled the dialog. Opened a password-protected zip archive, selected a file for extraction and cancelled the password dialog. Opened a password-protected rar archive, and cancelled the password dialog. In all cases, the UI is not blocked after cancelling the dialog and no message boxes appear.


Thanks,

Ragnar Thomsen

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-utils-devel/attachments/20150531/2b4c79c1/attachment.html>


More information about the Kde-utils-devel mailing list