added previews next
This commit is contained in:
parent
ee6ba89ab4
commit
218f556a98
6 changed files with 40 additions and 15 deletions
13
Content.qml
13
Content.qml
|
@ -16,7 +16,9 @@ ScrollView {
|
|||
property Post post: content.post
|
||||
|
||||
function setPost() {
|
||||
experimental.evaluateJavaScript("setArticle(" + post.jsonString + ")")
|
||||
if(post) {
|
||||
experimental.evaluateJavaScript("setArticle(" + post.jsonString + ")")
|
||||
}
|
||||
}
|
||||
|
||||
// Enable communication between QML and WebKit
|
||||
|
@ -31,12 +33,7 @@ ScrollView {
|
|||
}
|
||||
}
|
||||
|
||||
onLoadingChanged: {
|
||||
setPost()
|
||||
}
|
||||
|
||||
onPostChanged: {
|
||||
setPost();
|
||||
}
|
||||
onLoadingChanged: setPost()
|
||||
onPostChanged: setPost()
|
||||
}
|
||||
}
|
||||
|
|
13
Sidebar.qml
13
Sidebar.qml
|
@ -9,9 +9,22 @@ ScrollView {
|
|||
property Server server
|
||||
property Content content
|
||||
|
||||
function next() {
|
||||
if(listView.count > listView.currentIndex) {
|
||||
listView.currentIndex++;
|
||||
}
|
||||
}
|
||||
|
||||
function previous() {
|
||||
if(listView.currentIndex > 0) {
|
||||
listView.currentIndex--;
|
||||
}
|
||||
}
|
||||
|
||||
Layout.minimumWidth: 400
|
||||
|
||||
ListView {
|
||||
id: listView
|
||||
|
||||
focus: true
|
||||
anchors.fill: parent
|
||||
|
|
|
@ -5,16 +5,18 @@ MenuBar {
|
|||
|
||||
property bool loggedIn: false
|
||||
property Server server
|
||||
property Sidebar sidebar
|
||||
|
||||
Menu {
|
||||
title: qsTr("File")
|
||||
MenuItem {
|
||||
text: qsTr("Close")
|
||||
shortcut: "Ctrl+W"
|
||||
enabled: false
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Log Out")
|
||||
enabled: loggedIn
|
||||
enabled: false
|
||||
}
|
||||
MenuSeparator { }
|
||||
MenuItem {
|
||||
|
@ -29,37 +31,39 @@ MenuBar {
|
|||
MenuItem {
|
||||
text: qsTr("Reload")
|
||||
shortcut: "R"
|
||||
enabled: loggedIn
|
||||
enabled: false
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Show &Starred")
|
||||
shortcut: "Ctrl+S"
|
||||
enabled: loggedIn
|
||||
enabled: false
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Set &Starred")
|
||||
shortcut: "S"
|
||||
enabled: loggedIn
|
||||
enabled: false
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Set &Unread")
|
||||
shortcut: "U"
|
||||
enabled: loggedIn
|
||||
enabled: false
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Next")
|
||||
shortcut: "J"
|
||||
enabled: loggedIn
|
||||
onTriggered: sidebar.next()
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Previous")
|
||||
shortcut: "K"
|
||||
enabled: loggedIn
|
||||
onTriggered: sidebar.previous()
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Open in Browser")
|
||||
shortcut: "N"
|
||||
enabled: loggedIn
|
||||
enabled: false
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -68,14 +72,17 @@ MenuBar {
|
|||
MenuItem {
|
||||
text: qsTr("Zoom In")
|
||||
shortcut: "Ctrl++"
|
||||
enabled: false
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Zoom Out")
|
||||
shortcut: "Ctrl+-"
|
||||
enabled: false
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Reset")
|
||||
shortcut: "Ctrl+0"
|
||||
enabled: false
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -84,6 +91,7 @@ MenuBar {
|
|||
MenuItem {
|
||||
text: qsTr("Reset to default")
|
||||
shortcut: "Ctrl+D"
|
||||
enabled: false
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -35,5 +35,10 @@ function setArticle(article) {
|
|||
if(article.author && article.author.length > 0)
|
||||
$("author").innerHTML = "– " + article.author
|
||||
$("article").innerHTML = article.content;
|
||||
|
||||
var as = $("article").getElementsByTagName("a");
|
||||
for(var i = 0; i <= as.length; i++) {
|
||||
as[i].target = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
2
main.qml
2
main.qml
|
@ -12,6 +12,7 @@ ApplicationWindow {
|
|||
menuBar: TheMenuBar {
|
||||
id: menu
|
||||
server: server
|
||||
sidebar: sidebar
|
||||
}
|
||||
|
||||
function loggedIn() {
|
||||
|
@ -25,6 +26,7 @@ ApplicationWindow {
|
|||
orientation: Qt.Horizontal
|
||||
|
||||
Sidebar {
|
||||
id: sidebar
|
||||
server: server
|
||||
content: content
|
||||
}
|
||||
|
|
2
post.cpp
2
post.cpp
|
@ -20,7 +20,7 @@ Post::Post(QJsonObject post, QObject *parent) : QObject(parent)
|
|||
timestamp.setTime_t(post.value("updated").toInt());
|
||||
mDate = timestamp;
|
||||
mContent = post.value("content").toString().trimmed();
|
||||
mExcerpt = post.value("excerpt").toString().trimmed();
|
||||
mExcerpt = post.value("excerpt").toString().remove(QRegExp("<[^>]*>")).replace("…", " ...").trimmed().replace("(\\s+)", " ").replace("\n", "");
|
||||
mStarred = post.value("marked").toBool();
|
||||
mRead = !post.value("unread").toBool();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue