Helpviewer/AdBlock/AdBlockAccessHandler.py

changeset 1970
02cf3bac079b
parent 1950
4f004ec74b48
child 2302
f29e9405c851
diff -r 5522b3266c8b -r 02cf3bac079b Helpviewer/AdBlock/AdBlockAccessHandler.py
--- a/Helpviewer/AdBlock/AdBlockAccessHandler.py	Mon Jul 30 19:19:29 2012 +0200
+++ b/Helpviewer/AdBlock/AdBlockAccessHandler.py	Sat Aug 04 13:30:04 2012 +0200
@@ -7,6 +7,7 @@
 Module implementing a scheme access handler for AdBlock URLs.
 """
 
+from PyQt4.QtCore import QUrl
 from PyQt4.QtNetwork import QNetworkAccessManager
 
 from E5Gui import E5MessageBox
@@ -35,22 +36,25 @@
         if op != QNetworkAccessManager.GetOperation:
             return None
         
-        if request.url().path() != "subscribe":
+        url = request.url()
+        if url.path() != "subscribe":
             return None
         
-        subscription = AdBlockSubscription(request.url(),
-                            Helpviewer.HelpWindow.HelpWindow.adblockManager())
-        
+        title = QUrl.fromPercentEncoding(url.encodedQueryItemValue("title"))
+        if not title:
+            return None
         res = E5MessageBox.yesNo(None,
             self.trUtf8("Subscribe?"),
             self.trUtf8("""<p>Subscribe to this AdBlock subscription?</p><p>{0}</p>""")\
-                .format(subscription.title()))
+                .format(title))
         if res:
-            Helpviewer.HelpWindow.HelpWindow.adblockManager()\
+            dlg = Helpviewer.HelpWindow.HelpWindow.adBlockManager().showDialog()
+            subscription = AdBlockSubscription(url, False,
+                Helpviewer.HelpWindow.HelpWindow.adBlockManager())
+            Helpviewer.HelpWindow.HelpWindow.adBlockManager()\
                 .addSubscription(subscription)
-            dlg = Helpviewer.HelpWindow.HelpWindow.adblockManager().showDialog()
-            model = dlg.model()
-            dlg.setCurrentIndex(model.index(model.rowCount() - 1, 0))
+            dlg.addSubscription(subscription, False)
             dlg.setFocus()
+            dlg.raise_()
         
         return EmptyNetworkReply(self.parent())

eric ide

mercurial