diff --git a/src/webui/static/app/tvheadend.js b/src/webui/static/app/tvheadend.js index cfaab734..1db51311 100644 --- a/src/webui/static/app/tvheadend.js +++ b/src/webui/static/app/tvheadend.js @@ -1,5 +1,9 @@ tvheadend.accessupdate = null; tvheadend.capabilties = null; +tvheadend.conf_chepg = null; +tvheadend.conf_dvbin = null; +tvheadend.conf_tsdvr = null; +tvheadend.conf_csa = null; /** * Displays a help popup window @@ -245,54 +249,106 @@ function accessUpdate(o) { if (!tvheadend.capabilities) return; - if (o.dvr == true && tvheadend.dvrpanel == null) { - tvheadend.dvrpanel = new tvheadend.dvr; - tvheadend.rootTabPanel.add(tvheadend.dvrpanel); - } + if (o.dvr == true && tvheadend.dvrpanel == null) { + tvheadend.dvrpanel = new tvheadend.dvr; + tvheadend.rootTabPanel.add(tvheadend.dvrpanel); + } - if (o.admin == true && tvheadend.confpanel == null) { - tvheadend.confpanel = new Ext.TabPanel({ - activeTab : 0, - autoScroll : true, - title : 'Configuration', - iconCls : 'wrench', - items : [ new tvheadend.miscconf, new tvheadend.chconf, - new tvheadend.epggrab, new tvheadend.cteditor, - new tvheadend.dvrsettings, - new tvheadend.iptv, new tvheadend.acleditor ] - }); - tvheadend.rootTabPanel.add(tvheadend.confpanel); + if (o.admin == true && tvheadend.confpanel == null) { + var tabs1 = [ + new tvheadend.miscconf, + new tvheadend.acleditor + ] + var tabs2; + + /* DVB inputs */ + tabs2 = []; if (tvheadend.capabilities.indexOf('linuxdvb') != -1 || tvheadend.capabilities.indexOf('v4l') != -1) { - tvheadend.confpanel.add(new tvheadend.tvadapters); - } - if (tvheadend.capabilities.indexOf('cwc') != -1) { - tvheadend.confpanel.add(new tvheadend.cwceditor); - tvheadend.confpanel.add(new tvheadend.capmteditor); + tabs2.push(new tvheadend.tvadapters); } + tabs2.push(new tvheadend.iptv); + tvheadend.conf_dvbin = new Ext.TabPanel({ + activeTab: 0, + autoScroll: true, + title: 'DVB Inputs', + iconCls: 'hardware', + items : tabs2 + }); + tabs1.push(tvheadend.conf_dvbin); + + /* Channel / EPG */ + tvheadend.conf_chepg = new Ext.TabPanel({ + activeTab: 0, + autoScroll: true, + title : 'Channel / EPG', + iconCls : 'television', + items : [ + new tvheadend.chconf, + new tvheadend.cteditor, + new tvheadend.epggrab + ] + }); + tabs1.push(tvheadend.conf_chepg); + + /* DVR / Timeshift */ + tabs2 = [ new tvheadend.dvrsettings ]; if (tvheadend.capabilities.indexOf('timeshift') != -1) { - tvheadend.confpanel.add(new tvheadend.timeshift); + tabs2.push(new tvheadend.timeshift) } + tvheadend.conf_tsdvr = new Ext.TabPanel({ + activeTab: 0, + autoScroll: true, + title: 'Recording', + iconCls: 'drive', + items : tabs2 + }); + tabs1.push(tvheadend.conf_tsdvr); + + /* CSA */ + if (tvheadend.capabilities.indexOf('cwc') != -1) { + tvheadend.conf_csa = new Ext.TabPanel({ + activeTab: 0, + autoScroll: true, + title: 'CSA', + iconCls: 'key', + items: [ + new tvheadend.cwceditor, + new tvheadend.capmteditor + ] + }); + tabs1.push(tvheadend.conf_csa); + } + + tvheadend.confpanel = new Ext.TabPanel({ + activeTab : 0, + autoScroll : true, + title : 'Configuration', + iconCls : 'wrench', + items : tabs1 + }); + + tvheadend.rootTabPanel.add(tvheadend.confpanel); tvheadend.confpanel.doLayout(); } - if (o.admin == true && tvheadend.statuspanel == null) { - tvheadend.statuspanel = new tvheadend.status; - tvheadend.rootTabPanel.add(tvheadend.statuspanel); - } + if (o.admin == true && tvheadend.statuspanel == null) { + tvheadend.statuspanel = new tvheadend.status; + tvheadend.rootTabPanel.add(tvheadend.statuspanel); + } - if (tvheadend.aboutPanel == null) { - tvheadend.aboutPanel = new Ext.Panel({ - border : false, - layout : 'fit', - title : 'About', - iconCls : 'info', - autoLoad : 'about.html' - }); - tvheadend.rootTabPanel.add(tvheadend.aboutPanel); - } + if (tvheadend.aboutPanel == null) { + tvheadend.aboutPanel = new Ext.Panel({ + border : false, + layout : 'fit', + title : 'About', + iconCls : 'info', + autoLoad : 'about.html' + }); + tvheadend.rootTabPanel.add(tvheadend.aboutPanel); + } - tvheadend.rootTabPanel.doLayout(); + tvheadend.rootTabPanel.doLayout(); } /**