add functionality to delete recordings

This commit is contained in:
Thies Schroeder 2011-02-18 22:11:24 +01:00
parent adac4f636a
commit 15679510e1
4 changed files with 53 additions and 0 deletions

View file

@ -274,6 +274,8 @@ void dvr_extra_time_pre_set(dvr_config_t *cfg, int d);
void dvr_extra_time_post_set(dvr_config_t *cfg, int d);
int dvr_entry_delete(dvr_entry_t *de);
/**
* Query interface
*/

View file

@ -1160,3 +1160,18 @@ dvr_val2pri(dvr_prio_t v)
{
return val2str(v, priotab) ?: "invalid";
}
int
dvr_entry_delete(dvr_entry_t *de)
{
int result;
tvhlog(LOG_DEBUG, "dvr_db", "Going to delete recording '%s'", de->de_filename);
result = unlink(de->de_filename);
if( result == 0 || result == ENOENT )
{
dvr_entry_remove(de);
}
return result;
}

View file

@ -804,6 +804,19 @@ extjs_dvr(http_connection_t *hc, const char *remain, void *opaque)
out = htsmsg_create_map();
htsmsg_add_u32(out, "success", 1);
} else if(!strcmp(op, "deleteEntry")) {
s = http_arg_get(&hc->hc_req_args, "entryId");
if((de = dvr_entry_find_by_id(atoi(s))) == NULL) {
pthread_mutex_unlock(&global_lock);
return HTTP_STATUS_BAD_REQUEST;
}
dvr_entry_delete(de);
out = htsmsg_create_map();
htsmsg_add_u32(out, "success", 1);
} else if(!strcmp(op, "createEntry")) {

View file

@ -98,6 +98,14 @@ tvheadend.dvrDetails = function(entry) {
text: "Abort recording"
});
break;
case 'completedError':
case 'completed':
win.addButton({
handler: deleteEvent,
text: "Delete recording"
});
break;
}
@ -119,6 +127,21 @@ tvheadend.dvrDetails = function(entry) {
}
});
}
function deleteEvent() {
Ext.Ajax.request({
url: 'dvr',
params: {entryId: entry.id, op: 'deleteEntry'},
success:function(response, options) {
win.close();v
},
failure:function(response, options) {
Ext.MessageBox.alert('DVR', response.statusText);
}
});
}
}