From: Kai Uwe Broulik Date: Wed, 8 Dec 2021 15:59:05 +0000 (+0100) Subject: Show OpenUrlJob errors as inline message X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/188b73e7d416a0edcf6bce69cbf8cd089cb30752?ds=sidebyside Show OpenUrlJob errors as inline message Avoids an ugly message box when opening a file fails or is forbidden. --- diff --git a/src/dolphinviewcontainer.cpp b/src/dolphinviewcontainer.cpp index 4ec855226..a647b6f43 100644 --- a/src/dolphinviewcontainer.cpp +++ b/src/dolphinviewcontainer.cpp @@ -656,8 +656,9 @@ void DolphinViewContainer::slotItemActivated(const KFileItem& item) } KIO::OpenUrlJob *job = new KIO::OpenUrlJob(item.targetUrl()); - job->setUiDelegate(new KIO::JobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, this)); + job->setUiDelegate(new KIO::JobUiDelegate(KJobUiDelegate::AutoWarningHandlingEnabled, this)); job->setShowOpenOrExecuteDialog(true); + connect(job, &KIO::OpenUrlJob::finished, this, &DolphinViewContainer::slotOpenUrlFinished); job->start(); } @@ -829,6 +830,13 @@ void DolphinViewContainer::slotSortHiddenLastChanged(bool hiddenLast) } } +void DolphinViewContainer::slotOpenUrlFinished(KJob *job) +{ + if (job->error() && job->error() != KIO::ERR_USER_CANCELED) { + showErrorMessage(job->errorString()); + } +} + bool DolphinViewContainer::isSearchUrl(const QUrl& url) const { return url.scheme().contains(QLatin1String("search")); diff --git a/src/dolphinviewcontainer.h b/src/dolphinviewcontainer.h index c4a0c5ba8..5d2321952 100644 --- a/src/dolphinviewcontainer.h +++ b/src/dolphinviewcontainer.h @@ -364,6 +364,8 @@ private Q_SLOTS: void slotHiddenFilesShownChanged(bool showHiddenFiles); void slotSortHiddenLastChanged(bool hiddenLast); + void slotOpenUrlFinished(KJob* job); + private: /** * @return True if the URL protocol is a search URL (e. g. baloosearch:// or filenamesearch://).