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