Added an "Error page" with Sugar style that informs the users about
they are not connected to the internet when the page can not reached
for any reason.

This patch contains a HTML template (error_page.tmpl) that is used to
generate the error page with the correct language.

Signed-off-by: Manuel Kaufmann <humi...@gmail.com>
---
 browser.py                   |  31 +++++++++++++++++++++++++
 data/activity-web.png        | Bin 0 -> 6064 bytes
 data/browse-view-refresh.png | Bin 0 -> 481 bytes
 data/error_page.tmpl         |  53 +++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 84 insertions(+)
 create mode 100644 data/activity-web.png
 create mode 100644 data/browse-view-refresh.png
 create mode 100644 data/error_page.tmpl

diff --git a/browser.py b/browser.py
index de546f2..c9bcc1c 100644
--- a/browser.py
+++ b/browser.py
@@ -58,6 +58,9 @@ _NON_SEARCH_REGEX = re.compile('''
     ^file:.*$)
     ''', re.VERBOSE)
 
+DEFAULT_ERROR_PAGE = os.path.join(activity.get_bundle_path(),
+                                  'data/error_page.html')
+
 
 class CommandListener(object):
     def __init__(self, window):
@@ -462,6 +465,7 @@ class Browser(WebKit.WebView):
                      self.__mime_type_policy_cb)
         self.connect('new-window-policy-decision-requested',
                      self.__new_window_policy_cb)
+        self.connect('load-error', self.__load_error_cb)
 
         try:
             self.connect('run-file-chooser', self.__run_file_chooser)
@@ -603,6 +607,33 @@ class Browser(WebKit.WebView):
         downloadmanager.add_download(download, browser)
         return True
 
+    def __create_error_page(self, url):
+        """Create the error page in the correct language"""
+
+        data = {
+            'page_title': _('You are not connected to the internet'),
+            'title': _('You are not connected to the internet'),
+            'message': _('You will need to connect using the '
+                         'Neighborhood<br />view in order '
+                         'to continue browsing'),
+            'btn_value': _('Try again'),
+            'url': url,
+            }
+        filepath = os.path.join(activity.get_bundle_path(),
+                                'data/error_page.tmpl')
+        html = open(filepath, 'r').read() % data
+
+        f = open(DEFAULT_ERROR_PAGE, 'w')
+        f.write(html)
+        f.close()
+
+    def __load_error_cb(self, web_view, web_frame, uri, web_error):
+        """Show Sugar's error page"""
+
+        self.__create_error_page(uri)
+        self.load_uri('file://' + DEFAULT_ERROR_PAGE)
+        return True
+
 
 class PopupDialog(Gtk.Window):
     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.tmpl b/data/error_page.tmpl
new file mode 100644
index 0000000..f421ad5
--- /dev/null
+++ b/data/error_page.tmpl
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+  <head>
+    <title>%(page_title)s</title>
+    <style type="text/css">
+      body {
+         font-family: sans-serif;
+         text-align:center;
+         color: #a1a1a1;
+      }
+
+      #browse-logo {
+         align: center;
+         width: 130px;
+      }
+
+      p {
+         font-size: 1em;
+      }
+
+      #button {
+         color: white;
+         width: 150px;
+         height: 35px;
+         background-color: #a3a1a3;
+         border: 0;
+         font-size: 12pt;
+         font-weight: bold;
+         -webkit-border-radius: 20px;
+         background-image: url("browse-view-refresh.png");
+         background-position: 16px;
+         background-repeat: no-repeat;
+         text-align: right;
+         padding-right: 16px;
+      }
+
+      #container {
+          /* we need double percent sign here because
+             of Python sustitution */
+         margin: 15%%;
+      }
+    </style>
+  </head>
+
+  <body>
+    <div id="container">
+      <img id="browse-logo" src="activity-web.png"></img>
+      <h3>%(title)s</h3>
+      <p>%(message)s</p>
+      <input id="button" type="button" value="%(btn_value)s" 
onclick="location.href='%(url)s';" />
+    </div>
+  </body>
+</html>
-- 
1.7.11.4

_______________________________________________
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel

Reply via email to