Bug 446420

Summary: "Unknown protocol" is not friendly enough for 1-point user
Product: gwenview Reporter: Fushan Wen <qydwhotmail>
Component: importerAssignee: Gwenview Bugs <gwenview-bugs-null>
Severity: wishlist CC: bugseforuns, nate
Priority: NOR Keywords: usability
Version: Git (add output of "git log -1 --oneline" to description)   
Target Milestone: ---   
Platform: openSUSE RPMs   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=446274
Latest Commit: Version Fixed In: 22.04

Description Fushan Wen 2021-12-03 14:02:24 UTC
When kamera is not installed, the importer will report "Unknown protocol" error and leaves the dialog empty without any further instruction. The behavior is not friendly for 1-point user.

1. Make sure kamera is not installed
2. Import from a camera

"Unknown protocol" error is shown and the dialog is empty.

There should be some instructions to guide the user to install the protocol support.

Information for package gwenview5:
Repository     : unstable-kde-applications
Name           : gwenview5
Version        : 22.03.70git.20211130T184007~3d0f70c8-ku.28.1
Arch           : x86_64
Vendor         : obs://build.opensuse.org/KDE:Unstable
Installed Size : 3.8 MiB
Installed      : Yes
Status         : up-to-date
Source package : gwenview5-22.03.70git.20211130T184007~3d0f70c8-ku.28.1.src
Summary        : Image Viewer by KDE
Comment 1 Bug Janitor Service 2021-12-03 14:22:05 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/gwenview/-/merge_requests/121
Comment 2 Fushan Wen 2021-12-16 08:45:26 UTC
Git commit 5719e09b588c3bdaa466e1c64b2aaa1a16289605 by Fushan Wen.
Committed on 14/12/2021 at 11:49.
Pushed by fusionfuture into branch 'master'.

importer: Show "Install Protocol Support" button when protocol support is missing

Currently, when the protocol support is not installed (e.g. kamera),
the importer will report "Unknown protocol" error and leave
the dialog empty without any further instruction. The behavior
is not friendly for 1-dot users as mentioned in the Nate's
blog article.

This commit adds a button named "Install protocol support for %1". The
button is only visible when `DocumentDirFinder` emits
`KIO::Error::ERR_CANNOT_CREATE_SLAVE` error. The button can

1. open Discover and directly open kamera page if the scheme is
2. open Discover and search the scheme for other schemes.

To make `DocumentDirFinder` able to emit error signal, a new signal
named `error()` is added to `DocumentDirFinder`.

M  +2    -0    importer/CMakeLists.txt
M  +10   -0    importer/documentdirfinder.cpp
M  +1    -0    importer/documentdirfinder.h
M  +156  -0    importer/thumbnailpage.cpp
M  +2    -0    importer/thumbnailpage.h