moved sidebar to own file

This commit is contained in:
Jeena 2015-02-03 01:55:54 +01:00
parent cc59671ff4
commit ee6ba89ab4
7 changed files with 90 additions and 46 deletions

View file

@ -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();
}
}
}

34
Sidebar.qml Normal file
View file

@ -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]
}
}
}

View file

@ -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
}
}

View file

@ -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;

View file

@ -5,6 +5,7 @@
<title>TTRSS</title>
<link href="content.css" media="all" rel="stylesheet" />
<script type="text/javascript" src="content.js"></script>
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
</head>
<body class=''>
<header>

View file

@ -9,9 +9,13 @@ ApplicationWindow {
width: 1024
height: 800
menuBar: TheMenuBar {}
menuBar: TheMenuBar {
id: menu
server: server
}
function loggedIn() {
menu.loggedIn = true;
login.visible = false;
server.initialize(serverLogin.serverUrl, serverLogin.sessionId);
}
@ -20,24 +24,9 @@ ApplicationWindow {
anchors.fill: parent
orientation: Qt.Horizontal
ScrollView {
Layout.minimumWidth: 400
ListView {
id: listView
anchors.fill: parent
spacing: 1
model: server.posts
delegate: delegate
highlight: Rectangle {
color: "lightblue"
opacity: 0.5
}
focus: true
onCurrentItemChanged: {
content.experimental.evaluateJavaScript("setArticle(" + server.posts[currentIndex].jsonString + ")")
}
}
Sidebar {
server: server
content: content
}
Content {
@ -66,11 +55,6 @@ ApplicationWindow {
id: server
}
Component {
id: delegate
PostListItem {}
}
Component.onCompleted: {
if(serverLogin.loggedIn()) {
loggedIn();

View file

@ -5,5 +5,6 @@
<file>Content.qml</file>
<file>Login.qml</file>
<file>PostListItem.qml</file>
<file>Sidebar.qml</file>
</qresource>
</RCC>