From 7d88509cf8dff70a51e881121136ead59f0eb81f Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sun, 28 Feb 2021 19:33:45 +0900 Subject: [PATCH] konqueror: if requested to navigate to an encrypted disk from the location bar or CLI, offer the user the ability to unlock the disk and subsequently navigate to the "media" folder. This replaces the odd and non-useful behavior of presenting the "open with" dialog on an encrypted medium. Signed-off-by: Michele Calgaro --- konqueror/konq_mainwindow.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/konqueror/konq_mainwindow.cpp b/konqueror/konq_mainwindow.cpp index 90dd451af..72a90d8ba 100644 --- a/konqueror/konq_mainwindow.cpp +++ b/konqueror/konq_mainwindow.cpp @@ -717,6 +717,27 @@ bool KonqMainWindow::openView( TQString serviceType, const KURL &_url, KonqView return false; // execute, don't open // Contract: the caller of this method should ensure the view is stopped first. + // If trying to navigate to an encrypted disk, unlock it if necessary and then navigate to system:/media + if (serviceType.contains("encrypted")) + { + if (serviceType.contains("encrypted_locked")) + { + TQString lockingService = TDEGlobal::dirs()->findResource("data", "konqueror/servicemenus/media_unlock.desktop"); + if (!lockingService.isEmpty()) + { + TQValueList serviceList = KDEDesktopMimeType::userDefinedServices(lockingService, _url.isLocalFile()); + if (serviceList.count() == 1) + { + KURL::List m_lstURLs; + m_lstURLs.append(_url); + KDEDesktopMimeType::executeService(m_lstURLs, serviceList[0]); + } + } + } + slotGoMedia(); + return true; + } + #ifndef NDEBUG kdDebug(1202) << "KonqMainWindow::openView " << serviceType << " " << _url << " " << childView << " req:" << req.debug() << endl; #endif