first steps to mark read
This commit is contained in:
parent
74d5236408
commit
ddb54f398c
8 changed files with 27 additions and 4 deletions
|
@ -47,7 +47,7 @@ Component {
|
|||
}
|
||||
Label {
|
||||
text: title
|
||||
color: read ? "gray" : this.color
|
||||
color: read ? "gray" : "black"
|
||||
font.pointSize: headLinefontSize
|
||||
textFormat: Text.RichText
|
||||
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
||||
|
|
|
@ -9,6 +9,7 @@ ScrollView {
|
|||
|
||||
property Server server
|
||||
property Content content
|
||||
property Post previousPost
|
||||
|
||||
style: ScrollViewStyle {
|
||||
transientScrollBars: true
|
||||
|
@ -48,8 +49,13 @@ ScrollView {
|
|||
}
|
||||
|
||||
onCurrentItemChanged: {
|
||||
if(previousPost) {
|
||||
previousPost.read = true;
|
||||
}
|
||||
item.content.post = server.posts[currentIndex]
|
||||
content.flickableItem.contentY = 0
|
||||
|
||||
previousPost = item.content.post
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ MenuBar {
|
|||
property bool loggedIn: false
|
||||
property Server server
|
||||
property Sidebar sidebar
|
||||
property Content content
|
||||
|
||||
Menu {
|
||||
title: qsTr("File")
|
||||
|
@ -45,7 +46,8 @@ MenuBar {
|
|||
MenuItem {
|
||||
text: qsTr("Set &Unread")
|
||||
shortcut: "U"
|
||||
enabled: false
|
||||
enabled: true
|
||||
onTriggered: content.post.read = false
|
||||
}
|
||||
MenuItem {
|
||||
text: qsTr("Next")
|
||||
|
|
1
main.qml
1
main.qml
|
@ -21,6 +21,7 @@ ApplicationWindow {
|
|||
id: menu
|
||||
server: server
|
||||
sidebar: sidebar
|
||||
content: content
|
||||
}
|
||||
|
||||
function loggedIn() {
|
||||
|
|
5
post.cpp
5
post.cpp
|
@ -34,3 +34,8 @@ Post::~Post()
|
|||
|
||||
}
|
||||
|
||||
void Post::setRead(bool r)
|
||||
{
|
||||
mRead = r;
|
||||
emit readChanged(mRead);
|
||||
}
|
||||
|
|
5
post.h
5
post.h
|
@ -19,7 +19,7 @@ class Post : public QObject
|
|||
Q_PROPERTY(QString content READ content CONSTANT)
|
||||
Q_PROPERTY(QString excerpt READ excerpt CONSTANT)
|
||||
Q_PROPERTY(bool starred READ starred NOTIFY starredChanged)
|
||||
Q_PROPERTY(bool read READ read NOTIFY readChanged)
|
||||
Q_PROPERTY(bool read READ read WRITE setRead NOTIFY readChanged)
|
||||
Q_PROPERTY(QString jsonString READ jsonString CONSTANT)
|
||||
|
||||
public:
|
||||
|
@ -36,7 +36,8 @@ public:
|
|||
QString content() const { return mContent; }
|
||||
QString excerpt() const { return mExcerpt; }
|
||||
bool starred() const { return mStarred; }
|
||||
bool read() const { return mRead; }
|
||||
bool read() { return mRead; }
|
||||
void setRead(bool r);
|
||||
QString jsonString() const { return mJsonString; }
|
||||
|
||||
signals:
|
||||
|
|
|
@ -76,6 +76,7 @@ void TinyTinyRSS::reply()
|
|||
{
|
||||
QJsonObject postJson = posts.at(i).toObject();
|
||||
Post *post = new Post(postJson, this);
|
||||
connect(post, SIGNAL(readChanged(bool)), this, SLOT(onPostReadChanged(bool)));
|
||||
mPosts.append(post);
|
||||
}
|
||||
|
||||
|
@ -90,6 +91,11 @@ void TinyTinyRSS::reply()
|
|||
}
|
||||
}
|
||||
|
||||
void TinyTinyRSS::onPostReadChanged(bool r)
|
||||
{
|
||||
qDebug() << r;
|
||||
}
|
||||
|
||||
QQmlListProperty<Post> TinyTinyRSS::posts()
|
||||
{
|
||||
return QQmlListProperty<Post>(this, mPosts);
|
||||
|
|
|
@ -21,6 +21,7 @@ public:
|
|||
Q_INVOKABLE void initialize(const QString serverUrl, const QString sessionId);
|
||||
Q_INVOKABLE void reload();
|
||||
|
||||
|
||||
QQmlListProperty<Post> posts();
|
||||
int postsCount() const;
|
||||
Post *post(int) const;
|
||||
|
@ -30,6 +31,7 @@ signals:
|
|||
|
||||
private slots:
|
||||
void reply();
|
||||
void onPostReadChanged(bool);
|
||||
|
||||
private:
|
||||
void doOperation(QString operation, QVariantMap opts);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue