added previous and next buttons in feeditem view

This commit is contained in:
Hauke Schade 2012-12-09 14:47:53 +01:00
parent c935d2a188
commit fb096d66ea
2 changed files with 43 additions and 3 deletions

View file

@ -107,6 +107,16 @@ Page {
id: itemTools
ToolIcon { iconId: "toolbar-back"; onClicked: { itemMenu.close(); pageStack.pop(); } }
ToolIcon {
iconId: "toolbar-previous";
onClicked: {
var ttrss = rootWindow.getTTRSS()
var tmpArticleId = ttrss.getPreviousFeedId(feedId, articleId)
if (tmpArticleId !== false)
articleId = tmpArticleId
else
console.log("no next articleid found")
} }
BusyIndicator {
visible: starloading
running: starloading
@ -134,10 +144,14 @@ Page {
ttrss.updateFeedUnread(articleId, !unread, unreadCallback)
} }
ToolIcon {
iconId: "toolbar-jump-to";
enabled: url && (url != "")
iconId: "toolbar-next";
onClicked: {
Qt.openUrlExternally(url);
var ttrss = rootWindow.getTTRSS()
var tmpArticleId = ttrss.getNextFeedId(feedId, articleId)
if (tmpArticleId !== false)
articleId = tmpArticleId
else
console.log("no next articleid found")
} }
ToolIcon { iconId: "toolbar-view-menu" ; onClicked: (itemMenu.status === DialogStatus.Closed) ? itemMenu.open() : itemMenu.close() }
}

View file

@ -637,6 +637,32 @@ function getFeedItems(feedId) {
return retVal
}
function getNextFeedId(feedId, articleId) {
var items = getFeedItems(feedId)
for(var feeditem = 0; feeditem < items.length; feeditem++) {
if (items[feeditem].id == articleId) {
if (feeditem+1 < items.length)
return items[feeditem+1].id
}
}
return false
}
function getPreviousFeedId(feedId, articleId) {
var items = getFeedItems(feedId)
for(var feeditem = 0; feeditem < items.length; feeditem++) {
if (items[feeditem].id == articleId) {
if (feeditem-1 >= 0)
return items[feeditem-1].id
else
return false
}
}
return false
}
function getFeedItem(feedId, articleId) {
if (state['feeditemcache'][articleId])
return state['feeditemcache'][articleId]