There are at least 4 states that we should check:
- The operation was successful
- The operation was canceled by the user. This is currently handled by the cancelled() signal.
- KJob::kill() was called
- The operation failed (currently handled by the error() signal).