5 |
5 |
6 """ |
6 """ |
7 Module implementing a scheme access handler for AdBlock URLs. |
7 Module implementing a scheme access handler for AdBlock URLs. |
8 """ |
8 """ |
9 |
9 |
|
10 from PyQt4.QtCore import QUrl |
10 from PyQt4.QtNetwork import QNetworkAccessManager |
11 from PyQt4.QtNetwork import QNetworkAccessManager |
11 |
12 |
12 from E5Gui import E5MessageBox |
13 from E5Gui import E5MessageBox |
13 |
14 |
14 from .AdBlockSubscription import AdBlockSubscription |
15 from .AdBlockSubscription import AdBlockSubscription |
33 @return reference to the created reply object (QNetworkReply) |
34 @return reference to the created reply object (QNetworkReply) |
34 """ |
35 """ |
35 if op != QNetworkAccessManager.GetOperation: |
36 if op != QNetworkAccessManager.GetOperation: |
36 return None |
37 return None |
37 |
38 |
38 if request.url().path() != "subscribe": |
39 url = request.url() |
|
40 if url.path() != "subscribe": |
39 return None |
41 return None |
40 |
42 |
41 subscription = AdBlockSubscription(request.url(), |
43 title = QUrl.fromPercentEncoding(url.encodedQueryItemValue("title")) |
42 Helpviewer.HelpWindow.HelpWindow.adblockManager()) |
44 if not title: |
43 |
45 return None |
44 res = E5MessageBox.yesNo(None, |
46 res = E5MessageBox.yesNo(None, |
45 self.trUtf8("Subscribe?"), |
47 self.trUtf8("Subscribe?"), |
46 self.trUtf8("""<p>Subscribe to this AdBlock subscription?</p><p>{0}</p>""")\ |
48 self.trUtf8("""<p>Subscribe to this AdBlock subscription?</p><p>{0}</p>""")\ |
47 .format(subscription.title())) |
49 .format(title)) |
48 if res: |
50 if res: |
49 Helpviewer.HelpWindow.HelpWindow.adblockManager()\ |
51 dlg = Helpviewer.HelpWindow.HelpWindow.adBlockManager().showDialog() |
|
52 subscription = AdBlockSubscription(url, False, |
|
53 Helpviewer.HelpWindow.HelpWindow.adBlockManager()) |
|
54 Helpviewer.HelpWindow.HelpWindow.adBlockManager()\ |
50 .addSubscription(subscription) |
55 .addSubscription(subscription) |
51 dlg = Helpviewer.HelpWindow.HelpWindow.adblockManager().showDialog() |
56 dlg.addSubscription(subscription, False) |
52 model = dlg.model() |
|
53 dlg.setCurrentIndex(model.index(model.rowCount() - 1, 0)) |
|
54 dlg.setFocus() |
57 dlg.setFocus() |
|
58 dlg.raise_() |
55 |
59 |
56 return EmptyNetworkReply(self.parent()) |
60 return EmptyNetworkReply(self.parent()) |