added publish actions
This commit is contained in:
parent
6647bff9f7
commit
97192c4225
2 changed files with 75 additions and 2 deletions
|
|
@ -89,6 +89,7 @@ Page {
|
|||
onPressAndHold: {
|
||||
feeditemMenu.unread = model.unread
|
||||
feeditemMenu.marked = model.marked
|
||||
feeditemMenu.rss = model.rss
|
||||
feeditemMenu.articleId = model.id
|
||||
feeditemMenu.url = model.url
|
||||
feeditemMenu.open() }
|
||||
|
|
@ -138,6 +139,7 @@ Page {
|
|||
id: feeditems[feeditem].id,
|
||||
unread: !!feeditems[feeditem].unread,
|
||||
marked: !!feeditems[feeditem].marked,
|
||||
rss: feeditems[feeditem].published,
|
||||
url: feeditems[feeditem].link
|
||||
});
|
||||
}
|
||||
|
|
@ -149,6 +151,7 @@ Page {
|
|||
id: null,
|
||||
unread: false,
|
||||
marked: false,
|
||||
rss: false,
|
||||
url: ""
|
||||
});
|
||||
}
|
||||
|
|
@ -236,6 +239,7 @@ Page {
|
|||
|
||||
property bool marked: false
|
||||
property bool unread: false
|
||||
property bool rss: false
|
||||
property string url: ""
|
||||
property int articleId: 0
|
||||
|
||||
|
|
@ -248,6 +252,14 @@ Page {
|
|||
!feeditemMenu.marked,
|
||||
showFeedItems)
|
||||
} }
|
||||
MenuItem {
|
||||
text: (feeditemMenu.rss?qsTr("Unpublish"):qsTr("Publish"))
|
||||
onClicked: {
|
||||
var ttrss = rootWindow.getTTRSS()
|
||||
ttrss.updateFeedRSS(feeditemMenu.articleId,
|
||||
!feeditemMenu.rss,
|
||||
showFeedItems)
|
||||
} }
|
||||
MenuItem {
|
||||
text: (feeditemMenu.unread?qsTr("Mark read"):qsTr("Mark Unread"))
|
||||
onClicked: {
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ var state={
|
|||
'lastfeed': { 'id': null, 'continuation': 0 },
|
||||
'lastfeeditem': { 'feedId': null, 'articleId': null },
|
||||
'lastfeeditemunread':{ 'feedId': null, 'articleId': null },
|
||||
'lastfeeditemrss': { 'feedId': null, 'articleId': null },
|
||||
};
|
||||
|
||||
var requestsPending={
|
||||
|
|
@ -42,6 +43,7 @@ var requestsPending={
|
|||
'feeditems' : false,
|
||||
'feeditemstar': false,
|
||||
'feeditemunread': false,
|
||||
'feeditemrss' : false,
|
||||
};
|
||||
|
||||
var responsesPending={
|
||||
|
|
@ -51,6 +53,7 @@ var responsesPending={
|
|||
'feeditems' : false,
|
||||
'feeditemstar': false,
|
||||
'feeditemunread': false,
|
||||
'feeditemrss' : false,
|
||||
};
|
||||
|
||||
var constants={
|
||||
|
|
@ -478,8 +481,21 @@ function processPendingRequests(callback) {
|
|||
//Get the auth token
|
||||
login(callback);
|
||||
else
|
||||
updateFeedUnrad(state['lastfeeditemunread']['articleId'],
|
||||
state['lastfeeditemunread']['value'],
|
||||
updateFeedUnread(state['lastfeeditemunread']['articleId'],
|
||||
state['lastfeeditemunread']['value'],
|
||||
callback);
|
||||
}
|
||||
else if (requestsPending['feeditemrss']) {
|
||||
trace(4, 'feeditemrss request pending');
|
||||
foundWork = true;
|
||||
if(responsesPending['feeditemrss'])
|
||||
return foundWork;
|
||||
if(!state['token'])
|
||||
//Get the auth token
|
||||
login(callback);
|
||||
else
|
||||
updateFeedRSS(state['lastfeeditemrss']['articleId'],
|
||||
state['lastfeeditemrss']['value'],
|
||||
callback);
|
||||
}
|
||||
|
||||
|
|
@ -531,6 +547,51 @@ function updateFeedStar(articleId, starred, callback) {
|
|||
http.send(JSON.stringify(params));
|
||||
}
|
||||
|
||||
function updateFeedRSS(articleId, rss, callback) {
|
||||
if(responsesPending['feeditemrss'])
|
||||
return;
|
||||
|
||||
if (state['lastfeeditemrss']['articleId'] !== articleId) {
|
||||
state['lastfeeditemrss']['articleId'] = articleId;
|
||||
state['lastfeeditemrss']['value'] = rss;
|
||||
}
|
||||
|
||||
// needs to be logged in
|
||||
if(!state['token']) {
|
||||
requestsPending['feeditemrss'] = true;
|
||||
processPendingRequests(callback);
|
||||
return;
|
||||
}
|
||||
|
||||
responsesPending['feeditemrss'] = true;
|
||||
|
||||
var params = {
|
||||
'op': 'updateArticle',
|
||||
'sid': state['token'],
|
||||
'article_ids': articleId,
|
||||
'field': 1,
|
||||
'mode': (rss ? 1 : 0)
|
||||
}
|
||||
|
||||
var http = new XMLHttpRequest();
|
||||
http.open("POST", state['url'], true);
|
||||
http.setRequestHeader('Content-type','application/json; charset=utf-8');
|
||||
http.onreadystatechange = function() {
|
||||
if (http.readyState === XMLHttpRequest.HEADERS_RECEIVED) {
|
||||
trace(3, "Response Headers -->");
|
||||
trace(3, http.getAllResponseHeaders());
|
||||
}
|
||||
else if (http.readyState === XMLHttpRequest.DONE) {
|
||||
state['feeditemcache'][articleId].published = rss;
|
||||
responsesPending['feeditemrss'] = false;
|
||||
if(!processPendingRequests(callback))
|
||||
if(callback)
|
||||
callback(0);
|
||||
}
|
||||
}
|
||||
http.send(JSON.stringify(params));
|
||||
}
|
||||
|
||||
function updateFeedUnread(articleId, unread, callback) {
|
||||
if(responsesPending['feeditemunread'])
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue