Slight improvement to the config UI and fixed problem with error reporting on socket close.
This commit is contained in:
parent
7d6201b90e
commit
0d34b48c05
2 changed files with 27 additions and 18 deletions
|
@ -178,10 +178,11 @@ static void *_epggrab_socket_thread ( void *p )
|
|||
while ( mod->enabled && mod->sock ) {
|
||||
tvhlog(LOG_DEBUG, mod->id, "waiting for connection");
|
||||
s = accept(mod->sock, NULL, NULL);
|
||||
if (!s) break; // assume closed
|
||||
tvhlog(LOG_DEBUG, mod->id, "got connection");
|
||||
if (s <= 0) break; // assume closed
|
||||
tvhlog(LOG_DEBUG, mod->id, "got connection %d", s);
|
||||
_epggrab_socket_handler(mod, s);
|
||||
}
|
||||
tvhlog(LOG_DEBUG, mod->id, "terminated");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -142,7 +142,19 @@ tvheadend.epggrab = function() {
|
|||
/*
|
||||
* External modules
|
||||
*/
|
||||
var externalSelectionModel = new Ext.grid.CheckboxSelectionModel({
|
||||
singleSelect : false,
|
||||
listeners : {
|
||||
'rowselect' : function (s, ri, r) {
|
||||
r.set('enabled', 1);
|
||||
},
|
||||
'rowdeselect' : function (s, ri, r) {
|
||||
r.set('enabled', 0);
|
||||
}
|
||||
}
|
||||
});
|
||||
var externalColumnModel = new Ext.grid.ColumnModel([
|
||||
externalSelectionModel,
|
||||
{
|
||||
header : 'Module',
|
||||
dataIndex : 'name',
|
||||
|
@ -156,27 +168,12 @@ tvheadend.epggrab = function() {
|
|||
sortable : false,
|
||||
// TODO: editable?
|
||||
},
|
||||
{
|
||||
dataIndex : 'enabled',
|
||||
header : 'Enabled',
|
||||
width : 100,
|
||||
sortable : false,
|
||||
editor : new Ext.form.Checkbox(),
|
||||
// TODO: newer versions of extjs provide proper checkbox in grid
|
||||
// support, I think!
|
||||
renderer : function (v) {
|
||||
if (v) {
|
||||
return "Y";
|
||||
} else {
|
||||
return "N";
|
||||
}
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
||||
var externalGrid = new Ext.grid.EditorGridPanel({
|
||||
store : externalModuleStore,
|
||||
cm : externalColumnModel,
|
||||
sm : externalSelectionModel,
|
||||
width : 600,
|
||||
height : 150,
|
||||
frame : false,
|
||||
|
@ -186,6 +183,17 @@ tvheadend.epggrab = function() {
|
|||
iconCls : 'icon-grid',
|
||||
});
|
||||
var advancedPanel = externalGrid;
|
||||
externalGrid.on('render', function(){
|
||||
// TODO: bit of hack to get selection working
|
||||
delay = new Ext.util.DelayedTask(function(){
|
||||
rows = [];
|
||||
externalModuleStore.each(function(r){
|
||||
if (r.get('enabled')) rows.push(r);
|
||||
});
|
||||
externalSelectionModel.selectRecords(rows);
|
||||
});
|
||||
delay.delay(100);
|
||||
});
|
||||
|
||||
/* ****************************************************************
|
||||
* Form
|
||||
|
|
Loading…
Add table
Reference in a new issue