From 2a26e4b822a11d3efb07019b1cde447307b8936b Mon Sep 17 00:00:00 2001
From: Manuel Kaufmann <humitos@gmail.com>
Date: Tue, 18 Sep 2012 12:53:58 -0300
Subject: [PATCH Browse] Error page SL #3500
Added an "Error page" with Sugar style that informs to the users about
they are not connected to the internet when the page can not reached
for any reason.
Signed-off-by: Manuel Kaufmann <humitos@gmail.com>
---
browser.py | 9 ++++++++
data/activity-web.png | Bin 0 -> 6064 bytes
data/browse-view-refresh.png | Bin 0 -> 481 bytes
data/error_page.html | 51 +++++++++++++++++++++++++++++++++++++++++++
4 files changed, 60 insertions(+)
create mode 100644 data/activity-web.png
create mode 100644 data/browse-view-refresh.png
create mode 100644 data/error_page.html
diff --git a/browser.py b/browser.py
index de546f2..1534e4c 100644
a
|
b
|
class Browser(WebKit.WebView): |
462 | 462 | self.__mime_type_policy_cb) |
463 | 463 | self.connect('new-window-policy-decision-requested', |
464 | 464 | self.__new_window_policy_cb) |
| 465 | self.connect('load-error', self.__load_error_cb) |
465 | 466 | |
466 | 467 | try: |
467 | 468 | self.connect('run-file-chooser', self.__run_file_chooser) |
… |
… |
class Browser(WebKit.WebView): |
603 | 604 | downloadmanager.add_download(download, browser) |
604 | 605 | return True |
605 | 606 | |
| 607 | def __load_error_cb(self, web_view, web_frame, uri, web_error): |
| 608 | """Show Sugar's error page""" |
| 609 | |
| 610 | default_page = os.path.join(activity.get_bundle_path(), |
| 611 | 'data/error_page.html') |
| 612 | self.load_uri('file://' + default_page) |
| 613 | return True |
| 614 | |
606 | 615 | |
607 | 616 | class PopupDialog(Gtk.Window): |
608 | 617 | def __init__(self): |
diff --git a/data/activity-web.png b/data/activity-web.png
new file mode 100644
index 0000000000000000000000000000000000000000..d27964350a22e13fef454fb1923a722b5d64a921
GIT binary patch
literal 6064
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
b+)L8Yyp)z@E2ajf>qsDZb-8L8^U(hT_>9o&
literal 0
HcmV?d00001
diff --git a/data/browse-view-refresh.png b/data/browse-view-refresh.png
new file mode 100644
index 0000000000000000000000000000000000000000..0958cc119ee618b119392c9cb7039d15b495b3d3
GIT binary patch
literal 481
zcmV<70UrK|P)<h;3K|Lk000e1NJLTq000pH000sQ1^@s6z4<j%00004b3#c}2nYxW
zd<bNS00009a7bBm000j*000j*0ZdL*wEzGB8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ@H10bWT&K~y-6m6JV713?gm-&`Xa!OE0J8X=99Bv@Dp{)BXakV-qN
z2#R1~XQ#acZS8IR0~!$#l8AbsB4{ImjffZ?i_FSqjrkZDX6NRehq?Vo0SatFQdv?#
z(ww9jNq3SiB-JGyNc!mN0DNBn68c+Wy5Bw@PzBnaxCI;nn-*JMt!?@)NCEgZ!7ES<
zCUjo3I;Nj@kTIZXg*PDn2jDz59l#ARE@0UkvorwUyyW$)2&h@o7!u&TVSTkoQr-^g
zJUr_G=JfeUQqGd*h!CgGMUoyZ$&Lt#Ej~q(uH0A_%aV?VfEFw^+$D3i=xx|hpG{rz
zde#M`foJ>B1a@ux1!Q^vGQhQIUVuqgsCeXiZ(R)lvvj|$3c=gi=C3_iEeo6kwH+Yk
zL(;$+aM=Ttv--Q`pTMd=p<C?tXa=YQQ>NJhHh}5i7u6Z3bF6!kZY7;cI<uGzb76h}
XJ)PM3q=+B&00000NkvXXu0mjfaW%iu
literal 0
HcmV?d00001
diff --git a/data/error_page.html b/data/error_page.html
new file mode 100644
index 0000000..1ba785b
-
|
+
|
|
| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| 2 | <html xmlns="http://www.w3.org/1999/xhtml"> |
| 3 | <head> |
| 4 | <title>%(title)s</title> |
| 5 | <style type="text/css"> |
| 6 | body { |
| 7 | font-family: sans-serif; |
| 8 | text-align:center; |
| 9 | color: #a1a1a1; |
| 10 | } |
| 11 | |
| 12 | #browse-logo { |
| 13 | align: center; |
| 14 | width: 130px; |
| 15 | } |
| 16 | |
| 17 | p { |
| 18 | font-size: 13pt; |
| 19 | } |
| 20 | |
| 21 | #button { |
| 22 | color: white; |
| 23 | width: 150px; |
| 24 | height: 35px; |
| 25 | background-color: #a3a1a3; |
| 26 | border: 0; |
| 27 | font-size: 12pt; |
| 28 | font-weight: bold; |
| 29 | -webkit-border-radius: 20px; |
| 30 | background-image: url("browse-view-refresh.png"); |
| 31 | background-position: 16px; |
| 32 | background-repeat: no-repeat; |
| 33 | text-align: right; |
| 34 | padding-right: 16px; |
| 35 | } |
| 36 | |
| 37 | #container { |
| 38 | margin: 15%; |
| 39 | } |
| 40 | </style> |
| 41 | </head> |
| 42 | |
| 43 | <body> |
| 44 | <div id="container"> |
| 45 | <img id="browse-logo" src="activity-web.png"></img> |
| 46 | <h3>%(title)s</h3> |
| 47 | <p>%(message)s</p> |
| 48 | <input id="button" type="button" value="%(btn_value)s" onclick="location.href='%(url)s';" /> |
| 49 | </div> |
| 50 | </body> |
| 51 | </html> |