[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdepim/akregator_port] akregator2/src: Apply patch from akregator for "Enable the "select an applic
From:       Montel Laurent <montel () kde ! org>
Date:       2012-10-31 21:48:18
Message-ID: 20121031214818.EF111A6078 () git ! kde ! org
[Download RAW message or body]

Git commit ea419ff3edad2dd071dda71099ef620d036d2293 by Montel Laurent.
Committed on 31/10/2012 at 22:47.
Pushed by mlaurent into branch 'akregator_port'.

Apply patch from akregator for  "Enable the "select an application" feature and this

time it works."

M  +11   -5    akregator2/src/browserrun.cpp
M  +1    -0    akregator2/src/browserrun.h

http://commits.kde.org/kdepim/ea419ff3edad2dd071dda71099ef620d036d2293

diff --git a/akregator2/src/browserrun.cpp b/akregator2/src/browserrun.cpp
index 3681fd1..dd946ad 100644
--- a/akregator2/src/browserrun.cpp
+++ b/akregator2/src/browserrun.cpp
@@ -34,6 +34,7 @@ BrowserRun::BrowserRun(const OpenUrlRequest& request, QWidget* \
parent)  : KParts::BrowserRun(request.url(), request.args(), request.browserArgs(), \
0L, parent, /*removeReferrer=*/false, /*trustedSource=*/false, \
/*hideErrorDialog=*/true), m_request(request)  {
     setEnableExternalBrowser(false);
+    m_window = parent; // remove member and use KRun::window() instead once we can \
depend on kdelibs >= 4.10  }
 
 BrowserRun::~BrowserRun()
@@ -50,14 +51,19 @@ void BrowserRun::foundMimeType(const QString& type)
 
     if ( m_request.wasHandled() ) {
         setFinished(true);
-        timer().start();
         return;
     }
 
-    if ( handleNonEmbeddable(type) == KParts::BrowserRun::NotHandled )
-        KRun::foundMimeType( type );
-
-
+    KService::Ptr selectedService;
+    if ( handleNonEmbeddable( type, &selectedService ) == \
KParts::BrowserRun::NotHandled ) { +        if ( selectedService ) {
+            KRun::setPreferredService( selectedService->desktopEntryName() );
+            KRun::foundMimeType( type );
+        } else {
+            KRun::displayOpenWithDialog( url(), m_window, false, suggestedFileName() \
); +            setFinished(true);
+        }
+    }
 }
 
 } // namespace Akregator2
diff --git a/akregator2/src/browserrun.h b/akregator2/src/browserrun.h
index 7128099..3326998 100644
--- a/akregator2/src/browserrun.h
+++ b/akregator2/src/browserrun.h
@@ -48,6 +48,7 @@ class BrowserRun : public KParts::BrowserRun
 
     private:
         OpenUrlRequest m_request;
+        QWidget* m_window;
 };
 
 } // namespace Akregator2


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic