Implement KMessageWidget to report import errors.

Authored by bdevries on Dec 3 2019, 6:12 PM.

Description

Implement KMessageWidget to report import errors.

Summary:
Add a KMessageWidget to report any errors that have occured during
the import:

  • Files that have failed to copy into the temporary directory.
  • Files that failed to rename/move to their final location.
  • Subfolders (as defined by FileRenameFormatter) that failed to create.

Depending on the kind of failure(s), the KMessageWidget will contain
one or two actions to show a detailed list of files and/or subfolder
failures.

Test Plan:
Tested extensively with all kinds of errors:

  • set file permissions such that files cannot be copied into their final location;
  • set directory permissions such that subfolders cannot be created.

For each case observed that errors were reported correctly.
Tested that KMessageWidget stays hidden after import without errors.
Tested that previous errors have been correctly cleared when doing
a second import right after the first (without closing the program).

Reviewers: Gwenview, KDE Applications, ngraham

Reviewed By: Gwenview, KDE Applications, ngraham

Subscribers: ngraham

Tags: Gwenview

Differential Revision: https://phabricator.kde.org/D25111