Ticket #3500: 0001-Error-page-SL-3500.patch

File 0001-Error-page-SL-3500.patch, 11.7 KB (added by humitos, 12 years ago)
  • browser.py

    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): 
    462462                     self.__mime_type_policy_cb)
    463463        self.connect('new-window-policy-decision-requested',
    464464                     self.__new_window_policy_cb)
     465        self.connect('load-error', self.__load_error_cb)
    465466
    466467        try:
    467468            self.connect('run-file-chooser', self.__run_file_chooser)
    class Browser(WebKit.WebView): 
    603604        downloadmanager.add_download(download, browser)
    604605        return True
    605606
     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
    606615
    607616class PopupDialog(Gtk.Window):
    608617    def __init__(self):
  • new file data/activity-web.png

    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&
  • new file 0

    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
  • new file data/error_page.html

    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>