Add a nice error page when pdfjs is not found
This commit is contained in:
parent
9eb72bf08a
commit
b243acf172
@ -220,7 +220,12 @@ class BrowserPage(QWebPage):
|
||||
|
||||
def _show_pdfjs(self, reply):
|
||||
"""Show the reply with pdfjs."""
|
||||
page = pdfjs.generate_pdfjs_page(reply.url()).encode('utf-8')
|
||||
try:
|
||||
page = pdfjs.generate_pdfjs_page(reply.url()).encode('utf-8')
|
||||
except pdfjs.PDFJSNotFound:
|
||||
page = (jinja.env.get_template('no_pdfjs.html')
|
||||
.render(url=reply.url().toDisplayString())
|
||||
.encode('utf-8'))
|
||||
self.mainFrame().setContent(page, 'text/html', reply.url())
|
||||
reply.deleteLater()
|
||||
|
||||
|
112
qutebrowser/html/no_pdfjs.html
Normal file
112
qutebrowser/html/no_pdfjs.html
Normal file
@ -0,0 +1,112 @@
|
||||
{% extends "base.html" %}
|
||||
{% block style %}
|
||||
{{ super() }}
|
||||
* {
|
||||
margin: 0px 0px;
|
||||
padding: 0px 0px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
-webkit-text-size-adjust: none;
|
||||
color: #333333;
|
||||
background-color: #EEEEEE;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
#error-container {
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
margin-top: 20px;
|
||||
border: 1px solid #CCCCCC;
|
||||
box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.20);
|
||||
border-radius: 5px;
|
||||
background-color: #FFFFFF;
|
||||
padding: 20px 20px;
|
||||
}
|
||||
|
||||
#header {
|
||||
border-bottom: 1px solid #CCC;
|
||||
}
|
||||
|
||||
.qutebrowser-broken {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
td {
|
||||
margin-top: 20px;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
h1, h2 {
|
||||
font-weight: normal;
|
||||
color: #1e89c6;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
ul {
|
||||
margin-left: 20px;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div id="error-container">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="width: 10%; vertical-align: top;">
|
||||
<img style="width: 100%; display: block; max-width: 256px;" src="{{ resource_url('img/broken_qutebrowser_logo.png') }}" />
|
||||
</td>
|
||||
<td style="padding-left: 40px;">
|
||||
<h1>No pdf.js installation found</h1>
|
||||
<p>Error while opening {{ url }}: <br>
|
||||
<p id="error-message-text" style="color: #a31a1a;">qutebrowser can't find a suitable pdf.js installation</p></p>
|
||||
|
||||
<p>It looks like you set <code>content -> enable-pdfjs</code>
|
||||
to <em>true</em> but qutebrowser can't find the required files.</p>
|
||||
|
||||
<br>
|
||||
|
||||
<h2>Possible fixes</h2>
|
||||
<ul>
|
||||
<li>
|
||||
Disable <code>content -> enable-pdfjs</code> and reload the page.
|
||||
You will need to download the pdf-file and open it with an external
|
||||
tool instead.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
If you have installed a packaged version of qutebrowser, make sure
|
||||
the required packages for pdf.js are also installed.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
If you have installed a pdf.js package and qutebrowser still can't
|
||||
find it, please send us a report with your system and the package
|
||||
name, so we can add it to the list of supported packages.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
If you're running a self-built version or the source version, make
|
||||
sure you have pdf.js in <code>qutebrowser/3rdparty/pdfjs</code>.
|
||||
You can use the <code>scripts/dev/update_3rdparty.py</code> script
|
||||
to download the latest version.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
If none of these fixes work for you, please send us a bug report so
|
||||
we can fix the issue.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{% endblock %}
|
Loading…
Reference in New Issue
Block a user