]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Use setShowOpenOrExecuteDialog(true) with OpenUrlJob
authorAhmad Samir <a.samirh78@gmail.com>
Mon, 14 Dec 2020 22:40:12 +0000 (00:40 +0200)
committerAhmad Samir <a.samirh78@gmail.com>
Wed, 16 Dec 2020 21:51:06 +0000 (23:51 +0200)
It makes more sense for a file manager to always ask the user:
 - whether to execute binaries
 - whether to open an executable script as text or execute it

The openOrExecute dialog from KIOWidgets has a "don't ask again" checkbox,
and that setting is also accessible from Dolphin's settings dialog.

See the discussion at https://bugs.kde.org/show_bug.cgi?id=429839#c10

src/dolphinmainwindow.cpp
src/dolphinviewcontainer.cpp

index b72f2eb90ced1460776083c148219163b9c1abd3..5a531938325f52c7534e483dae42915c6dea3745 100644 (file)
@@ -1083,7 +1083,7 @@ void DolphinMainWindow::handleUrl(const QUrl& url)
     } else {
         m_lastHandleUrlOpenJob = new KIO::OpenUrlJob(url);
         m_lastHandleUrlOpenJob->setUiDelegate(new KIO::JobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, this));
     } else {
         m_lastHandleUrlOpenJob = new KIO::OpenUrlJob(url);
         m_lastHandleUrlOpenJob->setUiDelegate(new KIO::JobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, this));
-        m_lastHandleUrlOpenJob->setRunExecutables(true);
+        m_lastHandleUrlOpenJob->setShowOpenOrExecuteDialog(true);
 
         connect(m_lastHandleUrlOpenJob, &KIO::OpenUrlJob::mimeTypeFound, this,
                 [this, url](const QString &mimetype) {
 
         connect(m_lastHandleUrlOpenJob, &KIO::OpenUrlJob::mimeTypeFound, this,
                 [this, url](const QString &mimetype) {
index 8dd309314c1bdcbd19226f78bd2beb76782caec4..7053c4a6bc0cf2a7a009bc6e6e60f6d5df36802d 100644 (file)
@@ -638,7 +638,6 @@ void DolphinViewContainer::slotItemActivated(const KFileItem& item)
     }
 
     KIO::OpenUrlJob *job = new KIO::OpenUrlJob(item.targetUrl());
     }
 
     KIO::OpenUrlJob *job = new KIO::OpenUrlJob(item.targetUrl());
-    job->setRunExecutables(true);
     job->setUiDelegate(new KIO::JobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, this));
     job->setShowOpenOrExecuteDialog(true);
     job->start();
     job->setUiDelegate(new KIO::JobUiDelegate(KJobUiDelegate::AutoHandlingEnabled, this));
     job->setShowOpenOrExecuteDialog(true);
     job->start();