summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2009-01-18 17:51:15 +0000
committerAndreas Brachold <vdr07@deltab.de>2009-01-18 17:51:15 +0000
commitaab550c345e98b533b6f7bb06ad01294c591e68a (patch)
tree4d0c3047f6171ce2a1fc741d35528de9ab94045b
parentfb3deea5c4a326262404f3ea59c1ecde00233e47 (diff)
downloadxxv-aab550c345e98b533b6f7bb06ad01294c591e68a.tar.gz
xxv-aab550c345e98b533b6f7bb06ad01294c591e68a.tar.bz2
* Skins/jason: Change layout of toolbar
Skins/jason: Support task aupdate/rupdate - update autotimer, recordings Skins/jason: video monitor - allow change update intervall
-rw-r--r--skins/jason/autotimers.js72
-rw-r--r--skins/jason/jason.css1
-rw-r--r--skins/jason/locale/lang-de.js15
-rw-r--r--skins/jason/monitor.js93
-rw-r--r--skins/jason/now.js4
-rw-r--r--skins/jason/pic/upgrade.pngbin0 -> 1005 bytes
-rw-r--r--skins/jason/pic/video.pngbin778 -> 852 bytes
-rw-r--r--skins/jason/program.js4
-rw-r--r--skins/jason/recordings.js102
-rw-r--r--skins/jason/stream.js29
-rw-r--r--skins/jason/timers.js8
11 files changed, 249 insertions, 79 deletions
diff --git a/skins/jason/autotimers.js b/skins/jason/autotimers.js
index df456f4..8c135fb 100644
--- a/skins/jason/autotimers.js
+++ b/skins/jason/autotimers.js
@@ -102,9 +102,16 @@ Ext.xxv.autotimerGrid = function(viewer, channels) {
,displayInfo: true
,items: [
{
+ id:'au'
+ ,iconCls: 'upgrade-icon'
+ ,tooltip: this.szUpgrade
+ ,scope: this
+ ,disabled:false
+ ,handler: function(){ this.UpgradeItem(); }
+ },{
id:'an'
,iconCls: 'new-icon'
-// ,text: this.szNew
+ ,tooltip: this.szNew
,scope: this
,disabled:false
,handler: function(){ this.EditItem(null); }
@@ -136,9 +143,9 @@ Ext.extend(Ext.xxv.autotimerGrid, Ext.grid.EditorGridPanel, {
szTitle : "Search timer"
,szFindReRun : "Find rerun"
- ,szNew : "New"
- ,szEdit : "Edit"
- ,szDelete : "Delete"
+ ,szNew : "Create new search timer"
+ ,szEdit : "Edit search timer"
+ ,szDelete : "Delete search timer"
,szColSearch : "Search text"
,szColActive : "Active"
,szColChannels : "Channels"
@@ -149,7 +156,11 @@ Ext.extend(Ext.xxv.autotimerGrid, Ext.grid.EditorGridPanel, {
,szLoadException : "Couldn't get data about autotimer!\r\n{0}"
,szDeleteSuccess : "Autotimer deleted successful.\r\n{0}"
,szDeleteFailure : "Couldn't delete autotimer!\r\n{0}"
-
+ ,szUpgrade : "Lookup for wanted events"
+ ,szUpgradeWait : "Please wait..."
+ ,szUpgradeSuccess : "Lookup for wanted events successful.\r\n{0}"
+ ,szUpgradeFailure : "Couldn't lookup for wanted events!\r\n{0}"
+
,stateful: true
,onLoadException : function( scope, o, arg, e) {
@@ -318,7 +329,56 @@ Ext.extend(Ext.xxv.autotimerGrid, Ext.grid.EditorGridPanel, {
}
var record = this.store.getAt(index);
this.EditItem(record);
- }
+ }
+/******************************************************************************/
+ ,onUpgradeSuccess : function( response,options )
+ {
+ Ext.MessageBox.hide();
+ var o = eval("("+response.responseText+")");
+
+ if(o && o.data && typeof(o.data) == 'string'
+ && o.param && o.param.state && o.param.state == 'success') {
+
+ new Ext.xxv.MessageBox().msgSuccess(this.szUpgradeSuccess, o.data);
+
+ } else {
+ var msg = '';
+ if(o && o.data && typeof(o.data) == 'string') {
+ msg = o.data;
+ }
+ new Ext.xxv.MessageBox().msgFailure(this.szUpgradeFailure, msg);
+ }
+ }
+ ,onUpgradeFailure : function( response,options )
+ {
+ Ext.MessageBox.hide();
+ new Ext.xxv.MessageBox().msgFailure(this.szUpgradeFailure, response.statusText);
+ }
+ ,UpgradeItem : function() {
+ Ext.Ajax.request({
+ scope: this
+ ,url: XXV.help.cmdAJAX('au')
+ ,timeout: 120000
+ ,success: this.onUpgradeSuccess
+ ,failure: this.onUpgradeFailure
+ });
+
+ Ext.MessageBox.show({
+ title: this.szUpgradeWait
+ ,msg: this.szUpgrade
+ ,width:240
+ ,wait:true
+ ,waitConfig:{
+ interval:200
+ ,duration:119000
+ ,increment:15
+ ,fn:function() {
+ Ext.MessageBox.hide();
+ }
+ }
+ });
+ }
+
});
function createAutoTimerView(viewer,id) {
diff --git a/skins/jason/jason.css b/skins/jason/jason.css
index be4da30..2edeb6b 100644
--- a/skins/jason/jason.css
+++ b/skins/jason/jason.css
@@ -106,6 +106,7 @@ display:none;
.setup-icon { background-image:url(pic/setup.png) !important; }
.movetimers-icon { background-image:url(pic/movetimers.png) !important; }
.vdr-icon { background-image:url(pic/vdr-logo.png) !important; }
+.upgrade-icon { background-image:url(pic/upgrade.png) !important; }
.users-icon { background-image:url(pic/users.png) !important; }
.view-icon { background-image:url(pic/preview.png) !important; }
.preview-icon { background-image:url(pic/preview.png) !important; }
diff --git a/skins/jason/locale/lang-de.js b/skins/jason/locale/lang-de.js
index 1956598..0b5108e 100644
--- a/skins/jason/locale/lang-de.js
+++ b/skins/jason/locale/lang-de.js
@@ -60,8 +60,9 @@ Ext.xxv.channelsPanel.prototype.szDeleteFailure = "Konnte Kanal nicht löschen!\
Ext.xxv.autotimerGrid.prototype.szTitle = "Suchtimer";
Ext.xxv.autotimerGrid.prototype.szFindReRun = "Suche Wiederholung";
-Ext.xxv.autotimerGrid.prototype.szEdit = "Bearbeiten";
-Ext.xxv.autotimerGrid.prototype.szDelete = "Löschen";
+Ext.xxv.autotimerGrid.prototype.szNew = "Neuen Suchtimer erstellen";
+Ext.xxv.autotimerGrid.prototype.szEdit = "Bearbeiten Suchtimer";
+Ext.xxv.autotimerGrid.prototype.szDelete = "Löschen Suchtimer";
Ext.xxv.autotimerGrid.prototype.szColSearch = "Suchtext";
Ext.xxv.autotimerGrid.prototype.szColActive = "Aktiv";
Ext.xxv.autotimerGrid.prototype.szColChannels = "Kanäle";
@@ -72,6 +73,10 @@ Ext.xxv.autotimerGrid.prototype.szColMinLength = "Min. Länge";
Ext.xxv.autotimerGrid.prototype.szLoadException = "Konnte keine Daten über Autotimer holen!\r\n{0}";
Ext.xxv.autotimerGrid.prototype.szDeleteSuccess = "Autotimer erfolgreich gelöscht.\r\n{0}";
Ext.xxv.autotimerGrid.prototype.szDeleteFailure = "Konnte Autotimer nicht löschen!\r\n{0}";
+Ext.xxv.autotimerGrid.prototype.szUpgrade = "Suche nach gewünschten Programmeinträgen";
+Ext.xxv.autotimerGrid.prototype.szUpgradeWait = "Bitte warten...";
+Ext.xxv.autotimerGrid.prototype.szUpgradeSuccess = "Suche nach gewünschten Programmeinträgen erfolgreich.\r\n{0}";
+Ext.xxv.autotimerGrid.prototype.szUpgradeFailure = "Suche nach gewünschten Programmeinträgen fehlgeschlagen!\r\n{0}";
Ext.xxv.chronicleGrid.prototype.szTitle = "Chronik";
Ext.xxv.chronicleGrid.prototype.szToolTip = "Zeigt Aufnahmen in chronologischer Anordnung";
@@ -139,7 +144,7 @@ Ext.xxv.recordingsDataView.prototype.szFindReRun = "Suche Wiederholung";
Ext.xxv.recordingsDataView.prototype.szEdit = "Bearbeiten";
Ext.xxv.recordingsDataView.prototype.szCut = "Schneiden";
Ext.xxv.recordingsDataView.prototype.szDelete = "Löschen";
-Ext.xxv.recordingsDataView.prototype.szRecover = "Wiederherstellen";
+Ext.xxv.recordingsDataView.prototype.szRecover = "Gelöschte Aufnahmen wiederherstellen";
Ext.xxv.recordingsDataView.prototype.szStream = "Aufnahme streamen";
Ext.xxv.recordingsDataView.prototype.szPlay = "Wiedergabe";
Ext.xxv.recordingsDataView.prototype.szLoadException = "Konnte keine Daten über Aufnahme holen!\r\n{0}";
@@ -149,6 +154,10 @@ Ext.xxv.recordingsDataView.prototype.szDeleteSuccess = "Aufnahme erfolgreich gel
Ext.xxv.recordingsDataView.prototype.szDeleteFailure = "Konnte Aufnahme nicht löschen!\r\n{0}";
Ext.xxv.recordingsDataView.prototype.szPlayBackSuccess = "Wiedergabe der Aufnahme erfolgreich gestartet.\r\n{0}";
Ext.xxv.recordingsDataView.prototype.szPlayBackFailure = "Konnte Wiedergabe der Aufnahme nicht starten!\r\n{0}";
+Ext.xxv.recordingsDataView.prototype.szUpgrade = "Aktualisiere Liste der Aufnahmen";
+Ext.xxv.recordingsDataView.prototype.szUpgradeWait = "Bitte warten...";
+Ext.xxv.recordingsDataView.prototype.szUpgradeSuccess = "Liste der Aufnahme erfolgreich aktualisieren!\r\n{0}";
+Ext.xxv.recordingsDataView.prototype.szUpgradeFailure = "Konnte Liste der Aufnahme nicht aktualisieren!\r\n{0}";
Ext.xxv.searchGrid.prototype.szTitle = "Suche";
Ext.xxv.searchGrid.prototype.szFindReRun = "Suche Wiederholung";
diff --git a/skins/jason/monitor.js b/skins/jason/monitor.js
index 894ea74..243a50c 100644
--- a/skins/jason/monitor.js
+++ b/skins/jason/monitor.js
@@ -9,8 +9,13 @@
Ext.xxv.MonitorWindow = function() {
+ this.UpdateRate = 2;
+ this.UpdateRateInv = [1000,2000,5000,10000,15000,30000,60000];
+
+
+// '<img id="monitor_img" src="?cmd=gdisplay&amp;width={width}&amp;height={height}&amp;_dc={random}" width="{width}" height="{height}" />'
var tpl = new Ext.XTemplate(
- '<img id="monitor_img" src="?cmd=gdisplay&amp;width={width}&amp;height={height}&amp;_dc={random}" width="{width}" height="{height}" />'
+ '<img id="monitor_img" style="background:black" src="extjs/resources/images/default/s.gif" width="{width}" height="{height}" />'
);
var width = configuration.monitorWidth;
@@ -43,11 +48,12 @@ Ext.xxv.MonitorWindow = function() {
,modal: false
,autoScroll: false
,closeAction: 'hide'
- ,collapsible: true
,maximizable: true
,tools:[
- {id:'gear',handler:this.aspect, scope:this },
- {id:'refresh',handler:this.update, scope:this }
+ {id:'gear', handler:this.aspect, scope:this, qtip:this.szAspect }
+ ,{id:'plus', handler:this.upFast, scope:this, qtip:this.szUpdateFast }
+ ,{id:'refresh',handler:this.update, scope:this, qtip:this.szUpdate }
+ ,{id:'minus', handler:this.upSlow, scope:this, qtip:this.szUpdateSlow }
]
,items: [{
id: 'monitor'
@@ -56,8 +62,7 @@ Ext.xxv.MonitorWindow = function() {
,height: height - marginHeight
,html: tpl.apply({
width : width - marginWidth,
- height : height - marginHeight,
- random: (new Date().getTime())
+ height : height - marginHeight
})
}]
});
@@ -65,17 +70,17 @@ Ext.xxv.MonitorWindow = function() {
Ext.xxv.MonitorWindow.superclass.show.apply(this, arguments);
this.on('resize', this.onresize, this);
-
- this.task = Ext.TaskMgr.start({
- run: this.update,
- scope: this,
- interval:10000
- });
+ this.update();
}
Ext.extend(Ext.xxv.MonitorWindow, Ext.Window, {
szTitle : "Monitor"
+ ,szAspect : "Restore aspect ratio correctly"
+ ,szUpdate : "Update monitor"
+ ,szUpdateFast : "Faster update monitor"
+ ,szUpdateSlow : "Slower update monitor"
+
,aspect : function() {
var size = this.getSize();
this.setSize(size.width, Math.round((size.width * 3) / 4));
@@ -92,42 +97,63 @@ Ext.extend(Ext.xxv.MonitorWindow, Ext.Window, {
Ext.DomHelper.applyStyles('monitor_img', style);
}
,hide : function(){
- if(this.task) {
- Ext.TaskMgr.stop(this.task);
- delete this.task;
+ if(this.timer) {
+ clearTimeout(this.timer);
+ delete this.timer;
}
Ext.xxv.MonitorWindow.superclass.hide.apply(this, arguments);
}
- ,show : function(){
- if(this.rendered){
-
- if(!this.task) {
- this.task = Ext.TaskMgr.start({
- run: this.update,
- scope: this,
- interval:10000
- });
- }
- }
- Ext.xxv.MonitorWindow.superclass.show.apply(this, arguments);
-
- }
+ ,upFast : function(){
+ if(this.UpdateRate > 0) {
+ this.UpdateRate -= 1;
+ this.update();
+ //var tool = Ext.getCmp(this.tools.minus.id);
+ //tool.enable();
+ } else {
+ //var tool = Ext.getCmp(this.tools.plus.id);
+ //tool.disable();
+ }
+ }
+ ,upSlow : function(){
+ if(this.UpdateRate < this.UpdateRateInv.length) {
+ this.UpdateRate += 1;
+ this.update();
+ //var tool = Ext.getCmp(this.tools.plus.id);
+ //tool.enable();
+ } else {
+ //var tool = Ext.getCmp(this.tools.minus.id);
+ //tool.disable();
+ }
+ }
,update : function(){
var monitor = Ext.getCmp('monitor');
- if(!monitor) {
+ if(!monitor || this.hidden) {
return;
}
var size = monitor.getSize();
if(!size) {
return;
}
- var img = Ext.getDom('monitor_img');
+ var img = Ext.get('monitor_img');
if(!img) {
return;
}
- img.src = '?cmd=gdisplay&width='+ size.width +'&height='+ size.height +'&_dc=' + (new Date().getTime());
- }
+
+ 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());
+ }
+ ,onupdate : function(){
+ if(this.timer) {
+ clearTimeout(this.timer);
+ delete this.timer;
+ }
+ this.timer = setTimeout(function(){
+ Ext.getCmp('monitor-win').update();
+ }, this.UpdateRateInv[this.UpdateRate]);
+ }
});
Ext.xxv.MonitorWindowOpen = function(){
@@ -136,5 +162,6 @@ Ext.xxv.MonitorWindowOpen = function(){
viewer.monitor = new Ext.xxv.MonitorWindow();
} else {
viewer.monitor.show();
+ viewer.monitor.update();
}
}
diff --git a/skins/jason/now.js b/skins/jason/now.js
index a6b8b2d..d12bd8e 100644
--- a/skins/jason/now.js
+++ b/skins/jason/now.js
@@ -327,14 +327,14 @@ Ext.xxv.NowPreview = function(viewer) {
stateful:true,
tbar: [ {
id:'s',
- text: this.szFindReRun,
+ tooltip: this.szFindReRun,
iconCls: 'find-icon',
disabled:true,
scope: viewer,
handler: function(){ this.searchTab(this.gridNow.getSelectionModel().getSelected()); }
} ,{
id:'tn',
- text: this.szRecord,
+ tooltip: this.szRecord,
iconCls: 'record-icon',
disabled:true,
scope: viewer,
diff --git a/skins/jason/pic/upgrade.png b/skins/jason/pic/upgrade.png
new file mode 100644
index 0000000..1c85dd3
--- /dev/null
+++ b/skins/jason/pic/upgrade.png
Binary files differ
diff --git a/skins/jason/pic/video.png b/skins/jason/pic/video.png
index d25cd67..59e6264 100644
--- a/skins/jason/pic/video.png
+++ b/skins/jason/pic/video.png
Binary files differ
diff --git a/skins/jason/program.js b/skins/jason/program.js
index 8d8ac4f..db9e670 100644
--- a/skins/jason/program.js
+++ b/skins/jason/program.js
@@ -206,14 +206,14 @@ Ext.xxv.programPreview = function(viewer) {
stateful:true,
tbar: [ {
id:'s',
- text: this.szFindReRun,
+ tooltip: this.szFindReRun,
iconCls: 'find-icon',
disabled:true,
scope: this.viewer,
handler: function(){ this.searchTab(this.gridProgram.getSelectionModel().getSelected()); }
} ,{
id:'tn',
- text: this.szRecord,
+ tooltip: this.szRecord,
iconCls: 'record-icon',
disabled:true,
scope: this.viewer,
diff --git a/skins/jason/recordings.js b/skins/jason/recordings.js
index e7ced1d..ba7c647 100644
--- a/skins/jason/recordings.js
+++ b/skins/jason/recordings.js
@@ -290,7 +290,7 @@ Ext.extend(Ext.xxv.recordingsDataView, Ext.DataView, {
,szEdit : "Edit"
,szCut : "Cut"
,szDelete : "Delete"
- ,szRecover : "Recover"
+ ,szRecover : "Recover deleted recordings"
,szStream : "Stream recording"
,szPlay : "Playback"
,szLoadException : "Couldn't get data about recording!\r\n{0}"
@@ -300,6 +300,10 @@ Ext.extend(Ext.xxv.recordingsDataView, Ext.DataView, {
,szDeleteFailure : "Couldn't delete recordings!\r\n{0}"
,szPlayBackSuccess : "Recording started playback successful.\r\n{0}"
,szPlayBackFailure : "Couldn't started playback recording!\r\n{0}"
+ ,szUpgrade : "Update list of recordings"
+ ,szUpgradeWait : "Please wait..."
+ ,szUpgradeSuccess : "List of recordings update successful.\r\n{0}"
+ ,szUpgradeFailure : "Couldn't update list of recordings!\r\n{0}"
,onLoadException : function( scope, o, arg, e) {
new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e);
@@ -434,13 +438,6 @@ Ext.extend(Ext.xxv.recordingsDataView, Ext.DataView, {
,scope:this
,disabled: true
,handler: function() { this.DeleteItem(null); }
- },{
- id: 'rru'
- ,text: this.szRecover
- ,iconCls: 'recover-icon'
- ,scope:this
- ,disabled: true
- ,handler: function() { this.Recover(); }
},'-',{
id: 'pre'
,text: this.szStream
@@ -717,6 +714,59 @@ Ext.extend(Ext.xxv.recordingsDataView, Ext.DataView, {
}
this.viewer.formwin = new Ext.xxv.Question(item,this.store);
}
+/******************************************************************************/
+ ,onUpgradeSuccess : function( response,options )
+ {
+ Ext.MessageBox.hide();
+ var o = eval("("+response.responseText+")");
+
+ if(o && o.data && typeof(o.data) == 'string'
+ && o.param && o.param.state && o.param.state == 'success') {
+
+ new Ext.xxv.MessageBox().msgSuccess(this.szUpgradeSuccess, o.data);
+ this.reload();
+
+ } else {
+ var msg = '';
+ if(o && o.data && typeof(o.data) == 'string') {
+ msg = o.data;
+ }
+ new Ext.xxv.MessageBox().msgFailure(this.szUpgradeFailure, msg);
+ }
+ }
+ ,onUpgradeFailure : function( response,options )
+ {
+ Ext.MessageBox.hide();
+ new Ext.xxv.MessageBox().msgFailure(this.szUpgradeFailure, response.statusText);
+ }
+ ,UpgradeItem : function() {
+ Ext.Ajax.request({
+ scope: this
+ ,url: XXV.help.cmdAJAX('ru')
+ ,timeout: 120000
+ ,success: this.onUpgradeSuccess
+ ,failure: this.onUpgradeFailure
+ });
+
+ Ext.MessageBox.show({
+ title: this.szUpgradeWait
+ ,msg: this.szUpgrade
+ ,width:240
+ ,wait:true
+ ,waitConfig:{
+ interval:200
+ ,duration:119000
+ ,increment:15
+ ,fn:function() {
+ Ext.MessageBox.hide();
+ }
+ }
+ });
+ }
+ ,reload : function() {
+ this.store.load({params:{start:0, limit:configuration.pageSize}});
+ }
+
});
function createRecordingsView(viewer,id) {
@@ -770,7 +820,7 @@ function createRecordingsView(viewer,id) {
{
id:'s'
,iconCls: 'find-icon'
- ,text: Ext.xxv.recordingsDataView.prototype.szFindReRun
+ ,tooltip: Ext.xxv.recordingsDataView.prototype.szFindReRun
,scope: viewer
,disabled:true
,handler: function(){ this.searchTab(this.gridRecordings.preview.record); }
@@ -779,7 +829,7 @@ function createRecordingsView(viewer,id) {
,{
id:'re'
,iconCls: 'edit-icon'
- ,text: Ext.xxv.recordingsDataView.prototype.szEdit
+ ,tooltip: Ext.xxv.recordingsDataView.prototype.szEdit
,scope: viewer
,disabled:true
,handler: function(){ this.gridRecordings.EditItem(this.gridRecordings.preview.record); }
@@ -787,7 +837,7 @@ function createRecordingsView(viewer,id) {
,{
id:'rcu'
,iconCls: 'cut-icon'
- ,text: Ext.xxv.recordingsDataView.prototype.szCut
+ ,tooltip: Ext.xxv.recordingsDataView.prototype.szCut
,scope: viewer
,disabled:true
,handler: function(){ this.gridRecordings.CutItem(this.gridRecordings.preview.record); }
@@ -795,7 +845,7 @@ function createRecordingsView(viewer,id) {
,{
id:'rr'
,iconCls: 'delete-icon'
- ,text: Ext.xxv.recordingsDataView.prototype.szDelete
+ ,tooltip: Ext.xxv.recordingsDataView.prototype.szDelete
,scope: viewer
,disabled:true
,handler: function(){ this.gridRecordings.DeleteItem(this.gridRecordings.preview.record); }
@@ -804,7 +854,7 @@ function createRecordingsView(viewer,id) {
,{
id:'pre'
,iconCls: 'stream-icon'
- ,text: Ext.xxv.recordingsDataView.prototype.szStream
+ ,tooltip: Ext.xxv.recordingsDataView.prototype.szStream
,scope: viewer
,disabled:true
,handler: function(){ this.gridRecordings.onStream(this.gridRecordings.preview.record, this.gridRecordings.preview.timefield.getValue() ); }
@@ -812,7 +862,7 @@ function createRecordingsView(viewer,id) {
,{
id:'rpv'
,iconCls: 'play-icon'
- ,text: Ext.xxv.recordingsDataView.prototype.szPlay
+ ,tooltip: Ext.xxv.recordingsDataView.prototype.szPlay
,scope: viewer
,disabled:true
,handler: function(){ this.gridRecordings.onPlay(this.gridRecordings.preview.record, this.gridRecordings.preview.timefield.getValue() ); }
@@ -930,9 +980,27 @@ function createRecordingsView(viewer,id) {
}
]
,tbar:new Ext.PagingToolbar({
- pageSize: viewer.gridRecordings.store.autoLoad.params.limit,
- store: viewer.gridRecordings.store,
- displayInfo: true})
+ pageSize: viewer.gridRecordings.store.autoLoad.params.limit
+ ,store: viewer.gridRecordings.store
+ ,displayInfo: true
+ ,items: [
+ {
+ id:'ru'
+ ,iconCls: 'upgrade-icon'
+ ,tooltip: viewer.gridRecordings.szUpgrade
+ ,scope: viewer.gridRecordings
+ ,disabled:false
+ ,handler: function(){ this.UpgradeItem(); }
+ },{
+ id:'rru'
+ ,iconCls: 'recover-icon'
+ ,tooltip: viewer.gridRecordings.szRecover
+ ,scope: viewer.gridRecordings
+ ,disabled:false
+ ,handler: function(){ this.Recover(); }
+ }
+ ]})
+
});
viewer.add(tab);
diff --git a/skins/jason/stream.js b/skins/jason/stream.js
index c673fd6..c973d55 100644
--- a/skins/jason/stream.js
+++ b/skins/jason/stream.js
@@ -43,9 +43,12 @@ Ext.xxv.StreamWindow = function(item) {
}
var marginHeight = 33;
var marginWidth = 16;
-
+ var t = this.szTitle;
+ if(item.title) {
+ t = item.title;
+ }
Ext.xxv.StreamWindow.superclass.constructor.call(this, {
- title: item.title
+ title: t
,streamtpl:tpl
,iconCls: 'stream-icon'
,id: 'stream-win'
@@ -60,10 +63,9 @@ Ext.xxv.StreamWindow = function(item) {
,modal: false
,autoScroll: false
,closeAction: 'hide'
- ,collapsible: true
,maximizable: true
,tools:[
- {id:'gear',handler:this.aspect, scope:this }
+ {id:'gear',handler:this.aspect, scope:this, qtip:this.szAspect }
]
,items: [{
id: 'video'
@@ -80,11 +82,15 @@ Ext.xxv.StreamWindow = function(item) {
Ext.xxv.StreamWindow.superclass.show.apply(this, arguments);
- this.on('resize', this.onresize, this);
+ this.on('resize', this.onresize, this);
}
-Ext.extend(Ext.xxv.StreamWindow, Ext.Window, {
- aspect : function() {
+Ext.extend(Ext.xxv.StreamWindow, Ext.Window, {
+
+ szTitle : "Streaming"
+ ,szAspect : "Restore aspect ratio correctly"
+
+ ,aspect : function() {
var size = this.getSize();
this.setSize(size.width, Math.round((size.width * 3) / 4));
}
@@ -100,14 +106,13 @@ Ext.extend(Ext.xxv.StreamWindow, Ext.Window, {
Ext.DomHelper.applyStyles('player_obj', style);
Ext.DomHelper.applyStyles('player_emb', style);
- },
-
- hide : function(){
+ }
+ ,hide : function(){
var video = Ext.getCmp('video');
if(video && video.body) video.body.update('');
Ext.xxv.StreamWindow.superclass.hide.apply(this, arguments);
- },
- show : function(item){
+ }
+ ,show : function(item){
if(this.rendered){
var video = Ext.getCmp('video');
var size = this.getSize();
diff --git a/skins/jason/timers.js b/skins/jason/timers.js
index abc9d8f..9ea0f43 100644
--- a/skins/jason/timers.js
+++ b/skins/jason/timers.js
@@ -163,7 +163,7 @@ Ext.xxv.timerGrid = function(viewer) {
{
id:'tn'
,iconCls: 'timer-new-icon'
-// ,text: this.szNew
+ ,tooltip: this.szNew
,scope: this
,disabled:false
,handler: function(){ this.EditItem(null); }
@@ -502,7 +502,7 @@ Ext.xxv.timerPreview = function(viewer) {
{
id:'s'
,iconCls: 'find-icon'
- ,text: this.szFindReRun
+ ,tooltip: this.szFindReRun
,scope: viewer
,disabled:true
,handler: function(){ this.searchTab(this.gridTimer.getSelectionModel().getSelected()); }
@@ -510,7 +510,7 @@ Ext.xxv.timerPreview = function(viewer) {
,{
id:'te'
,iconCls: 'edit-icon'
- ,text: this.szEdit
+ ,tooltip: this.szEdit
,scope: viewer
,disabled:true
,handler: function(){ this.gridTimer.EditItem(this.gridTimer.getSelectionModel().getSelected()); }
@@ -518,7 +518,7 @@ Ext.xxv.timerPreview = function(viewer) {
,{
id:'td'
,iconCls: 'delete-icon'
- ,text: this.szDelete
+ ,tooltip: this.szDelete
,scope: viewer
,disabled:true
,handler: function(){ this.gridTimer.DeleteItem(this.gridTimer.getSelectionModel().getSelected()); }