-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathenview.cpp
More file actions
75 lines (62 loc) · 1.95 KB
/
enview.cpp
File metadata and controls
75 lines (62 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include "enview.h"
#include <QDebug>
EnView::EnView(QWidget *parent) :
QWebView(parent)
{
page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
connect(this, SIGNAL(linkClicked(QUrl)), SLOT(openUrl(QUrl)));
}
void EnView::load(const QUrl &url){
qDebug() << "EnView::load";
}
void EnView::openUrl(const QUrl& url){
qDebug() << "openUrl";
if(url.toString().startsWith("__zothreader__="))
emit noteClicked(url.toString().mid(15));
else
QDesktopServices::openUrl(url);
}
/*
void EnView::setENML(const QString& src)
{
QString page = substringBetween(src, "<en-note>", "</en-note>");
changeStyles(page);
//QString page = src;
//page.replace("en-note", "body");
setContent(QByteArray().append(page));
}
QString EnView::substringBetween(const QString& src, const QString& from, const QString& to)
{
int fromPos = src.indexOf(from) + from.length();
int number = src.indexOf(to) - fromPos;
return src.mid(fromPos, number);
return QString();
}
QString& EnView::deleteAttibute(QString& str, const QString& attr)
{
int pos = 0;
while(pos >= 0){
pos = str.indexOf(attr + ':');
str.remove(pos, str.indexOf(QString(';'), pos) - pos);
}
return str;
}
QString& EnView::changeStyles(QString& page)
{
deleteAttibute(page, "background");
deleteAttibute(page, "background-color");
page = "<body bgcolor=\"#eeeeee\"><div style=\"margin-left:200px;margin-right:200px;background-color:#eeeeee;\">" +
page +
"</div></body>";
page.replace("background-repeat: initial initial;", "");
page.replace("margin-top:0px;", "");
page.replace("margin-right:0px;", "");
page.replace("margin-left:0px;", "");
page.replace("margin-bottom:0px;", "");
page.replace("padding-top:0px;", "");
page.replace("padding-right:0px;", "");
page.replace("padding-left:0px;", "");
page.replace("padding-bottom:0px;", "");
return page;
}
*/