parent
8ae36d16dc
commit
6ede751916
3 changed files with 41 additions and 20 deletions
|
|
@ -227,12 +227,18 @@ Page {
|
|||
feedItems.togglePublished()
|
||||
rss = !rss
|
||||
} }
|
||||
|
||||
ToolIcon {
|
||||
iconSource: "../resources/ic_"+(unread?"unread":"read")+".png"
|
||||
iconSource: "../resources/ic_"
|
||||
+ (unread ? "unread" : "read") + ".png"
|
||||
onClicked: {
|
||||
feedItems.toggleRead()
|
||||
unread = !unread
|
||||
} }
|
||||
feedItems.toggleRead(function(successful, errorMessage, state) {
|
||||
unread = state
|
||||
// TODO make use of errorMessage
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
ToolIcon {
|
||||
iconId: "toolbar-next"
|
||||
visible: nextId !== false
|
||||
|
|
|
|||
|
|
@ -173,22 +173,30 @@ ListModel {
|
|||
})
|
||||
}
|
||||
|
||||
function toggleRead() {
|
||||
/**
|
||||
* Toggle unread/read of currently selected item.
|
||||
* @param {function} A callback function with parameters boolean (indicating
|
||||
* success), string (an optional error message) and boolean (true if
|
||||
* unread; false if read).
|
||||
*/
|
||||
function toggleRead(callback) {
|
||||
var ttrss = rootWindow.getTTRSS()
|
||||
var sel = root.selectedIndex
|
||||
var m = getSelectedItem()
|
||||
ttrss.updateFeedUnread(m.id, !m.unread, function(successful, errorMessage) {
|
||||
var index = root.selectedIndex
|
||||
var item = getSelectedItem()
|
||||
var newState = !item.unread
|
||||
|
||||
ttrss.updateFeedUnread(item.id, newState, function(successful,
|
||||
errorMessage) {
|
||||
if (successful) {
|
||||
var newState = !m.unread
|
||||
root.setProperty(sel, "unread", newState)
|
||||
if (!rootWindow.showAll) {
|
||||
root.continuation += newState ? +1 : -1
|
||||
}
|
||||
root.itemUnreadChanged(m)
|
||||
|
||||
root.setProperty(index, "unread", newState)
|
||||
root.itemUnreadChanged(item)
|
||||
}
|
||||
|
||||
// TODO Add a callback to toogleRead() which can be used to display
|
||||
// errorMessage.
|
||||
callback(successful, errorMessage, item.unread)
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -205,15 +205,20 @@ Page {
|
|||
marked = !marked
|
||||
}
|
||||
}
|
||||
|
||||
IconButton {
|
||||
id: unreadSwitch
|
||||
icon.source: "qrc:///images/ic_"+(unread?"unread":"read")+".png"
|
||||
//checked: unread
|
||||
icon.source: "qrc:///images/ic_"
|
||||
+ (unread ? "unread" : "read") + ".png"
|
||||
onClicked: {
|
||||
feedItemModel.toggleRead()
|
||||
unread = !unread
|
||||
feedItemModel.toggleRead(function(successful, errorMessage,
|
||||
state) {
|
||||
unread = state
|
||||
// TODO make use of errorMessage
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
IconButton {
|
||||
icon.source: "image://theme/icon-m-next"
|
||||
enabled: nextId !== false
|
||||
|
|
@ -315,7 +320,6 @@ Page {
|
|||
marked = data.marked
|
||||
//markedSwitch.checked = marked
|
||||
unread = data.unread
|
||||
//unreadSwitch.checked = unread
|
||||
rss = data.rss
|
||||
//rssSwitch.checked = rss
|
||||
|
||||
|
|
@ -323,8 +327,11 @@ Page {
|
|||
nextId = feedItemModel.hasNext()
|
||||
|
||||
if (settings.autoMarkRead && unread) {
|
||||
feedItemModel.toggleRead()
|
||||
unread = !unread
|
||||
feedItemModel.toggleRead(function(successful, errorMessage,
|
||||
state) {
|
||||
unread = state
|
||||
// TODO make use of errorMessage
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue