diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2010-09-29 15:20:33 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2010-09-29 15:20:33 +0000 |
| commit | a5ca0be89829b437961e34e9b7eeccaffced9baf (patch) | |
| tree | 4d51244f44aa5726d22d74b079f9329dfcf0642d | |
| parent | 2d07e3db2bb6cbb3d4d48c8702795a613599ecdd (diff) | |
| download | xxv-a5ca0be89829b437961e34e9b7eeccaffced9baf.tar.gz xxv-a5ca0be89829b437961e34e9b7eeccaffced9baf.tar.bz2 | |
jason: remote control - allow select recorder
jason: allow editing series timer
| -rw-r--r-- | skins/jason/channels.js | 4 | ||||
| -rw-r--r-- | skins/jason/channelspanel.js | 11 | ||||
| -rw-r--r-- | skins/jason/form.js | 6 | ||||
| -rw-r--r-- | skins/jason/menus.js | 92 | ||||
| -rw-r--r-- | skins/jason/monitor.js | 6 | ||||
| -rw-r--r-- | skins/jason/recordings.js | 8 | ||||
| -rw-r--r-- | skins/jason/remote.js | 2 |
7 files changed, 113 insertions, 16 deletions
diff --git a/skins/jason/channels.js b/skins/jason/channels.js index bb1c5f7..0542218 100644 --- a/skins/jason/channels.js +++ b/skins/jason/channels.js @@ -13,10 +13,12 @@ Ext.xxv.storeChannels = function() { reader: new Ext.xxv.jsonReader({ fields: [ {name: 'id', type: 'string'}, + {name: 'cid', type: 'string'}, {name: 'name', type: 'string'}, {name: 'group', type: 'string'}, {name: 'position', type: 'int'}, - {name: 'grpname', type: 'string'} + {name: 'grpname', type: 'string'}, + {name: 'host', type: 'string'} ] }), proxy : new Ext.data.HttpProxy({ diff --git a/skins/jason/channelspanel.js b/skins/jason/channelspanel.js index 5f5e69e..26290e6 100644 --- a/skins/jason/channelspanel.js +++ b/skins/jason/channelspanel.js @@ -264,8 +264,8 @@ Ext.extend(Ext.xxv.channelsPanel, Ext.tree.TreePanel, { } ,onLoad : function( store, records, opt ) { - var node,grpname; - + var node,grpname; + for(var i = this.root.childNodes.length; i > 0; i--){ this.root.removeChild(this.root.item(i-1)); } @@ -284,9 +284,8 @@ Ext.extend(Ext.xxv.channelsPanel, Ext.tree.TreePanel, { this.additem({ text: records[i].data.name, channel: records[i].data.id -// }, (i == 0 ? false: true),(i == 0 ? false: true),node); //Select first node }, true,true,node); - } + } } /******************************************************************************/ ,onSwitchSuccess : function( response,options ) @@ -311,7 +310,7 @@ Ext.extend(Ext.xxv.channelsPanel, Ext.tree.TreePanel, { if(this.SwitchChanneltid) Ext.Ajax.abort(this.SwitchChanneltid); this.SwitchChanneltid = Ext.Ajax.request({ - url: XXV.help.cmdAJAX('sw',{ data: record.data.id }) + url: XXV.help.cmdAJAX('sw',{ 'data': record.data.cid, '__vdr': XXV.menu.host }) ,success: this.onSwitchSuccess ,failure: this.onSwitchFailure ,scope: this @@ -373,7 +372,7 @@ Ext.extend(Ext.xxv.channelsPanel, Ext.tree.TreePanel, { ,onWebCastChannel : function( id ) { var record = this.store.getById(id); var item = { - url: XXV.help.cmdHTML('lst',{ data: record.data.position, '__player':'1' }) + url: XXV.help.cmdHTML('lst',{ 'data': record.data.position, '__vdr': XXV.menu.host, '__player':'1' }) ,title: record.data.name }; diff --git a/skins/jason/form.js b/skins/jason/form.js index 44f882f..04f9c0e 100644 --- a/skins/jason/form.js +++ b/skins/jason/form.js @@ -294,7 +294,11 @@ Ext.extend(Ext.xxv.Question, Ext.Window, { params['__'+record.data.id] = field.getValue(); break; case 'date': - params['__'+record.data.id] = field.getValue().dateFormat('Y-m-d'); + var f = field.getValue(); + if(f && typeof(f) ==='date' ) + params['__'+record.data.id] = f.dateFormat('Y-m-d'); + else + params['__'+record.data.id] = field.getRawValue(); break; default: params['__'+record.data.id] = field.getValue(); diff --git a/skins/jason/menus.js b/skins/jason/menus.js index b373dbf..4787226 100644 --- a/skins/jason/menus.js +++ b/skins/jason/menus.js @@ -47,6 +47,8 @@ Ext.xxv.Menu = Ext.extend(Ext.menu.Menu, { Ext.xxv.MainMenu = function(/*config*/){ + this.vdrStore = new Ext.xxv.vdrStore(); + var selTheme = this.initTheme(); XXV.configMenu = new Ext.menu.Menu(); @@ -148,14 +150,16 @@ Ext.xxv.MainMenu = function(/*config*/){ ,handler: function() { Ext.xxv.RemoteWindowOpen(); } ,iconCls:"remote-icon" ,cmd: 'r' + ,scope:this },{ text: Ext.xxv.MonitorWindow.prototype.szTitle ,handler: function() { Ext.xxv.MonitorWindowOpen(); } ,iconCls:"monitor-icon" ,cmd: 'r' - } - ] + ,scope:this + }] }); + // see this.styles to enum themes var themes = new Array; for(var i = 0, len = this.styles.length; i < len; i++){ @@ -247,6 +251,12 @@ Ext.xxv.MainMenu = function(/*config*/){ }) ] }); + + this.vdrStore.on({ + 'load' : this.onVDRLoad +// ,'loadexception' : this.onVDRLoadException + ,scope:this + }); }; @@ -335,6 +345,84 @@ Ext.extend(Ext.xxv.MainMenu, Ext.Toolbar, { ); }, 250); } + +/******************************************************************************/ + ,onVDRLoad: function( store, records, opt ){ + + var r = this.get(3).menu; + if(store.data.length > 1) { + r.removeAll(true); + + this.host = this.initHost(store); + + var e = !(XXV.help.cmdAllowed('r')); + + r.addItem({ + text: Ext.xxv.RemoteWindow.prototype.szTitle + ,handler: function() { Ext.xxv.RemoteWindowOpen(); } + ,iconCls:"remote-icon" + ,cmd: 'r' + ,disabled: e + ,scope:this + }); + r.addItem({ + text: Ext.xxv.MonitorWindow.prototype.szTitle + ,handler: function() { Ext.xxv.MonitorWindowOpen(); } + ,iconCls:"monitor-icon" + ,cmd: 'r' + ,disabled: e + ,scope:this + }); + + r.addSeparator(); + for(var i = 0, len = store.data.length; i < len; i++){ + var rec = store.getAt(i); + if(!this.host && rec.data.primary) { + this.host = rec.data.id; + } + if(rec.data.active) { + r.addItem({ + text: rec.data.host + ,checked: this.host == rec.data.id ? true : false + ,group: 'host' + ,checkHandler: this.onSelectHost + ,scope: this + ,disabled: e + }); + } + } + } + } + ,initHost: function(store){ + if(Ext.state.Manager.getProvider()) { + var h = Ext.state.Manager.get('host'); + if(h) { + for(var i = 0, len = store.data.length; i < len; i++){ + var rec = store.getAt(i); + if(rec.data.id == h) { + this.host = h; + return rec.data.id; + } + } + } + } + return 0; + } + ,onSelectHost: function(item, checked){ + if(checked) { + for(var i = 0, len = this.vdrStore.data.length; i < len; i++){ + var rec = this.vdrStore.getAt(i); + if(rec.data.host == item.text) { + this.host = rec.data.id; + + if(Ext.state.Manager.getProvider()) { + Ext.state.Manager.set('host', this.host); + } + return; + } + } + } + } }); diff --git a/skins/jason/monitor.js b/skins/jason/monitor.js index 205add3..e6d8839 100644 --- a/skins/jason/monitor.js +++ b/skins/jason/monitor.js @@ -143,7 +143,11 @@ Ext.extend(Ext.xxv.MonitorWindow, Ext.Window, { img.un('load', this.onupdate , this); img.on('load', this.onupdate , this); //img.hide(); - img.dom.src = '?cmd=gdisplay&width='+ size.width +'&height='+ size.height +'&_dc=' + (new Date().getTime()); + img.dom.src = XXV.help.cmdHTML('gdisplay', { + 'width': size.width + ,'height': size.height + ,'_dc': (new Date().getTime()) + ,'__vdr': XXV.menu.host }); } ,onupdate : function(){ if(this.timer) { diff --git a/skins/jason/recordings.js b/skins/jason/recordings.js index 7315ecc..4fe0562 100644 --- a/skins/jason/recordings.js +++ b/skins/jason/recordings.js @@ -578,9 +578,9 @@ Ext.extend(Ext.xxv.recordingsDataView, Ext.DataView, { } if(store.reader.meta.param) { var tb = this.ownerCt.getTopToolbar(); - tb.displayMsg = store.reader.meta.param.usage; - tb.displayMsg += ' - '; - tb.displayMsg += Ext.PagingToolbar.prototype.displayMsg; + //tb.displayMsg = store.reader.meta.param.usage; + //tb.displayMsg += ' - '; + //tb.displayMsg += Ext.PagingToolbar.prototype.displayMsg; } if(store.title) { this.ownerCt.SetPanelTitle(store.title); @@ -1003,7 +1003,7 @@ Ext.extend(Ext.xxv.recordingsDataView, Ext.DataView, { if(this.PlayTransaction) Ext.Ajax.abort(this.PlayTransaction); if(record.data.isrecording != 0) { this.PlayTransaction = Ext.Ajax.request({ - url: XXV.help.cmdAJAX('rpv',{ data: record.data.id, '__start':begin }) + url: XXV.help.cmdAJAX('rpv',{ data: record.data.id, '__start':begin, '__vdr': XXV.menu.host }) ,success: this.onPlaySuccess ,failure: this.onPlayFailure ,scope: this diff --git a/skins/jason/remote.js b/skins/jason/remote.js index 17aae1f..e612424 100644 --- a/skins/jason/remote.js +++ b/skins/jason/remote.js @@ -144,7 +144,7 @@ Ext.extend(Ext.xxv.RemoteWindow, Ext.Window, { ,onRemote : function( rc ) { if(this.Remotetid) Ext.Ajax.abort(this.Remotetid); this.Remotetid = Ext.Ajax.request({ - url: XXV.help.cmdAJAX('r',{ data: rc }) + url: XXV.help.cmdAJAX('r',{ 'data': rc, '__vdr': XXV.menu.host }) ,success: this.onRemoteSuccess ,failure: this.onRemoteFailure ,scope: this |
