diff --git a/Content.qml b/Content.qml index 637ea42..05dac78 100644 --- a/Content.qml +++ b/Content.qml @@ -1,18 +1,42 @@ import QtWebKit 3.0 import QtWebKit.experimental 1.0 +import QtQuick.Controls 1.3 +import QtQuick.Layouts 1.1 +import TTRSS 1.0 -WebView { - url: "content.html" +ScrollView { + id: content + property Post post + Layout.minimumWidth: 400 - // Enable communication between QML and WebKit - experimental.preferences.navigatorQtObjectEnabled: true; + WebView { + id: webView + url: "content.html" - onNavigationRequested: { - if (request.navigationType != WebView.LinkClickedNavigation) { - request.action = WebView.AcceptRequest; - } else { - request.action = WebView.IgnoreRequest; - Qt.openUrlExternally(request.url); + property Post post: content.post + + function setPost() { + experimental.evaluateJavaScript("setArticle(" + post.jsonString + ")") + } + + // Enable communication between QML and WebKit + experimental.preferences.navigatorQtObjectEnabled: true; + + onNavigationRequested: { + if (request.navigationType != WebView.LinkClickedNavigation) { + request.action = WebView.AcceptRequest; + } else { + request.action = WebView.IgnoreRequest; + Qt.openUrlExternally(request.url); + } + } + + onLoadingChanged: { + setPost() + } + + onPostChanged: { + setPost(); } } } diff --git a/Sidebar.qml b/Sidebar.qml new file mode 100644 index 0000000..1b6e5b9 --- /dev/null +++ b/Sidebar.qml @@ -0,0 +1,34 @@ +import QtQuick 2.0 +import TTRSS 1.0 +import QtQuick.Controls 1.3 +import QtQuick.Layouts 1.1 + +ScrollView { + id: item + + property Server server + property Content content + + Layout.minimumWidth: 400 + + ListView { + + focus: true + anchors.fill: parent + spacing: 1 + model: item.server.posts + + delegate: Component { + PostListItem {} + } + + highlight: Rectangle { + color: "lightblue" + opacity: 0.5 + } + + onCurrentItemChanged: { + item.content.post = server.posts[currentIndex] + } + } +} diff --git a/TheMenuBar.qml b/TheMenuBar.qml index 82bc800..94426f8 100644 --- a/TheMenuBar.qml +++ b/TheMenuBar.qml @@ -1,10 +1,10 @@ import QtQuick.Controls 1.2 +import TTRSS 1.0 MenuBar { - function loggedIn() { - return false; - } + property bool loggedIn: false + property Server server Menu { title: qsTr("File") @@ -14,7 +14,7 @@ MenuBar { } MenuItem { text: qsTr("Log Out") - enabled: loggedIn() + enabled: loggedIn } MenuSeparator { } MenuItem { @@ -29,37 +29,37 @@ MenuBar { MenuItem { text: qsTr("Reload") shortcut: "R" - enabled: loggedIn() + enabled: loggedIn } MenuItem { text: qsTr("Show &Starred") shortcut: "Ctrl+S" - enabled: loggedIn() + enabled: loggedIn } MenuItem { text: qsTr("Set &Starred") shortcut: "S" - enabled: loggedIn() + enabled: loggedIn } MenuItem { text: qsTr("Set &Unread") shortcut: "U" - enabled: loggedIn() + enabled: loggedIn } MenuItem { text: qsTr("Next") shortcut: "J" - enabled: loggedIn() + enabled: loggedIn } MenuItem { text: qsTr("Previous") shortcut: "K" - enabled: loggedIn() + enabled: loggedIn } MenuItem { text: qsTr("Open in Browser") shortcut: "N" - enabled: loggedIn() + enabled: loggedIn } } diff --git a/content.css b/content.css index 3643b4f..1e566d5 100644 --- a/content.css +++ b/content.css @@ -1,7 +1,7 @@ body { font-family: "Ubuntu", "Lucida Grande", "Tahoma", sans-serif; padding: 1em 2em 1em 2em; - font-size: 1.6em; + background: transpatent; } body.darwin { font-family: "LucidaGrande", sans-serif; diff --git a/content.html b/content.html index f28fec8..ee3e982 100644 --- a/content.html +++ b/content.html @@ -5,6 +5,7 @@