diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2009-11-01 14:05:09 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2009-11-01 14:05:09 +0000 |
| commit | 454652cfad1e4f5e501319b7a10985f96376985c (patch) | |
| tree | 5ae2237c7e5c8558f70c38c6b54db37226de0ab6 | |
| parent | 6f21b40befb77303cc04415b675256b0ba098be3 (diff) | |
| download | xxv-454652cfad1e4f5e501319b7a10985f96376985c.tar.gz xxv-454652cfad1e4f5e501319b7a10985f96376985c.tar.bz2 | |
* VTX: Rewrite command interface, make functions stateless
* VTX: Remove embedded image, use css sprite for faster pages rendering
* jason: add methods to display teletext pages
* jason: show error message, if present
* jason: enable command if allowed
* Skins: redesign teletext widget (show any subpages as same time)
* SVDRP: wait at startup, if'nt primary VDR connectable
* html: parameter call show allways current query
70 files changed, 2506 insertions, 399 deletions
diff --git a/skins/blue/images/vtxgfx.gif b/skins/blue/images/vtxgfx.gif new file mode 120000 index 0000000..484c3e7 --- /dev/null +++ b/skins/blue/images/vtxgfx.gif @@ -0,0 +1 @@ +../../stone/images/vtxgfx.gif
\ No newline at end of file diff --git a/skins/blue/vtxgfx.css b/skins/blue/vtxgfx.css new file mode 120000 index 0000000..a17deb6 --- /dev/null +++ b/skins/blue/vtxgfx.css @@ -0,0 +1 @@ +../stone/vtxgfx.css
\ No newline at end of file diff --git a/skins/blue/vtxpage.tmpl b/skins/blue/vtxpage.tmpl new file mode 120000 index 0000000..34c6245 --- /dev/null +++ b/skins/blue/vtxpage.tmpl @@ -0,0 +1 @@ +../stone/vtxpage.tmpl
\ No newline at end of file diff --git a/skins/blue_flat/vtxgfx.css b/skins/blue_flat/vtxgfx.css new file mode 120000 index 0000000..a17deb6 --- /dev/null +++ b/skins/blue_flat/vtxgfx.css @@ -0,0 +1 @@ +../stone/vtxgfx.css
\ No newline at end of file diff --git a/skins/blue_flat/vtxpage.tmpl b/skins/blue_flat/vtxpage.tmpl new file mode 120000 index 0000000..34c6245 --- /dev/null +++ b/skins/blue_flat/vtxpage.tmpl @@ -0,0 +1 @@ +../stone/vtxpage.tmpl
\ No newline at end of file diff --git a/skins/deltab/images/vtxgfx.gif b/skins/deltab/images/vtxgfx.gif new file mode 120000 index 0000000..484c3e7 --- /dev/null +++ b/skins/deltab/images/vtxgfx.gif @@ -0,0 +1 @@ +../../stone/images/vtxgfx.gif
\ No newline at end of file diff --git a/skins/deltab/style.css b/skins/deltab/style.css index 81eb59a..bdff13e 100644 --- a/skins/deltab/style.css +++ b/skins/deltab/style.css @@ -275,31 +275,6 @@ width:165px; width:170px; } -p.vtx { -font-size:12px; -font-family:monospace; -white-space:nowrap; -} - -img.vtx { -position:absolute; -z-index:1; -width:7px; -height:15px; -} - -a.vtx:link,a.vtx:visited,a.vtx:hover,a.vtx:active { -text-decoration:none; -} - -a.vtx:link,a.vtx:visited { -color:#0F0; -} - -a.vtx:hover,a.vtx:active { -color:#FF0; -} - img.progressleft { background:#4080ff; border-color:#000; diff --git a/skins/deltab/vtxgfx.css b/skins/deltab/vtxgfx.css new file mode 120000 index 0000000..a17deb6 --- /dev/null +++ b/skins/deltab/vtxgfx.css @@ -0,0 +1 @@ +../stone/vtxgfx.css
\ No newline at end of file diff --git a/skins/deltab/vtxpage.tmpl b/skins/deltab/vtxpage.tmpl new file mode 100644 index 0000000..b2f148b --- /dev/null +++ b/skins/deltab/vtxpage.tmpl @@ -0,0 +1,51 @@ +<!-- VTXTemplate --> +<h1><?% gettext("Teletext") %?></h1> +<!-- ###### Seite ###### --> +<?% IF data.0 >= 1 %?> +<?% channel = data.0.3 %?> +<?% url = "?cmd=vt&channel=${channel}" %?> +<?% END %?> +<div id="sidebar"> + <p class="section"><?% gettext("Teletext",20) %?></p> + <form action=""> + <p> + <select size="5" name='chan' onchange="di('?cmd=vt&channel=',this.form.chan.options[this.form.chan.options.selectedIndex].value)"> + <?% FOREACH ch = param.channels %?> + <option value="<?% ch.1 %?>" <?% 'selected="selected"' IF channel == ch.1 %?>><?% ch.0 %?></option> + <?% END %?> + </select> + </p> + </form> +<?% IF channel %?> + <p class="section"><?% gettext("Page",20) %?></p> + <form method="post" action="<?% url %?>"> + <p> + <input type="text" name="page" size="18" value="<?% data.0.1 %?>" /> + </p> + </form> + <p style="color:#aaaaaa;"> + <?% IF data.0.4 != 0 %?><a href="<?% url %?>"><img src="images/home.<?% global.imagetyp %?>" alt="" title="<?% gettext("First page") %?>" /></a><?% ELSE %?><img src="images/home.<?% global.imagetyp %?>" alt="" title="<?% gettext("First page") %?>" /><?% END %?> + <?% IF data.0.4 != 0 %?><a href="<?% url %?>"><?% gettext("First page",20) %?></a><?% ELSE %?><?% gettext("First page",20) %?><?% END %?><br /> + <?% IF data.0.4 != 0 %?><a href="<?% url %?>&page=<?% data.0.4 %?>"><img src="images/back.<?% global.imagetyp %?>" alt="" title="<?% gettext("Previous page") %?>" /></a><?% ELSE %?><img src="images/back.<?% global.imagetyp %?>" alt="" title="<?% gettext("Previous page") %?>" /><?% END %?> + <?% IF data.0.4 != 0 %?><a href="<?% url %?>&page=<?% data.0.4 %?>"><?% gettext("Previous page",20) %?></a><?% ELSE %?><?% gettext("Previous page",20) %?><?% END %?><br /> + <?% IF data.0.5 != 0 %?><a href="<?% url %?>&page=<?% data.0.5 %?>"><img src="images/forward.<?% global.imagetyp %?>" alt="" title="<?% gettext("Next page") %?>" /></a><?% ELSE %?><img src="images/forward.<?% global.imagetyp %?>" alt="" title="<?% gettext("Next page") %?>" /><?% END %?> + <?% IF data.0.5 != 0 %?><a href="<?% url %?>&page=<?% data.0.5 %?>"><?% gettext("Next page",20) %?></a><?% ELSE %?><?% gettext("Next page",20) %?><?% END %?><br /> + </p> + <p class="section"><?% gettext("Search",20) %?></p> + <form method="post" action="?cmd=vs&channel=<?% channel %?>"> + <p> + <input type="text" name="data" size="18" value="" /> + </p> + </form> +<?% END %?> +</div> +<?% global.sidebar = 1 %?> +<?% FOREACH zeile = data %?> +<?% id=zeile.0;page=zeile.1;subpage=zeile.2;channels=zeile.3;prev=zeile.4;next=zeile.5;mtime=zeile.6 %?> +<div style="float:left; margin:5px;" id="<?% id %?>"> + <h2><?% gettext("Page") %?> <?% page; IF subpage > 0 %?>/<?% subpage; END %?></h2> + <div id="vt"> + <?% zeile.7 %?> + </div> +</div>
<?% END %?> + diff --git a/skins/deltab/widgets/footer.tmpl b/skins/deltab/widgets/footer.tmpl index 6d98c4b..0aab541 100644 --- a/skins/deltab/widgets/footer.tmpl +++ b/skins/deltab/widgets/footer.tmpl @@ -27,7 +27,7 @@ <?% IF allow( 'al' ) %?> <a accesskey="a" href="?cmd=al"><?% gettext("Autotimer") %?></a> · <?% END %?> <?% IF allow( 'tl' ) %?> <a accesskey="t" href="?cmd=tl"><?% gettext("Timers") %?></a> · <?% END %?> <?% IF allow( 'rl' ) %?> <a accesskey="r" href="?cmd=rl"><?% gettext("Recordings") %?></a> · <?% END %?> - <?% IF allow( 'vc' ) %?> <a accesskey="v" href="?cmd=vc"><?% gettext("Teletext") %?></a> · <?% END %?> + <?% IF allow( 'vt' ) %?> <a accesskey="v" href="?cmd=vt"><?% gettext("Teletext") %?></a> · <?% END %?> <?% IF allow( 'ml' ) %?> <a accesskey="m" href="?cmd=ml"><?% gettext("Music") %?></a> · <?% END %?> <?% IF allow( 'r' ) %?> <a accesskey="f" href="?cmd=r"><?% gettext("Remote") %?></a> · <?% END %?> <?% IF allow( 'sa' ) %?> <a accesskey="s" href="?cmd=sa"><?% gettext("Status") %?></a> · <?% END %?> diff --git a/skins/deltab/widgets/start.tmpl b/skins/deltab/widgets/start.tmpl index 3e57376..c46697c 100644 --- a/skins/deltab/widgets/start.tmpl +++ b/skins/deltab/widgets/start.tmpl @@ -5,6 +5,11 @@ <?% lang = locale.split('_') %?> <html xmlns="http://www.w3.org/1999/xhtml" <?% IF lang.1 %?>xml:lang="<?% lang.0 %?>" lang="<?% lang.0 %?>"<?% ELSE %?>xml:lang="en" lang="en"<?% END %?>> <head> + <link rel="stylesheet" type="text/css" href="style.css" media="all" /> + <link rel="stylesheet" type="text/css" href="print.css" media="print" /> +<?% IF call == 'vtxpage' %?> + <link rel="stylesheet" type="text/css" href="vtxgfx.css" media="all" /> +<?% END %?> <title><?% IF param.title.defined;param.title;ELSE %?>XXV<?% END %?></title> <meta name="generator" content="XXV System - Version: <?% version %?>" /> <meta http-equiv="content-type" content="text/html; charset=<?% charset %?>" /> @@ -13,8 +18,6 @@ <meta http-equiv="pragma" content="no-cache" /> <meta name="robots" content="noindex,noarchive,nofollow" /> <link rel="shortcut icon" href="favicon.ico" /> - <link rel="stylesheet" type="text/css" href="style.css" media="all" /> - <link rel="stylesheet" type="text/css" href="print.css" media="print" /> <script language="JavaScript" type="text/javascript" src="tooltip.js"></script> <script language="JavaScript" type="text/javascript" src="global.js"></script> <?% IF allow("request") %?> diff --git a/skins/deltab/widgets/vtx.tmpl b/skins/deltab/widgets/vtx.tmpl deleted file mode 100644 index 60da208..0000000 --- a/skins/deltab/widgets/vtx.tmpl +++ /dev/null @@ -1,54 +0,0 @@ -<!-- VTXTemplate --> -<?% IF !global.include_vtx_wigdet.defined %?> -<h1><?% gettext("Teletext") %?></h1> -<!-- ###### Seite ###### --> -<?% url = "?cmd=vt&data=" %?> -<div id="sidebar"> - <p class="section"><?% gettext("Teletext",20) %?></p> - <form action=""> - <p> - <select size="5" name='chan' onchange="di('?cmd=vc&data=',this.form.chan.options[this.form.chan.options.selectedIndex].value)"> - <?% FOREACH ch = param.channels %?> - <option value="<?% ch.1 %?>" <?% 'selected="selected"' IF param.channel == ch.1 %?>><?% ch.0 %?></option> - <?% END %?> - </select> - </p> - </form> - <p class="section"><?% gettext("Page",20) %?></p> - <form method="post" action="?cmd=vt"> - <p> - <input type="text" name="data" size="18" value="<?% param.page %?>" /> - </p> - </form> - <p style="color:#aaaaaa;"> - <?% IF param.toppage != 0 %?><a href="<?% url %?><?% param.toppage %?>"><img src="images/home.<?% global.imagetyp %?>" alt="" title="<?% gettext("First page") %?>" /></a><?% ELSE %?><img src="images/home.<?% global.imagetyp %?>" alt="" title="<?% gettext("First page") %?>" /><?% END %?> - <?% IF param.toppage != 0 %?><a href="<?% url %?><?% param.toppage %?>"><?% gettext("First page",20) %?></a><?% ELSE %?><?% gettext("First page",20) %?><?% END %?><br /> - <?% IF param.page_prev != 0 %?><a href="<?% url %?><?% param.page_prev %?>"><img src="images/back.<?% global.imagetyp %?>" alt="" title="<?% gettext("Previous page") %?>" /></a><?% ELSE %?><img src="images/back.<?% global.imagetyp %?>" alt="" title="<?% gettext("Previous page") %?>" /><?% END %?> - <?% IF param.page_prev != 0 %?><a href="<?% url %?><?% param.page_prev %?>"><?% gettext("Previous page",20) %?></a><?% ELSE %?><?% gettext("Previous page",20) %?><?% END %?><br /> - <?% IF param.page_next != 0 %?><a href="<?% url %?><?% param.page_next %?>"><img src="images/forward.<?% global.imagetyp %?>" alt="" title="<?% gettext("Next page") %?>" /></a><?% ELSE %?><img src="images/forward.<?% global.imagetyp %?>" alt="" title="<?% gettext("Next page") %?>" /><?% END %?> - <?% IF param.page_next != 0 %?><a href="<?% url %?><?% param.page_next %?>"><?% gettext("Next page",20) %?></a><?% ELSE %?><?% gettext("Next page",20) %?><?% END %?><br /> - </p> - <p style="color:#aaaaaa;"> - <?% IF param.subpage_prev != 0 %?><a href="<?% url %?><?% param.subpage_prev %?>"><img src="images/back.<?% global.imagetyp %?>" alt="" title="<?% gettext("Prior sub page") %?>" /></a><?% ELSE %?><img src="images/back.<?% global.imagetyp %?>" alt="" title="<?% gettext("Prior sub page") %?>" /><?% END %?> - <?% IF param.subpage_prev != 0 %?><a href="<?% url %?><?% param.subpage_prev %?>"><?% gettext("Prior sub page",20) %?></a><?% ELSE %?><?% gettext("Prior sub page",20) %?><?% END %?><br /> - <?% IF param.subpage_next != 0 %?><a href="<?% url %?><?% param.subpage_next %?>"><img src="images/forward.<?% global.imagetyp %?>" alt="" title="<?% gettext("Next sub page") %?>" /></a><?% ELSE %?><img src="images/forward.<?% global.imagetyp %?>" alt="" title="<?% gettext("Next sub page") %?>" /><?% END %?> - <?% IF param.subpage_next != 0 %?><a href="<?% url %?><?% param.subpage_next %?>"><?% gettext("Next sub page",20) %?></a><?% ELSE %?><?% gettext("Next sub page",20) %?><?% END %?><br /> - </p> - <p class="section"><?% gettext("Search",20) %?></p> - <form method="post" action="?cmd=vs"> - <p> - <input type="text" name="data" size="18" value="" /> - </p> - </form> -</div> -<?% global.sidebar = 1 %?> -<?% SET global.include_vtx_wigdet = 1 %?> -<?% END %?> -<div style="float:left; margin:5px;"> -<h2> -<?% gettext("Page") %?> <?% param.page; pages = cgi.param('data').split('_'); IF pages.size > 1 && pages.last > 0 %?>/<?% pages.last; END %?> -</h2> -<?% FOREACH l = data %?> - <?% l %?>
-<?% END %?> -</div>
diff --git a/skins/jason/autotimers.js b/skins/jason/autotimers.js index 24f401b..08f3e32 100644 --- a/skins/jason/autotimers.js +++ b/skins/jason/autotimers.js @@ -164,7 +164,7 @@ Ext.extend(Ext.xxv.autotimerGrid, Ext.grid.EditorGridPanel, { ,stateful: true ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onLoad : function( store, records, opt ) { this.getSelectionModel().selectFirstRow(); diff --git a/skins/jason/channelspanel.js b/skins/jason/channelspanel.js index e24928b..4739fcd 100644 --- a/skins/jason/channelspanel.js +++ b/skins/jason/channelspanel.js @@ -87,15 +87,17 @@ Ext.xxv.channelsPanel = function() { 'selectionchange' : function(sm, node){
if(node){ var record = this.store.getById(node.attributes.channel); - var top = Ext.getCmp('main-tabs');
- top.openProgram(record.data); + var top = Ext.getCmp('main-tabs'); + switch(top.getActiveTab().id) { + case 'vt': top.openTeleText(node.attributes.text, node.attributes.channel); break; + default: top.openProgram(record.data); break; + }
var items = this.topToolbar.items;
if(items) { items.eachKey(function(key, f) { - if(XXV.help.cmdAllowed(key)) f.enable(); - },items); } + if(XXV.help.cmdAllowed(key)) f.enable(); + },items); } }
- //this.getTopToolbar().items.get('delete').setDisabled(!node);
},
scope:this
});
@@ -114,6 +116,8 @@ Ext.extend(Ext.xxv.channelsPanel, Ext.tree.TreePanel, { ,webcastText : "Live web cast this channel" ,switchTTText: "Switch" ,switchText : "Switch to this channel" + ,teleTextText: "Teletext pages" + ,teleTextTTText: "Show teletext pages from this channel" ,editTTText : "Edit" ,editText : "Edit this channel" ,deleteText : "Delete this channel" @@ -133,7 +137,11 @@ Ext.extend(Ext.xxv.channelsPanel, Ext.tree.TreePanel, { ,text:this.selectText
,scope: this
,disabled: true
- ,handler:function(){ this.ctxNode.select(); } + ,handler:function(){ + var record = this.store.getById(this.ctxNode.attributes.channel); + var top = Ext.getCmp('main-tabs');
+ top.openProgram(record.data); + } } ,'-', {
@@ -143,14 +151,23 @@ Ext.extend(Ext.xxv.channelsPanel, Ext.tree.TreePanel, { ,scope: this
,disabled: true
,handler:function(){ this.onWebCastChannel(this.ctxNode.attributes.channel); } - }, - {
+ },{
itemId:'sw'
,iconCls:'switch-icon'
,text:this.switchText
,scope: this
,disabled: true
,handler:function(){ this.onSwitchChannel(this.ctxNode.attributes.channel); } + },{
+ itemId:'vt'
+ ,iconCls:'teletext-icon'
+ ,text:this.teleTextText
+ ,scope: this
+ ,disabled: true
+ ,handler:function(){ + var top = Ext.getCmp('main-tabs');
+ top.openTeleText(this.ctxNode.attributes.text, this.ctxNode.attributes.channel); + } } ,'-', {
@@ -211,7 +228,7 @@ Ext.extend(Ext.xxv.channelsPanel, Ext.tree.TreePanel, { exists.select();
exists.ui.highlight();
}
- return;
+ return null;
}
Ext.apply(attrs, {
iconCls: 'channel-icon',
@@ -243,7 +260,7 @@ Ext.extend(Ext.xxv.channelsPanel, Ext.tree.TreePanel, { } /******************************************************************************/ ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onLoad : function( store, records, opt ) { diff --git a/skins/jason/chronicle.js b/skins/jason/chronicle.js index 8937c28..e4921af 100644 --- a/skins/jason/chronicle.js +++ b/skins/jason/chronicle.js @@ -123,7 +123,7 @@ Ext.extend(Ext.xxv.chronicleGrid, Ext.grid.EditorGridPanel, { ,stateful: true ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onLoad : function( store, records, opt ) { this.getSelectionModel().selectFirstRow(); diff --git a/skins/jason/files.lst b/skins/jason/files.lst index 79524f9..5bc74eb 100644 --- a/skins/jason/files.lst +++ b/skins/jason/files.lst @@ -26,6 +26,7 @@ autotimers.js \ recordings.js \ chronicle.js \ music.js \ +teletext.js \ users.js \ vdr.js \ menus.js \ diff --git a/skins/jason/fixes.js b/skins/jason/fixes.js index 5fb77b8..0e33c1f 100644 --- a/skins/jason/fixes.js +++ b/skins/jason/fixes.js @@ -276,3 +276,47 @@ Ext.override(Ext.layout.HBoxLayout, { }, this); } }); + +/* http://www.extjs.com/forum/showthread.php?t=73615 */ +Ext.override(Ext.menu.Menu, { + show: function(el, pos, parentMenu) { + if (this.floating) { + this.parentMenu = parentMenu; + if (!this.el) { + this.render(); + this.doLayout(false, true); + } + //if(this.fireEvent('beforeshow', this) !== false){ + this.showAt(this.el.getAlignToXY(el, pos || this.defaultAlign, this.defaultOffsets), parentMenu, false); + //} + } else { + Ext.menu.Menu.superclass.show.call(this); + } + }, + showAt: function(xy, parentMenu, _e) { + if (this.fireEvent('beforeshow', this) !== false) { + this.parentMenu = parentMenu; + if (!this.el) { + this.render(); + } + if (_e !== false) { + xy = this.el.adjustForConstraints(xy); + } + this.el.setXY(xy); + if (this.enableScrolling) { + this.constrainScroll(xy[1]); + } + this.el.show(); + Ext.menu.Menu.superclass.onShow.call(this); + if (Ext.isIE) { + this.layout.doAutoSize(); + if (!Ext.isIE8) { + this.el.repaint(); + } + } + this.hidden = false; + this.focus(); + this.fireEvent("show", this); + } + } +}); diff --git a/skins/jason/form.js b/skins/jason/form.js index ed337f4..caf2fbc 100644 --- a/skins/jason/form.js +++ b/skins/jason/form.js @@ -11,7 +11,7 @@ Ext.xxv.Question = function(item,parentstore) { if(XXV.help.cmdDisabled(item.cmd)) { new Ext.xxv.MessageBox().msgFailure(this.szCommandDeny, item.cmd); - return 0; + return; } this.parentstore = parentstore; @@ -75,7 +75,7 @@ Ext.extend(Ext.xxv.Question, Ext.Window, { ,szComboEmpty : "Select ..." ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onLoad : function(r,options,success){ diff --git a/skins/jason/help.js b/skins/jason/help.js index d7b43b5..bcae331 100644 --- a/skins/jason/help.js +++ b/skins/jason/help.js @@ -37,16 +37,6 @@ Ext.extend(Ext.xxv.help, Ext.util.Observable, { onLoad : function(store, records, options) { if(!this.cmdDisabled('ce')) { - // HTTPD are not visible on cmd=help - XXV.configMenu.add(new Ext.menu.Item( - { - text: 'HTTPD' - ,disabled:false - ,handler: this.Configure - ,scope:this - })); - XXV.configMenu.add('-'); - var lastModule; for(var i = 0, len = store.getCount(); i < len; i++){ var record = store.getAt(i); diff --git a/skins/jason/index.tmpl b/skins/jason/index.tmpl index f073515..c25798b 100644 --- a/skins/jason/index.tmpl +++ b/skins/jason/index.tmpl @@ -9,6 +9,7 @@ <link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" /> <link rel="stylesheet" type="text/css" href="extjs/resources/css/xtheme-default.css" id="theme" /> <link rel="stylesheet" type="text/css" href="jason.css" /> + <link rel="stylesheet" type="text/css" href="vtxgfx.css" /> <link rel="stylesheet" type="text/css" href="ux/multiselect.css" /> <link rel="stylesheet" type="text/css" href="ux/Carousel.css" /> <script language="javascript" type="text/javascript"> diff --git a/skins/jason/jason.css b/skins/jason/jason.css index 9571803..eec6073 100644 --- a/skins/jason/jason.css +++ b/skins/jason/jason.css @@ -89,6 +89,7 @@ display:none; .select-channel-icon { background-image:url(pic/channel-select.png) !important; } .stream-icon { background-image:url(pic/web-playback.png) !important; } .switch-icon { background-image:url(pic/remote-playback.png) !important; } +.teletext-icon { background-image:url(pic/menu.png) !important; } .xxv-icon { background-image:url(pic/xxv.png) !important; } .program-icon { background-image:url(pic/channel.png) !important; } .media-icon { background-image:url(pic/video.png) !important; } @@ -479,3 +480,60 @@ color:red; .x-form-check-group .x-panel-body {background-color: transparent;} .x-form-check-wrap { height:auto; } +/* teletext */ +#vt .x-panel-body{
+background: white;
+}
+#vt .thumb{
+background: #dddddd;
+padding: 3px; +} + +#vt .thumb-wrap{
+float: left;
+margin: 4px;
+margin-right: 0;
+padding: 5px;
+} + +#vt .x-view-over{
+border:1px solid #dddddd;
+background: #efefef url(extjs/resources/images/default/grid/row-over.gif) repeat-x left top;
+padding: 4px;
+}
+
+#vt .x-view-selected{
+background: #eff5fb no-repeat right bottom;
+border:1px solid #99bbe8;
+padding: 4px;
+}
+ +#vt .x-view-selected .thumb{
+background:transparent;
+}
+ +#vt p.vtx { +font-size:16px; +line-height:18px; +font-family:monospace; +white-space:nowrap; +} + +#vt img.vtx { +position:absolute; +z-index:1; +width:10px; +height:16px; +} + +#vt a.vtx:link,a.vtx:visited,a.vtx:hover,a.vtx:active { +text-decoration:none; +} + +#vt a.vtx:link,a.vtx:visited { +color:#0F0; +} + +#vt a.vtx:hover,a.vtx:active { +color:#FF0; +} diff --git a/skins/jason/locale/lang-de.js b/skins/jason/locale/lang-de.js index d1e5b4f..a04a48c 100644 --- a/skins/jason/locale/lang-de.js +++ b/skins/jason/locale/lang-de.js @@ -55,6 +55,8 @@ Ext.xxv.channelsPanel.prototype.webcastTTText = "Live TV"; Ext.xxv.channelsPanel.prototype.webcastText = "Diesen Kanal als Live TV streamen"; Ext.xxv.channelsPanel.prototype.switchTTText = "Umschalten"; Ext.xxv.channelsPanel.prototype.switchText = "Auf diesen Kanal umschalten"; +Ext.xxv.channelsPanel.prototype.teleTextText = "Videotext"; +Ext.xxv.channelsPanel.prototype.teleTextTTText = "Zeigt den Videotext dieses Kanals"; Ext.xxv.channelsPanel.prototype.editTTText = "Bearbeiten"; Ext.xxv.channelsPanel.prototype.editText = "Diesen Kanal bearbeiten"; Ext.xxv.channelsPanel.prototype.deleteText = "Diesen Kanal löschen"; @@ -249,6 +251,11 @@ Ext.xxv.musicGrid.prototype.szColGenre = "Genre"; Ext.xxv.musicGrid.prototype.szColComment = "Kommentar"; Ext.xxv.musicGrid.prototype.szLoadException = "Konnte keine Titel der Musikliste holen!\r\n{0}"; +/* teletext */ +Ext.xxv.TeleTextView.prototype.szTitle = "Videotext"; +Ext.xxv.TeleTextView.prototype.szToolTip = "Zeigt Videotextseiten"; +Ext.xxv.TeleTextView.prototype.szLoadException = "Konnte keine Seite des Videotext holen!\r\n{0}"; + /* monitor.js */ Ext.xxv.MonitorWindow.prototype.szTitle = "Monitorbild"; Ext.xxv.MonitorWindow.prototype.szAspect = "Wiederherstellen des korrekten Seitenverhältnis"; @@ -271,3 +278,4 @@ Ext.ux.Multiselect.prototype.maxLengthText = "Maximal sind {0} Einträge erlaubt /* ux/filter.js */ Ext.ux.grid.Search.prototype.searchTipText = "Bitte geben Sie einen Text für die Suche ein"; + diff --git a/skins/jason/locale/lang-en.js b/skins/jason/locale/lang-en.js index 6c63039..65bb980 100644 --- a/skins/jason/locale/lang-en.js +++ b/skins/jason/locale/lang-en.js @@ -55,6 +55,8 @@ Ext.xxv.channelsPanel.prototype.webcastTTText = "Web cast"; Ext.xxv.channelsPanel.prototype.webcastText = "Live web cast this channel"; Ext.xxv.channelsPanel.prototype.switchTTText: "Switch"; Ext.xxv.channelsPanel.prototype.switchText = "Switch to this channel"; +Ext.xxv.channelsPanel.prototype.teleTextText = "Teletext pages"; +Ext.xxv.channelsPanel.prototype.teleTextTTText = "Show teletext pages from this channel"; Ext.xxv.channelsPanel.prototype.editTTText = "Edit"; Ext.xxv.channelsPanel.prototype.editText = "Edit this channel"; Ext.xxv.channelsPanel.prototype.deleteText = "Delete this channel"; @@ -251,6 +253,11 @@ Ext.xxv.musicGrid.prototype.szColGenre = "Genre"; Ext.xxv.musicGrid.prototype.szColComment = "Comment"; Ext.xxv.musicGrid.prototype.szLoadException = "Couldn't get title from music list!\r\n{0}"; +/* teletext */ +Ext.xxv.TeleTextView.prototype.szTitle = "Teletext"; +Ext.xxv.TeleTextView.prototype.szToolTip = "Display teletext pages"; +Ext.xxv.TeleTextView.prototype.szLoadException = "Couldn't get teletext pages!\r\n{0}"; + /* monitor.js */ Ext.xxv.MonitorWindow.prototype.szTitle = "Monitor"; Ext.xxv.MonitorWindow.prototype.szAspect = "Restore aspect ratio correctly"; diff --git a/skins/jason/locale/lang-it.js b/skins/jason/locale/lang-it.js index 6dc1615..1f23db9 100755 --- a/skins/jason/locale/lang-it.js +++ b/skins/jason/locale/lang-it.js @@ -55,6 +55,8 @@ Ext.xxv.channelsPanel.prototype.webcastTTText = "Trasmissione web"; Ext.xxv.channelsPanel.prototype.webcastText = "Trasmissione web dal vivo di questo canale"; Ext.xxv.channelsPanel.prototype.switchTTText: "Cambia"; Ext.xxv.channelsPanel.prototype.switchText = "Cambia su questo canale"; +/*NEED TO TRANSLATE*/ Ext.xxv.channelsPanel.prototype.teleTextText = "Teletext pages"; +/*NEED TO TRANSLATE*/ Ext.xxv.channelsPanel.prototype.teleTextTTText = "Show teletext pages from this channel"; Ext.xxv.channelsPanel.prototype.editTTText = "Modifica"; Ext.xxv.channelsPanel.prototype.editText = "Modifica questo canale"; Ext.xxv.channelsPanel.prototype.deleteText = "Elimina questo canale"; @@ -251,6 +253,11 @@ Ext.xxv.musicGrid.prototype.szColGenre = "Genere"; Ext.xxv.musicGrid.prototype.szColComment = "Commento"; Ext.xxv.musicGrid.prototype.szLoadException = "Impossibile recuperare titoli elenco musicale!\r\n{0}"; +/* teletext */ +/*NEED TO TRANSLATE*/ Ext.xxv.TeleTextView.prototype.szTitle = "Teletext"; +/*NEED TO TRANSLATE*/ Ext.xxv.TeleTextView.prototype.szToolTip = "Display teletext pages"; +/*NEED TO TRANSLATE*/ Ext.xxv.TeleTextView.prototype.szLoadException = "Couldn't get teletext pages!\r\n{0}"; + /* monitor.js */ Ext.xxv.MonitorWindow.prototype.szTitle = "Schermo"; Ext.xxv.MonitorWindow.prototype.szAspect = "Ripristina risoluzione adeguata"; diff --git a/skins/jason/menus.js b/skins/jason/menus.js index dbd3fa0..bcc8182 100644 --- a/skins/jason/menus.js +++ b/skins/jason/menus.js @@ -33,44 +33,57 @@ Ext.xxv.MainSearchField = Ext.extend(Ext.form.TwinTriggerField, { }*/ }); +Ext.xxv.Menu = Ext.extend(Ext.menu.Menu, { + initComponent : function(){ + Ext.xxv.Menu.superclass.initComponent.call(this); + this.on('beforerender', function(menu) { + menu.items.eachKey(function(key, f) { + if(f.cmd && XXV.help.cmdAllowed(f.cmd)) + f.enable(); + },menu.items); + } , this); + } +}); + Ext.xxv.MainMenu = function(/*config*/){
var selTheme = this.initTheme(); XXV.configMenu = new Ext.menu.Menu(); - var setupMenu = new Ext.menu.Menu( - { - items:[ - { + var setupMenu = new Ext.xxv.Menu({ + defaults: { + disabled:true + ,handler: function(b,e) { XXV.tab.openTab(b.cmd); } + } + ,items:[{ text:this.szOwnSettings
,iconCls: 'setup-icon' - ,disabled: false ,handler: XXV.help.Settings ,scope:XXV.help
+ ,cmd: 'up' },{ text:this.szGlobalSettings
,iconCls: 'setup-icon'
,menu: XXV.configMenu + ,cmd: 'ce' },'-',{ text: Ext.xxv.movetimersGrid.prototype.szTitle - ,handler: function() { XXV.tab.openTab('mtl'); } ,iconCls:"movetimers-icon" + ,cmd: 'mtl' },{ text: Ext.xxv.vdrGrid.prototype.szTitle - ,handler: function() { XXV.tab.openTab('vl'); } ,iconCls:"vdr-icon" + ,cmd: 'vl' },{ text: Ext.xxv.usersGrid.prototype.szTitle - ,handler: function() { XXV.tab.openTab('ul'); } ,iconCls:"users-icon" + ,cmd: 'ul' } ] }); - var systemMenu = new Ext.menu.Menu( - { - items:[ - { + var systemMenu = new Ext.menu.Menu({ + items:[{ text:this.szMenuItemSetup
,iconCls: 'setup-icon'
,menu: setupMenu @@ -83,61 +96,63 @@ Ext.xxv.MainMenu = function(/*config*/){ ] }); - - - var ProgrammingMenu = new Ext.menu.Menu( - { - items:[ - { + var ProgrammingMenu = new Ext.xxv.Menu({ + defaults: { + disabled:true + ,handler: function(b,e) { XXV.tab.openTab(b.cmd); } + } + ,items:[{ text: Ext.xxv.autotimerGrid.prototype.szTitle - ,handler: function() { XXV.tab.openTab('al'); } ,iconCls:"autotimer-icon" + ,cmd: 'al' }, { text: Ext.xxv.timerGrid.prototype.szTitle - ,handler: function() { XXV.tab.openTab('tl'); } ,iconCls:"timer-icon" + ,cmd: 'tl' } ] }); - var MediaMenu = new Ext.menu.Menu( - { - items:[ - { + var MediaMenu = new Ext.xxv.Menu({ + defaults: { + disabled:true + ,handler: function(b,e) { XXV.tab.openTab(b.cmd); } + } + ,items:[{ text: Ext.xxv.recordingsDataView.prototype.szTitle - ,handler: function() { XXV.tab.openTab('rl'); } ,iconCls:"recordings-icon" - } - ,{ + ,cmd: 'rl' + },{ text: Ext.xxv.chronicleGrid.prototype.szTitle - ,handler: function() { XXV.tab.openTab('chrl'); } ,iconCls:"chronicle-icon" + ,cmd: 'chrl' },{ text: Ext.xxv.musicGrid.prototype.szTitle - ,handler: function() { XXV.tab.openTab('ml'); } ,iconCls:"music-icon" + ,cmd: 'ml' }/*,{ text: Ext.xxv.mediaDataView.prototype.szTitle, - handler: function() { XXV.tab.openTab('mll'); }, iconCls:"media-icon", - disabled:true + ,cmd: 'mll' }*/ ] }); - var RemoteMenu = new Ext.menu.Menu( - { - items:[ - { + var RemoteMenu = new Ext.xxv.Menu({ + defaults: { + disabled:true + } + ,items:[{ text: Ext.xxv.RemoteWindow.prototype.szTitle ,handler: function() { Ext.xxv.RemoteWindowOpen(); } ,iconCls:"remote-icon" - } - ,{ + ,cmd: 'r' + },{ text: Ext.xxv.MonitorWindow.prototype.szTitle ,handler: function() { Ext.xxv.MonitorWindowOpen(); } ,iconCls:"monitor-icon" + ,cmd: 'r' } ] }); @@ -157,26 +172,26 @@ Ext.xxv.MainMenu = function(/*config*/){ id:"MainMenu", region:"north", height:26, - items:[ - { text:this.szMenuXXV, + items:[{ + text:this.szMenuXXV, menu:systemMenu, iconCls:"xxv-icon" - }, - { text:this.szMenuProgramming, + },{ + text:this.szMenuProgramming, menu:ProgrammingMenu, iconCls:"edit-icon" - }, - { text:this.szMenuMedia, + },{ + text:this.szMenuMedia, menu:MediaMenu, iconCls:"media-icon" - }, - { text:this.szMenuRemote, + },{ + text:this.szMenuRemote, menu:RemoteMenu, iconCls:"remote-icon" - }, - { text:this.szMenuView,
- iconCls: 'view-icon',
- menu:{
+ },{ + text:this.szMenuView,
+ iconCls: 'view-icon',
+ menu:{
items: [ { text: this.szSelectTheme, @@ -300,8 +315,8 @@ Ext.extend(Ext.xxv.MainMenu, Ext.Toolbar, { /******************************************************************************/ ,Logout: function(){ Ext.MessageBox.show({ - title: 'Logout' - ,msg: 'Please wait...' + title: this.szMenuItemLogout + ,msg: Ext.form.BasicForm.prototype.waitTitle ,width:240 ,closable:false }); diff --git a/skins/jason/movetimers.js b/skins/jason/movetimers.js index 499ca6d..d9fed61 100644 --- a/skins/jason/movetimers.js +++ b/skins/jason/movetimers.js @@ -110,7 +110,7 @@ Ext.extend(Ext.xxv.movetimersGrid, Ext.grid.EditorGridPanel, { ,stateful: true ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onLoad : function( store, records, opt ) { this.getSelectionModel().selectFirstRow(); diff --git a/skins/jason/music.js b/skins/jason/music.js index ad04c41..e3d81e3 100644 --- a/skins/jason/music.js +++ b/skins/jason/music.js @@ -157,7 +157,7 @@ Ext.extend(Ext.xxv.musicGrid, Ext.grid.GridPanel, { // Ext.grid.EditorGridPanel ,stateful: true ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onLoad : function( store, records, opt ) { this.getSelectionModel().selectFirstRow(); diff --git a/skins/jason/now.js b/skins/jason/now.js index 515dde9..2f19e03 100644 --- a/skins/jason/now.js +++ b/skins/jason/now.js @@ -176,7 +176,7 @@ Ext.extend(Ext.xxv.NowGrid, Ext.grid.GridPanel, { ,szRecordFailure : "Couldn't create timer!\r\n{0}" ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onBeforeLoad : function( store, opt ) { diff --git a/skins/jason/pic/vtxgfx.gif b/skins/jason/pic/vtxgfx.gif Binary files differnew file mode 100644 index 0000000..012a254 --- /dev/null +++ b/skins/jason/pic/vtxgfx.gif diff --git a/skins/jason/program.js b/skins/jason/program.js index b3523cf..7f22d7e 100644 --- a/skins/jason/program.js +++ b/skins/jason/program.js @@ -129,7 +129,7 @@ Ext.extend(Ext.xxv.programGrid, Ext.grid.GridPanel, { ,stateful: true ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onBeforeLoad : function( store, opt ) { this.preview.clear(); diff --git a/skins/jason/reader.js b/skins/jason/reader.js index f807163..0383348 100644 --- a/skins/jason/reader.js +++ b/skins/jason/reader.js @@ -18,7 +18,10 @@ Ext.extend(Ext.xxv.jsonReader, Ext.data.DataReader, { throw {message: "XXVReader.read: " . r.statusText };
} var o = eval('('+r.responseText+')');
- if(!o || !o.data || typeof(o.data) != 'object') {
+ if(!o || !o.data || typeof(o.data) != 'object') { + if(o && o.data && typeof(o.data) == 'string') { + throw {message: o.data};
+ }
throw {message: "XXVReader.read: Json object not found"};
}
return this.readRecords(o.data,o.param);
diff --git a/skins/jason/recordings.js b/skins/jason/recordings.js index 84aea21..7e5fdef 100644 --- a/skins/jason/recordings.js +++ b/skins/jason/recordings.js @@ -363,31 +363,31 @@ Ext.xxv.recordingsDataView = function(viewer, preview, store, config) { this.store = store; var tpl = new Ext.XTemplate( '<tpl for=".">',
- '<div class="thumb-wrap" id="{id}">',
+ '<div class="thumb-wrap" id="{id}">',
'<div class="thumb">', '<tpl if="isrecording == 0">', '<img src="pic/folder.png"<tpl if="group != 0"> ext:qtitle="{shortTitle}" ext:qtip="{ToolTip}"</tpl>/>', '</tpl>', '<tpl if="isrecording != 0">', - '<tpl if="this.isRadio(type)">', - '<img src="pic/radio.png" ext:qtitle="{shortTitle}" ext:qtip="{ToolTip}" />', - '</tpl>', - '<tpl if="this.isRadio(type) == false">', - '<tpl if="frame == -1">', - '<img src="pic/movie.png" ext:qtitle="{shortTitle}" ext:qtip="{ToolTip}" />', - '</tpl>', - '<tpl if="frame != -1">', - '<img src="?cmd=ri&data={id}_{frame}" ext:qtitle="{shortTitle}" ext:qtip="{ToolTip}" />', - '</tpl>', + '<tpl if="this.isRadio(type)">', + '<img src="pic/radio.png" ext:qtitle="{shortTitle}" ext:qtip="{ToolTip}" />', + '</tpl>', + '<tpl if="this.isRadio(type) == false">', + '<tpl if="frame == -1">', + '<img src="pic/movie.png" ext:qtitle="{shortTitle}" ext:qtip="{ToolTip}" />', + '</tpl>', + '<tpl if="frame != -1">', + '<img src="?cmd=ri&data={id}_{frame}" ext:qtitle="{shortTitle}" ext:qtip="{ToolTip}" />', + '</tpl>', + '</tpl>', '</tpl>', + '<tpl if="unviewed != 0">', + '<div class="unviewed"></div>', '</tpl>', - '<tpl if="unviewed != 0">', - '<div class="unviewed"></div>', - '</tpl>', - '</div>',
- '<span class="x-editable">{shortName}</span></div>',
- '</tpl>',
- '<div class="x-clear"></div>', { + '</div>',
+ '<span class="x-editable">{shortName}</span></div>',
+ '</tpl>',
+ '<div class="x-clear"></div>', { isRadio: function(name){ return name == 'RADIO'; } @@ -524,7 +524,7 @@ Ext.extend(Ext.xxv.recordingsDataView, Ext.DataView, { ,szFolderTip2 : "There are {0} recordings<br />Have {1} new recordings<br />Total time {2}" ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onBeforeLoad : function( scope, params ) { if(this.DetailsTransaction) @@ -687,12 +687,12 @@ Ext.extend(Ext.xxv.recordingsDataView, Ext.DataView, { if(toDetails.length) { toDetails += ','; } - var record = this.store.getById(selNode[i].id); - if(record.data.isrecording == 0) { + var r = this.store.getById(selNode[i].id); + if(r.data.isrecording == 0) { //toDetails += 'all:'; continue; } - toDetails += record.data.id; + toDetails += r.data.id; } } } @@ -778,7 +778,6 @@ Ext.extend(Ext.xxv.recordingsDataView, Ext.DataView, { var enable = XXV.help.cmdAllowed(f.itemId); if(enable) { switch(f.itemId) { - case 's': enable = (record.data.isrecording == 0) ? false : true; break; case 're': enable = (record.data.isrecording == 0) ? false : true; break; case 'rcu': enable = (record.data.isrecording == 0) ? false : true; break; case 'rpv': enable = (record.data.isrecording == 0) ? false : true; break; @@ -849,12 +848,12 @@ Ext.extend(Ext.xxv.recordingsDataView, Ext.DataView, { if(toCut.length) { toCut += ','; } - var record = this.store.getById(selNode[i].id); - if(record.data.isrecording == 0) { + var r = this.store.getById(selNode[i].id); + if(r.data.isrecording == 0) { //toCut += 'all:'; continue; } - toCut += record.data.id; + toCut += r.data.id; } } } @@ -936,11 +935,11 @@ Ext.extend(Ext.xxv.recordingsDataView, Ext.DataView, { if(todelete.length) { todelete += ','; } - var record = this.store.getById(selNode[i].id); - if(record.data.isrecording == 0) { + var r = this.store.getById(selNode[i].id); + if(r.data.isrecording == 0) { todelete += 'all:'; } - todelete += record.data.id; + todelete += r.data.id; } } } diff --git a/skins/jason/search.js b/skins/jason/search.js index a99d9c0..23c9279 100644 --- a/skins/jason/search.js +++ b/skins/jason/search.js @@ -120,7 +120,7 @@ Ext.extend(Ext.xxv.searchGrid, Ext.grid.GridPanel, { ,stateful: true ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onBeforeLoad : function( store, opt ) { this.preview.clear(); diff --git a/skins/jason/tabpanel.js b/skins/jason/tabpanel.js index df7096d..461dee3 100644 --- a/skins/jason/tabpanel.js +++ b/skins/jason/tabpanel.js @@ -152,7 +152,7 @@ Ext.extend(Ext.xxv.tabPanel, Ext.TabPanel, { var d = record.data;
var Woerter = d.title.split("~"); var title = Woerter[0]; - return this.openSearch(title); + this.openSearch(title); } ,Record : function(record){
if(!record || !record.data) return; @@ -162,7 +162,17 @@ Ext.extend(Ext.xxv.tabPanel, Ext.TabPanel, { if(!id) return; this.gridNow.RecordID(id); } - + ,openTeleText : function(name, data){ + var id = 'vt';
+ var tab;
+ if(!(tab = this.getItem(id))){ + tab = createTeleTextView(this,id,name,data); + } else { + //tab.LoadTitle(); + this.pageTeleText.reload(name, data); + } + this.setActiveTab(tab); + } ,openTab : function(id){ var tab;
if(!(tab = this.getItem(id))){ diff --git a/skins/jason/teletext.js b/skins/jason/teletext.js new file mode 100644 index 0000000..491a032 --- /dev/null +++ b/skins/jason/teletext.js @@ -0,0 +1,335 @@ +/*
+ * jason - Javascript based skin for xxv
+ * Copyright(c) 2009, anbr
+ *
+ * http://xxv.berlios.de/ + * + * $Id$ + */ +/******************************************************************************/ + +Ext.xxv.TeleTextStore = function(name, channel) { + + // create the data store + return new Ext.data.Store({ + title: name + ,baseParams:{cmd:'vt','channel':channel} + ,autoLoad:{params:{start:0, limit:99}} + ,reader: new Ext.xxv.jsonReader({
+ fields: [ + {name: 'id', type: 'string'}
+ ,{name: 'page', type: 'string'} + ,{name: 'subpage', type: 'string'} + ,{name: 'channel', type: 'string'}
+ ,{name: 'prev', type: 'string'} + ,{name: 'next', type: 'string'} + ,{name: 'mtime', type: 'string'} + ,{name: 'content', type: 'string'} + ] + }) + ,proxy : new Ext.data.HttpProxy({
+ url: XXV.help.baseURL()
+ ,method: 'POST'
+ }) + }); +}; + +Ext.xxv.TeleTextView = function(viewer, store, config) { + this.viewer = viewer; + Ext.apply(this, config);
+ this.store = store; + var tpl = new Ext.XTemplate( + '<tpl for=".">' + ,'<div class="thumb-wrap" id="{id}">'
+ ,'<div class="thumb">'
+ ,'{content}' + ,'</div>' + ,'</div>' + ,'</tpl>' + ,'<div class="x-clear"></div>' + ); + + this.filter = new Ext.ux.grid.Search({ + position:'owner' + ,shortcutKey:null + ,paramNames: { + fields:'cmd' + ,all:'vt' + ,cmd:'vs' + ,query:'data' + } + }); + + Ext.xxv.TeleTextView.superclass.constructor.call(this, { + region: 'center' + ,store: store + ,tpl: tpl + ,cls: 'x-panel-body' // workaround - add missing border + ,style: 'overflow:auto' + ,singleSelect: true + ,overClass:'x-view-over' + ,itemSelector:'div.thumb-wrap' + ,loadMask:true + ,listeners: {
+ 'beforeselect' : {fn:function(view){ return view.store.getRange().length > 0; } } + ,'selectionchange': {fn:this.doClick, scope:this, buffer:100}
+ } + ,plugins: [
+ this.filter + ]
+ } + ); + this.store.on({ + 'beforeload' : this.onBeforeLoad
+ ,'load' : this.onLoad
+ ,'loadexception' : this.onLoadException
+ ,scope:this
+ }); +}; + + +Ext.extend(Ext.xxv.TeleTextView, Ext.DataView, { + + szTitle : "Teletext" + ,szToolTip : "Display teletext pages" + ,szLoadException : "Couldn't get teletext pages!\r\n{0}" + + ,onLoadException : function( scope, o, arg, e) { + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); + var tb = this.ownerCt.getTopToolbar(); + tb.get('teletext-refresh').enable(); + } + ,onBeforeLoad : function( scope, params ) { + if(this.DetailsTransaction) + Ext.Ajax.abort(this.DetailsTransaction); + + if(this.el && this.el.dom) { + var elem = this.el.dom.getElementsByTagName('a'); + for (var j = 0; j < elem.length; j++) { + var node = Ext.fly(elem[j]); + node.removeAllListeners(); + } + } + var tb = this.ownerCt.getTopToolbar(); + tb.get('teletext-refresh').disable(); + } + ,onLoad : function( store, records, opt ) { + + // replace all anchor to pages with callback + if(this.el && this.el.dom) { + var elem = this.el.dom.getElementsByTagName('a'); + for (var j = 0; j < elem.length; j++) { + var url = Ext.urlDecode(elem[j].href); + if(url.page) { + elem[j].href = '#'; + elem[j].id = url.page; + + var node = Ext.fly(elem[j]); + node.on("click", function(e, ele){ + e.stopEvent(); + this.loadpage(ele.id);
+ },this); + } + } + } + + if(store.title) { + this.ownerCt.SetPanelTitle(this.szTitle + " - " + store.title); + } else { + this.ownerCt.SetPanelTitle(this.szTitle); + } + + var data = records[0].data; + var tb = this.ownerCt.getTopToolbar(); + tb.get('teletext-number').setValue(data.page); + tb.get('teletext-first').setDisabled(data.prev == 0); + tb.get('teletext-prev').setDisabled(data.prev == 0); + tb.get('teletext-next').setDisabled(data.next == 0); + //tb.get('teletext-last').setDisabled(true); + tb.get('teletext-refresh').enable(); + } + ,doClick : function(){
+ var selNode = this.getSelectedNodes();
+ if(selNode && selNode.length > 0){
+ var page = this.store.getById(selNode[0].id); + if(page) { + var tb = this.ownerCt.getTopToolbar(); + tb.get('teletext-number').setValue(page.data.page); + } + } + } + ,reload : function(name, channel) { + this.store.title = name; + this.store.baseParams.channel = channel; + this.moveFirst();
+ } + ,loadpage : function(page) { + var f = this.filter.field.getValue(); + if(f && f != '') { + this.filter.field.setValue(''); + this.store.baseParams.cmd = 'vt'; + } + if(page && page != 0) + this.store.load({params:{'page':page, start:0, limit:99}});
+ }
+ ,moveFirst : function() { + var f = this.filter.field.getValue(); + if(f && f != '') { + this.filter.field.setValue(''); + this.store.baseParams.cmd = 'vt'; + } + this.store.load({params:{start:0, limit:99}});
+ } + ,movePrev : function() { + var node = this.getNode(0); + if(node) { + var record = this.store.getById(node.id); + if(record) { + this.loadpage(record.data.prev); + } + }
+ } + ,moveNext : function() { + var node = this.getNode(0); + if(node) { + var record = this.store.getById(node.id); + if(record) { + this.loadpage(record.data.next); + } + }
+ } + ,moveLast : function() { + + } + ,retryPage : function() { + var node = this.getNode(0); + if(node) { + var record = this.store.getById(node.id); + if(record) { + this.store.load({params:{'page':record.data.page, start:0, limit:99}}); + return; + } + } + moveFirst();
+ } + ,readPage : function(record){ + var tb = this.ownerCt.getTopToolbar(); + var input = tb.get('teletext-number'); + var v = input.getValue(), pageNum; + if (!v || isNaN(pageNum = parseInt(v, 10))) { + input.setValue(record.data.page); + return false; + } + return pageNum; + } + ,onPagingBlur : function(e){ + var node = this.getNode(0); + if(node) { + var record = this.store.getById(node.id); + if(record) { + var tb = this.ownerCt.getTopToolbar(); + tb.get('teletext-number').setValue(record.data.page); + } + } + } + ,onPagingKeyDown : function(field, e){ + var node = this.getNode(0); + if(!node) return; + var record = this.store.getById(node.id); + if(!record) return; + + var k = e.getKey(), pageNum; + if (k == e.RETURN) { + e.stopEvent(); + pageNum = this.readPage(record); + if(pageNum !== false){ + this.loadpage(pageNum); + } + }else if (k == e.HOME) { + e.stopEvent(); + this.moveFirst(); + }else if (k == e.END) { + e.stopEvent(); + this.moveLast(); + }else if (k == e.UP || k == e.PAGEUP || k == e.DOWN || k == e.PAGEDOWN){ + e.stopEvent(); + if(k == e.DOWN || k == e.PAGEDOWN){ + this.moveNext(); + } else { + this.movePrev(); + } + } + } +}); + +function createTeleTextView(viewer,id,name, channel) { + + viewer.pageTeleText = new Ext.xxv.TeleTextView( + viewer, + new Ext.xxv.TeleTextStore(name, channel), + { id: 'teletext-view-page' }); + + var tab = new Ext.xxv.Panel({
+ id: id + ,iconCls:"teletext-icon" + ,closable:true
+ ,border:false + ,layout:'border'
+ ,stateful:true
+ ,hideMode:'offsets'
+ ,items:[ viewer.pageTeleText ] + ,tbar:new Ext.Toolbar({ + items: [ + { + id: 'teletext-first'
,iconCls: 'x-tbar-page-first'
+ ,tooltip: Ext.PagingToolbar.prototype.firstText
+ ,scope: viewer.pageTeleText
,disabled:true
+ ,handler: viewer.pageTeleText.moveFirst
+ },{ + id: 'teletext-prev'
,iconCls: 'x-tbar-page-prev'
+ ,tooltip: Ext.PagingToolbar.prototype.prevText
+ ,scope: viewer.pageTeleText
,disabled:true
+ ,handler: viewer.pageTeleText.movePrev
+ },'-',{ + xtype: 'tbtext', text: Ext.PagingToolbar.prototype.beforePageText + },{ + id: 'teletext-number' + ,cls: "x-tbar-page-number" + ,xtype: 'numberfield' + ,allowDecimals: false + ,allowNegative: false + ,emptyText: Ext.PagingToolbar.prototype.emptyMsg + ,enableKeyEvents: true + ,selectOnFocus: true + ,listeners: { + scope: viewer.pageTeleText, + keydown: viewer.pageTeleText.onPagingKeyDown, + blur: viewer.pageTeleText.onPagingBlur + } + },'-',{ + id: 'teletext-next' + ,iconCls: 'x-tbar-page-next'
+ ,tooltip: Ext.PagingToolbar.prototype.nextText
+ ,scope: viewer.pageTeleText
,disabled:true
+ ,handler: viewer.pageTeleText.moveNext
+ },{ + id: 'teletext-last' + ,iconCls: 'x-tbar-page-last'
+ ,tooltip: Ext.PagingToolbar.prototype.lastText
+ ,scope: viewer.pageTeleText
,disabled:true
+ ,handler: viewer.pageTeleText.moveLast
+ },'-',{ + id: 'teletext-refresh' + ,iconCls: 'x-tbar-loading'
+ ,tooltip: Ext.PagingToolbar.prototype.refreshText
+ ,scope: viewer.pageTeleText
,disabled:false
+ ,handler: viewer.pageTeleText.retryPage
+ },'->' + ] + }) + });
+ + viewer.add(tab); + return tab; +} + diff --git a/skins/jason/timers.js b/skins/jason/timers.js index 71473d7..7b66dbf 100644 --- a/skins/jason/timers.js +++ b/skins/jason/timers.js @@ -221,7 +221,7 @@ Ext.extend(Ext.xxv.timerGrid, Ext.grid.GridPanel, { // Ext.grid.EditorGridPanel ,stateful: true ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onBeforeLoad : function( store, opt ) { this.preview.clear(); diff --git a/skins/jason/users.js b/skins/jason/users.js index 22f66b7..06569a2 100644 --- a/skins/jason/users.js +++ b/skins/jason/users.js @@ -115,7 +115,7 @@ Ext.extend(Ext.xxv.usersGrid, Ext.grid.EditorGridPanel, { ,stateful: true ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onLoad : function( store, records, opt ) { this.getSelectionModel().selectFirstRow(); diff --git a/skins/jason/ux/Carousel.js b/skins/jason/ux/Carousel.js index bd1626d..9c1ace0 100644 --- a/skins/jason/ux/Carousel.js +++ b/skins/jason/ux/Carousel.js @@ -325,6 +325,7 @@ Ext.ux.layout.Carousel = Ext.extend(Ext.layout.ContainerLayout, { } } } + return null; }, getNextOnRight: function() { @@ -337,6 +338,7 @@ Ext.ux.layout.Carousel = Ext.extend(Ext.layout.ContainerLayout, { } } } + return null; }, /** @@ -444,6 +446,7 @@ Ext.ux.layout.Carousel = Ext.extend(Ext.layout.ContainerLayout, { } else { return (dir == -1) ? pos - this.scrollIncrement : pos + this.scrollIncrement; } + return 0; }, // private diff --git a/skins/jason/ux/DDView.js b/skins/jason/ux/DDView.js index a976bbd..cadbefd 100644 --- a/skins/jason/ux/DDView.js +++ b/skins/jason/ux/DDView.js @@ -579,6 +579,7 @@ Ext.extend(Ext.ux.DDView, Ext.DataView, { } } } + return true; }, // private @@ -586,7 +587,7 @@ Ext.extend(Ext.ux.DDView, Ext.DataView, { // The DragZone's mousedown->getDragData already handled selection if (this.ignoreNextClick) { delete this.ignoreNextClick; - return; + return false; } if(this.fireEvent("beforeclick", this, index, item, e) === false){ diff --git a/skins/jason/ux/Multiselect.js b/skins/jason/ux/Multiselect.js index d52dbe8..879906d 100644 --- a/skins/jason/ux/Multiselect.js +++ b/skins/jason/ux/Multiselect.js @@ -230,6 +230,7 @@ Ext.ux.Multiselect = Ext.extend(Ext.form.Field, { onViewBeforeClick: function(vw, index, node, e) { this.preClickSelections = this.view.getSelectedIndexes(); if (this.disabled) {return false;} + return true; }, // private diff --git a/skins/jason/ux/SlideZone.js b/skins/jason/ux/SlideZone.js index 520797b..3932525 100644 --- a/skins/jason/ux/SlideZone.js +++ b/skins/jason/ux/SlideZone.js @@ -14,9 +14,10 @@ Ext.ux.SlideZone = function(id, config) { if(id) { Ext.apply(this, config); - this.init(id, config || {}); + this.init(id, config || {}); + return this; } else { - return false; + return null; } } @@ -128,6 +129,7 @@ Ext.extend(Ext.ux.SlideZone, Ext.BoxComponent, { } break; } + return null; }, @@ -366,37 +368,32 @@ Ext.extend(Ext.ux.Slider, Ext.BoxComponent, { switch(this.type) { case 'horizontal': return [this.el.getX()]; - break; case 'vertical': return [this.el.getY()]; - break; case 'area': return this.el.getXY(); - break; } + return null; }, getBR: function() { switch(this.type) { case 'horizontal': return [this.el.getRight()]; - break; case 'vertical': return [this.el.getBottom()]; - break; case 'area': return [this.el.getRight(), this.el.getBottom()]; - break; } - + return null; }, setPosition: function(position) { - var l = position.length; + var i,l = position.length; for (i=0; i<l; i++) { position[i] = parseInt(position[i]); } @@ -419,7 +416,7 @@ Ext.extend(Ext.ux.Slider, Ext.BoxComponent, { setConstraint: function(low, high, snap) { if(this.allowMove) { - var l = low.length; + var i,l = low.length; for (i=0; i<l; i++) { low[i] = parseInt(low[i] = low[i] < 0 ? 0 : low[i]); high[i] = parseInt(high[i] = high[i] < 0 ? 0 : high[i]); diff --git a/skins/jason/ux/TabCloseMenu.js b/skins/jason/ux/TabCloseMenu.js index 09d3678..803e2fe 100644 --- a/skins/jason/ux/TabCloseMenu.js +++ b/skins/jason/ux/TabCloseMenu.js @@ -43,10 +43,10 @@ Ext.ux.TabCloseMenu = function(){ tabs.items.each(function(){
if(this != item && this.closable){
disableOthers = false;
- return false;
+ return;
}
});
items.get(tabs.id + '-close-others').setDisabled(disableOthers);
- menu.showAt(e.getPoint());
+ menu.showAt(e.getPoint()); }
}; diff --git a/skins/jason/vdr.js b/skins/jason/vdr.js index f780ba8..38fa447 100644 --- a/skins/jason/vdr.js +++ b/skins/jason/vdr.js @@ -135,7 +135,7 @@ Ext.extend(Ext.xxv.vdrGrid, Ext.grid.EditorGridPanel, { ,stateful: true ,onLoadException : function( scope, o, arg, e) { - new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e); + new Ext.xxv.MessageBox().msgFailure(this.szLoadException, e.message); } ,onLoad : function( store, records, opt ) { this.getSelectionModel().selectFirstRow(); diff --git a/skins/jason/vtxgfx.css b/skins/jason/vtxgfx.css new file mode 100644 index 0000000..f200682 --- /dev/null +++ b/skins/jason/vtxgfx.css @@ -0,0 +1,546 @@ +#vt p.vtx { +font-size:16px; +line-height:18px; +font-family:monospace; +white-space:nowrap; +} + +#vt a.vtx:link,a.vtx:visited,a.vtx:hover,a.vtx:active { +text-decoration:none; +} + +#vt a.vtx:link,a.vtx:visited { +color:#0F0; +} + +#vt a.vtx:hover,a.vtx:active { +color:#FF0; +} + +.vtgfx { +width:12px; +height:18px; +background-image:url(pic/vtxgfx.gif); +background-repeat:no-repeat; +} + +.white20{ background-position:0 0;} +.white21{ background-position:0 -18px;} +.white22{ background-position:0 -36px;} +.white23{ background-position:0 -54px;} +.white24{ background-position:0 -72px;} +.white25{ background-position:0 -90px;} +.white26{ background-position:0 -108px;} +.white27{ background-position:0 -126px;} +.white28{ background-position:0 -144px;} +.white29{ background-position:0 -162px;} +.white2A{ background-position:0 -180px;} +.white2B{ background-position:0 -198px;} +.white2C{ background-position:0 -216px;} +.white2D{ background-position:0 -234px;} +.white2E{ background-position:0 -252px;} +.white2F{ background-position:0 -270px;} +.white30{ background-position:0 -288px;} +.white31{ background-position:0 -306px;} +.white32{ background-position:0 -324px;} +.white33{ background-position:0 -342px;} +.white34{ background-position:0 -360px;} +.white35{ background-position:0 -378px;} +.white36{ background-position:0 -396px;} +.white37{ background-position:0 -414px;} +.white38{ background-position:0 -432px;} +.white39{ background-position:0 -450px;} +.white3A{ background-position:0 -468px;} +.white3B{ background-position:0 -486px;} +.white3C{ background-position:0 -504px;} +.white3D{ background-position:0 -522px;} +.white3E{ background-position:0 -540px;} +.white3F{ background-position:0 -558px;} +.white60{ background-position:0 -576px;} +.white61{ background-position:0 -594px;} +.white62{ background-position:0 -612px;} +.white63{ background-position:0 -630px;} +.white64{ background-position:0 -648px;} +.white65{ background-position:0 -666px;} +.white66{ background-position:0 -684px;} +.white67{ background-position:0 -702px;} +.white68{ background-position:0 -720px;} +.white69{ background-position:0 -738px;} +.white6A{ background-position:0 -756px;} +.white6B{ background-position:0 -774px;} +.white6C{ background-position:0 -792px;} +.white6D{ background-position:0 -810px;} +.white6E{ background-position:0 -828px;} +.white6F{ background-position:0 -846px;} +.white70{ background-position:0 -864px;} +.white71{ background-position:0 -882px;} +.white72{ background-position:0 -900px;} +.white73{ background-position:0 -918px;} +.white74{ background-position:0 -936px;} +.white75{ background-position:0 -954px;} +.white76{ background-position:0 -972px;} +.white77{ background-position:0 -990px;} +.white78{ background-position:0 -1008px;} +.white79{ background-position:0 -1026px;} +.white7A{ background-position:0 -1044px;} +.white7B{ background-position:0 -1062px;} +.white7C{ background-position:0 -1080px;} +.white7D{ background-position:0 -1098px;} +.white7E{ background-position:0 -1116px;} +.white7F{ background-position:0 -1134px;} + +.black20{ background-position:-12px 0px;} +.black21{ background-position:-12px -18px;} +.black22{ background-position:-12px -36px;} +.black23{ background-position:-12px -54px;} +.black24{ background-position:-12px -72px;} +.black25{ background-position:-12px -90px;} +.black26{ background-position:-12px -108px;} +.black27{ background-position:-12px -126px;} +.black28{ background-position:-12px -144px;} +.black29{ background-position:-12px -162px;} +.black2A{ background-position:-12px -180px;} +.black2B{ background-position:-12px -198px;} +.black2C{ background-position:-12px -216px;} +.black2D{ background-position:-12px -234px;} +.black2E{ background-position:-12px -252px;} +.black2F{ background-position:-12px -270px;} +.black30{ background-position:-12px -288px;} +.black31{ background-position:-12px -306px;} +.black32{ background-position:-12px -324px;} +.black33{ background-position:-12px -342px;} +.black34{ background-position:-12px -360px;} +.black35{ background-position:-12px -378px;} +.black36{ background-position:-12px -396px;} +.black37{ background-position:-12px -414px;} +.black38{ background-position:-12px -432px;} +.black39{ background-position:-12px -450px;} +.black3A{ background-position:-12px -468px;} +.black3B{ background-position:-12px -486px;} +.black3C{ background-position:-12px -504px;} +.black3D{ background-position:-12px -522px;} +.black3E{ background-position:-12px -540px;} +.black3F{ background-position:-12px -558px;} +.black60{ background-position:-12px -576px;} +.black61{ background-position:-12px -594px;} +.black62{ background-position:-12px -612px;} +.black63{ background-position:-12px -630px;} +.black64{ background-position:-12px -648px;} +.black65{ background-position:-12px -666px;} +.black66{ background-position:-12px -684px;} +.black67{ background-position:-12px -702px;} +.black68{ background-position:-12px -720px;} +.black69{ background-position:-12px -738px;} +.black6A{ background-position:-12px -756px;} +.black6B{ background-position:-12px -774px;} +.black6C{ background-position:-12px -792px;} +.black6D{ background-position:-12px -810px;} +.black6E{ background-position:-12px -828px;} +.black6F{ background-position:-12px -846px;} +.black70{ background-position:-12px -864px;} +.black71{ background-position:-12px -882px;} +.black72{ background-position:-12px -900px;} +.black73{ background-position:-12px -918px;} +.black74{ background-position:-12px -936px;} +.black75{ background-position:-12px -954px;} +.black76{ background-position:-12px -972px;} +.black77{ background-position:-12px -990px;} +.black78{ background-position:-12px -1008px;} +.black79{ background-position:-12px -1026px;} +.black7A{ background-position:-12px -1044px;} +.black7B{ background-position:-12px -1062px;} +.black7C{ background-position:-12px -1080px;} +.black7D{ background-position:-12px -1098px;} +.black7E{ background-position:-12px -1116px;} +.black7F{ background-position:-12px -1134px;} + +.red20{ background-position:-24px 0px;} +.red21{ background-position:-24px -18px;} +.red22{ background-position:-24px -36px;} +.red23{ background-position:-24px -54px;} +.red24{ background-position:-24px -72px;} +.red25{ background-position:-24px -90px;} +.red26{ background-position:-24px -108px;} +.red27{ background-position:-24px -126px;} +.red28{ background-position:-24px -144px;} +.red29{ background-position:-24px -162px;} +.red2A{ background-position:-24px -180px;} +.red2B{ background-position:-24px -198px;} +.red2C{ background-position:-24px -216px;} +.red2D{ background-position:-24px -234px;} +.red2E{ background-position:-24px -252px;} +.red2F{ background-position:-24px -270px;} +.red30{ background-position:-24px -288px;} +.red31{ background-position:-24px -306px;} +.red32{ background-position:-24px -324px;} +.red33{ background-position:-24px -342px;} +.red34{ background-position:-24px -360px;} +.red35{ background-position:-24px -378px;} +.red36{ background-position:-24px -396px;} +.red37{ background-position:-24px -414px;} +.red38{ background-position:-24px -432px;} +.red39{ background-position:-24px -450px;} +.red3A{ background-position:-24px -468px;} +.red3B{ background-position:-24px -486px;} +.red3C{ background-position:-24px -504px;} +.red3D{ background-position:-24px -522px;} +.red3E{ background-position:-24px -540px;} +.red3F{ background-position:-24px -558px;} +.red60{ background-position:-24px -576px;} +.red61{ background-position:-24px -594px;} +.red62{ background-position:-24px -612px;} +.red63{ background-position:-24px -630px;} +.red64{ background-position:-24px -648px;} +.red65{ background-position:-24px -666px;} +.red66{ background-position:-24px -684px;} +.red67{ background-position:-24px -702px;} +.red68{ background-position:-24px -720px;} +.red69{ background-position:-24px -738px;} +.red6A{ background-position:-24px -756px;} +.red6B{ background-position:-24px -774px;} +.red6C{ background-position:-24px -792px;} +.red6D{ background-position:-24px -810px;} +.red6E{ background-position:-24px -828px;} +.red6F{ background-position:-24px -846px;} +.red70{ background-position:-24px -864px;} +.red71{ background-position:-24px -882px;} +.red72{ background-position:-24px -900px;} +.red73{ background-position:-24px -918px;} +.red74{ background-position:-24px -936px;} +.red75{ background-position:-24px -954px;} +.red76{ background-position:-24px -972px;} +.red77{ background-position:-24px -990px;} +.red78{ background-position:-24px -1008px;} +.red79{ background-position:-24px -1026px;} +.red7A{ background-position:-24px -1044px;} +.red7B{ background-position:-24px -1062px;} +.red7C{ background-position:-24px -1080px;} +.red7D{ background-position:-24px -1098px;} +.red7E{ background-position:-24px -1116px;} +.red7F{ background-position:-24px -1134px;} + +.blue20{ background-position:-36px 0px;} +.blue21{ background-position:-36px -18px;} +.blue22{ background-position:-36px -36px;} +.blue23{ background-position:-36px -54px;} +.blue24{ background-position:-36px -72px;} +.blue25{ background-position:-36px -90px;} +.blue26{ background-position:-36px -108px;} +.blue27{ background-position:-36px -126px;} +.blue28{ background-position:-36px -144px;} +.blue29{ background-position:-36px -162px;} +.blue2A{ background-position:-36px -180px;} +.blue2B{ background-position:-36px -198px;} +.blue2C{ background-position:-36px -216px;} +.blue2D{ background-position:-36px -234px;} +.blue2E{ background-position:-36px -252px;} +.blue2F{ background-position:-36px -270px;} +.blue30{ background-position:-36px -288px;} +.blue31{ background-position:-36px -306px;} +.blue32{ background-position:-36px -324px;} +.blue33{ background-position:-36px -342px;} +.blue34{ background-position:-36px -360px;} +.blue35{ background-position:-36px -378px;} +.blue36{ background-position:-36px -396px;} +.blue37{ background-position:-36px -414px;} +.blue38{ background-position:-36px -432px;} +.blue39{ background-position:-36px -450px;} +.blue3A{ background-position:-36px -468px;} +.blue3B{ background-position:-36px -486px;} +.blue3C{ background-position:-36px -504px;} +.blue3D{ background-position:-36px -522px;} +.blue3E{ background-position:-36px -540px;} +.blue3F{ background-position:-36px -558px;} +.blue60{ background-position:-36px -576px;} +.blue61{ background-position:-36px -594px;} +.blue62{ background-position:-36px -612px;} +.blue63{ background-position:-36px -630px;} +.blue64{ background-position:-36px -648px;} +.blue65{ background-position:-36px -666px;} +.blue66{ background-position:-36px -684px;} +.blue67{ background-position:-36px -702px;} +.blue68{ background-position:-36px -720px;} +.blue69{ background-position:-36px -738px;} +.blue6A{ background-position:-36px -756px;} +.blue6B{ background-position:-36px -774px;} +.blue6C{ background-position:-36px -792px;} +.blue6D{ background-position:-36px -810px;} +.blue6E{ background-position:-36px -828px;} +.blue6F{ background-position:-36px -846px;} +.blue70{ background-position:-36px -864px;} +.blue71{ background-position:-36px -882px;} +.blue72{ background-position:-36px -900px;} +.blue73{ background-position:-36px -918px;} +.blue74{ background-position:-36px -936px;} +.blue75{ background-position:-36px -954px;} +.blue76{ background-position:-36px -972px;} +.blue77{ background-position:-36px -990px;} +.blue78{ background-position:-36px -1008px;} +.blue79{ background-position:-36px -1026px;} +.blue7A{ background-position:-36px -1044px;} +.blue7B{ background-position:-36px -1062px;} +.blue7C{ background-position:-36px -1080px;} +.blue7D{ background-position:-36px -1098px;} +.blue7E{ background-position:-36px -1116px;} +.blue7F{ background-position:-36px -1134px;} + +.yellow20{ background-position:-48px 0px;} +.yellow21{ background-position:-48px -18px;} +.yellow22{ background-position:-48px -36px;} +.yellow23{ background-position:-48px -54px;} +.yellow24{ background-position:-48px -72px;} +.yellow25{ background-position:-48px -90px;} +.yellow26{ background-position:-48px -108px;} +.yellow27{ background-position:-48px -126px;} +.yellow28{ background-position:-48px -144px;} +.yellow29{ background-position:-48px -162px;} +.yellow2A{ background-position:-48px -180px;} +.yellow2B{ background-position:-48px -198px;} +.yellow2C{ background-position:-48px -216px;} +.yellow2D{ background-position:-48px -234px;} +.yellow2E{ background-position:-48px -252px;} +.yellow2F{ background-position:-48px -270px;} +.yellow30{ background-position:-48px -288px;} +.yellow31{ background-position:-48px -306px;} +.yellow32{ background-position:-48px -324px;} +.yellow33{ background-position:-48px -342px;} +.yellow34{ background-position:-48px -360px;} +.yellow35{ background-position:-48px -378px;} +.yellow36{ background-position:-48px -396px;} +.yellow37{ background-position:-48px -414px;} +.yellow38{ background-position:-48px -432px;} +.yellow39{ background-position:-48px -450px;} +.yellow3A{ background-position:-48px -468px;} +.yellow3B{ background-position:-48px -486px;} +.yellow3C{ background-position:-48px -504px;} +.yellow3D{ background-position:-48px -522px;} +.yellow3E{ background-position:-48px -540px;} +.yellow3F{ background-position:-48px -558px;} +.yellow60{ background-position:-48px -576px;} +.yellow61{ background-position:-48px -594px;} +.yellow62{ background-position:-48px -612px;} +.yellow63{ background-position:-48px -630px;} +.yellow64{ background-position:-48px -648px;} +.yellow65{ background-position:-48px -666px;} +.yellow66{ background-position:-48px -684px;} +.yellow67{ background-position:-48px -702px;} +.yellow68{ background-position:-48px -720px;} +.yellow69{ background-position:-48px -738px;} +.yellow6A{ background-position:-48px -756px;} +.yellow6B{ background-position:-48px -774px;} +.yellow6C{ background-position:-48px -792px;} +.yellow6D{ background-position:-48px -810px;} +.yellow6E{ background-position:-48px -828px;} +.yellow6F{ background-position:-48px -846px;} +.yellow70{ background-position:-48px -864px;} +.yellow71{ background-position:-48px -882px;} +.yellow72{ background-position:-48px -900px;} +.yellow73{ background-position:-48px -918px;} +.yellow74{ background-position:-48px -936px;} +.yellow75{ background-position:-48px -954px;} +.yellow76{ background-position:-48px -972px;} +.yellow77{ background-position:-48px -990px;} +.yellow78{ background-position:-48px -1008px;} +.yellow79{ background-position:-48px -1026px;} +.yellow7A{ background-position:-48px -1044px;} +.yellow7B{ background-position:-48px -1062px;} +.yellow7C{ background-position:-48px -1080px;} +.yellow7D{ background-position:-48px -1098px;} +.yellow7E{ background-position:-48px -1116px;} +.yellow7F{ background-position:-48px -1134px;} + +.green20{ background-position:-60px 0px;} +.green21{ background-position:-60px -18px;} +.green22{ background-position:-60px -36px;} +.green23{ background-position:-60px -54px;} +.green24{ background-position:-60px -72px;} +.green25{ background-position:-60px -90px;} +.green26{ background-position:-60px -108px;} +.green27{ background-position:-60px -126px;} +.green28{ background-position:-60px -144px;} +.green29{ background-position:-60px -162px;} +.green2A{ background-position:-60px -180px;} +.green2B{ background-position:-60px -198px;} +.green2C{ background-position:-60px -216px;} +.green2D{ background-position:-60px -234px;} +.green2E{ background-position:-60px -252px;} +.green2F{ background-position:-60px -270px;} +.green30{ background-position:-60px -288px;} +.green31{ background-position:-60px -306px;} +.green32{ background-position:-60px -324px;} +.green33{ background-position:-60px -342px;} +.green34{ background-position:-60px -360px;} +.green35{ background-position:-60px -378px;} +.green36{ background-position:-60px -396px;} +.green37{ background-position:-60px -414px;} +.green38{ background-position:-60px -432px;} +.green39{ background-position:-60px -450px;} +.green3A{ background-position:-60px -468px;} +.green3B{ background-position:-60px -486px;} +.green3C{ background-position:-60px -504px;} +.green3D{ background-position:-60px -522px;} +.green3E{ background-position:-60px -540px;} +.green3F{ background-position:-60px -558px;} +.green60{ background-position:-60px -576px;} +.green61{ background-position:-60px -594px;} +.green62{ background-position:-60px -612px;} +.green63{ background-position:-60px -630px;} +.green64{ background-position:-60px -648px;} +.green65{ background-position:-60px -666px;} +.green66{ background-position:-60px -684px;} +.green67{ background-position:-60px -702px;} +.green68{ background-position:-60px -720px;} +.green69{ background-position:-60px -738px;} +.green6A{ background-position:-60px -756px;} +.green6B{ background-position:-60px -774px;} +.green6C{ background-position:-60px -792px;} +.green6D{ background-position:-60px -810px;} +.green6E{ background-position:-60px -828px;} +.green6F{ background-position:-60px -846px;} +.green70{ background-position:-60px -864px;} +.green71{ background-position:-60px -882px;} +.green72{ background-position:-60px -900px;} +.green73{ background-position:-60px -918px;} +.green74{ background-position:-60px -936px;} +.green75{ background-position:-60px -954px;} +.green76{ background-position:-60px -972px;} +.green77{ background-position:-60px -990px;} +.green78{ background-position:-60px -1008px;} +.green79{ background-position:-60px -1026px;} +.green7A{ background-position:-60px -1044px;} +.green7B{ background-position:-60px -1062px;} +.green7C{ background-position:-60px -1080px;} +.green7D{ background-position:-60px -1098px;} +.green7E{ background-position:-60px -1116px;} +.green7F{ background-position:-60px -1134px;} + +.cyan20{ background-position:-72px 0px;} +.cyan21{ background-position:-72px -18px;} +.cyan22{ background-position:-72px -36px;} +.cyan23{ background-position:-72px -54px;} +.cyan24{ background-position:-72px -72px;} +.cyan25{ background-position:-72px -90px;} +.cyan26{ background-position:-72px -108px;} +.cyan27{ background-position:-72px -126px;} +.cyan28{ background-position:-72px -144px;} +.cyan29{ background-position:-72px -162px;} +.cyan2A{ background-position:-72px -180px;} +.cyan2B{ background-position:-72px -198px;} +.cyan2C{ background-position:-72px -216px;} +.cyan2D{ background-position:-72px -234px;} +.cyan2E{ background-position:-72px -252px;} +.cyan2F{ background-position:-72px -270px;} +.cyan30{ background-position:-72px -288px;} +.cyan31{ background-position:-72px -306px;} +.cyan32{ background-position:-72px -324px;} +.cyan33{ background-position:-72px -342px;} +.cyan34{ background-position:-72px -360px;} +.cyan35{ background-position:-72px -378px;} +.cyan36{ background-position:-72px -396px;} +.cyan37{ background-position:-72px -414px;} +.cyan38{ background-position:-72px -432px;} +.cyan39{ background-position:-72px -450px;} +.cyan3A{ background-position:-72px -468px;} +.cyan3B{ background-position:-72px -486px;} +.cyan3C{ background-position:-72px -504px;} +.cyan3D{ background-position:-72px -522px;} +.cyan3E{ background-position:-72px -540px;} +.cyan3F{ background-position:-72px -558px;} +.cyan60{ background-position:-72px -576px;} +.cyan61{ background-position:-72px -594px;} +.cyan62{ background-position:-72px -612px;} +.cyan63{ background-position:-72px -630px;} +.cyan64{ background-position:-72px -648px;} +.cyan65{ background-position:-72px -666px;} +.cyan66{ background-position:-72px -684px;} +.cyan67{ background-position:-72px -702px;} +.cyan68{ background-position:-72px -720px;} +.cyan69{ background-position:-72px -738px;} +.cyan6A{ background-position:-72px -756px;} +.cyan6B{ background-position:-72px -774px;} +.cyan6C{ background-position:-72px -792px;} +.cyan6D{ background-position:-72px -810px;} +.cyan6E{ background-position:-72px -828px;} +.cyan6F{ background-position:-72px -846px;} +.cyan70{ background-position:-72px -864px;} +.cyan71{ background-position:-72px -882px;} +.cyan72{ background-position:-72px -900px;} +.cyan73{ background-position:-72px -918px;} +.cyan74{ background-position:-72px -936px;} +.cyan75{ background-position:-72px -954px;} +.cyan76{ background-position:-72px -972px;} +.cyan77{ background-position:-72px -990px;} +.cyan78{ background-position:-72px -1008px;} +.cyan79{ background-position:-72px -1026px;} +.cyan7A{ background-position:-72px -1044px;} +.cyan7B{ background-position:-72px -1062px;} +.cyan7C{ background-position:-72px -1080px;} +.cyan7D{ background-position:-72px -1098px;} +.cyan7E{ background-position:-72px -1116px;} +.cyan7F{ background-position:-72px -1134px;} + +.magenta20{ background-position:-84px 0px;} +.magenta21{ background-position:-84px -18px;} +.magenta22{ background-position:-84px -36px;} +.magenta23{ background-position:-84px -54px;} +.magenta24{ background-position:-84px -72px;} +.magenta25{ background-position:-84px -90px;} +.magenta26{ background-position:-84px -108px;} +.magenta27{ background-position:-84px -126px;} +.magenta28{ background-position:-84px -144px;} +.magenta29{ background-position:-84px -162px;} +.magenta2A{ background-position:-84px -180px;} +.magenta2B{ background-position:-84px -198px;} +.magenta2C{ background-position:-84px -216px;} +.magenta2D{ background-position:-84px -234px;} +.magenta2E{ background-position:-84px -252px;} +.magenta2F{ background-position:-84px -270px;} +.magenta30{ background-position:-84px -288px;} +.magenta31{ background-position:-84px -306px;} +.magenta32{ background-position:-84px -324px;} +.magenta33{ background-position:-84px -342px;} +.magenta34{ background-position:-84px -360px;} +.magenta35{ background-position:-84px -378px;} +.magenta36{ background-position:-84px -396px;} +.magenta37{ background-position:-84px -414px;} +.magenta38{ background-position:-84px -432px;} +.magenta39{ background-position:-84px -450px;} +.magenta3A{ background-position:-84px -468px;} +.magenta3B{ background-position:-84px -486px;} +.magenta3C{ background-position:-84px -504px;} +.magenta3D{ background-position:-84px -522px;} +.magenta3E{ background-position:-84px -540px;} +.magenta3F{ background-position:-84px -558px;} +.magenta60{ background-position:-84px -576px;} +.magenta61{ background-position:-84px -594px;} +.magenta62{ background-position:-84px -612px;} +.magenta63{ background-position:-84px -630px;} +.magenta64{ background-position:-84px -648px;} +.magenta65{ background-position:-84px -666px;} +.magenta66{ background-position:-84px -684px;} +.magenta67{ background-position:-84px -702px;} +.magenta68{ background-position:-84px -720px;} +.magenta69{ background-position:-84px -738px;} +.magenta6A{ background-position:-84px -756px;} +.magenta6B{ background-position:-84px -774px;} +.magenta6C{ background-position:-84px -792px;} +.magenta6D{ background-position:-84px -810px;} +.magenta6E{ background-position:-84px -828px;} +.magenta6F{ background-position:-84px -846px;} +.magenta70{ background-position:-84px -864px;} +.magenta71{ background-position:-84px -882px;} +.magenta72{ background-position:-84px -900px;} +.magenta73{ background-position:-84px -918px;} +.magenta74{ background-position:-84px -936px;} +.magenta75{ background-position:-84px -954px;} +.magenta76{ background-position:-84px -972px;} +.magenta77{ background-position:-84px -990px;} +.magenta78{ background-position:-84px -1008px;} +.magenta79{ background-position:-84px -1026px;} +.magenta7A{ background-position:-84px -1044px;} +.magenta7B{ background-position:-84px -1062px;} +.magenta7C{ background-position:-84px -1080px;} +.magenta7D{ background-position:-84px -1098px;} +.magenta7E{ background-position:-84px -1116px;} +.magenta7F{ background-position:-84px -1134px;} + diff --git a/skins/jason/widgets/littlemenu.tmpl b/skins/jason/widgets/littlemenu.tmpl new file mode 100644 index 0000000..58cc38f --- /dev/null +++ b/skins/jason/widgets/littlemenu.tmpl @@ -0,0 +1,2 @@ +<!-- LittleMenuTemplate --> + diff --git a/skins/jason/widgets/message.tmpl b/skins/jason/widgets/message.tmpl new file mode 100644 index 0000000..afffe69 --- /dev/null +++ b/skins/jason/widgets/message.tmpl @@ -0,0 +1,3 @@ +<!-- MessageTemplate --> +<?% data.join('<br />') %?><br /> + diff --git a/skins/lcars/images/vtxgfx.gif b/skins/lcars/images/vtxgfx.gif new file mode 120000 index 0000000..484c3e7 --- /dev/null +++ b/skins/lcars/images/vtxgfx.gif @@ -0,0 +1 @@ +../../stone/images/vtxgfx.gif
\ No newline at end of file diff --git a/skins/lcars/vtxgfx.css b/skins/lcars/vtxgfx.css new file mode 120000 index 0000000..a17deb6 --- /dev/null +++ b/skins/lcars/vtxgfx.css @@ -0,0 +1 @@ +../stone/vtxgfx.css
\ No newline at end of file diff --git a/skins/lcars/vtxpage.tmpl b/skins/lcars/vtxpage.tmpl new file mode 120000 index 0000000..34c6245 --- /dev/null +++ b/skins/lcars/vtxpage.tmpl @@ -0,0 +1 @@ +../stone/vtxpage.tmpl
\ No newline at end of file diff --git a/skins/lcars_flat/vtxgfx.css b/skins/lcars_flat/vtxgfx.css new file mode 120000 index 0000000..a17deb6 --- /dev/null +++ b/skins/lcars_flat/vtxgfx.css @@ -0,0 +1 @@ +../stone/vtxgfx.css
\ No newline at end of file diff --git a/skins/lcars_flat/vtxpage.tmpl b/skins/lcars_flat/vtxpage.tmpl new file mode 120000 index 0000000..34c6245 --- /dev/null +++ b/skins/lcars_flat/vtxpage.tmpl @@ -0,0 +1 @@ +../stone/vtxpage.tmpl
\ No newline at end of file diff --git a/skins/snow/images/vtxgfx.gif b/skins/snow/images/vtxgfx.gif new file mode 120000 index 0000000..484c3e7 --- /dev/null +++ b/skins/snow/images/vtxgfx.gif @@ -0,0 +1 @@ +../../stone/images/vtxgfx.gif
\ No newline at end of file diff --git a/skins/snow/vtxgfx.css b/skins/snow/vtxgfx.css new file mode 120000 index 0000000..a17deb6 --- /dev/null +++ b/skins/snow/vtxgfx.css @@ -0,0 +1 @@ +../stone/vtxgfx.css
\ No newline at end of file diff --git a/skins/snow/vtxpage.tmpl b/skins/snow/vtxpage.tmpl new file mode 120000 index 0000000..34c6245 --- /dev/null +++ b/skins/snow/vtxpage.tmpl @@ -0,0 +1 @@ +../stone/vtxpage.tmpl
\ No newline at end of file diff --git a/skins/snow_flat/vtxgfx.css b/skins/snow_flat/vtxgfx.css new file mode 120000 index 0000000..a17deb6 --- /dev/null +++ b/skins/snow_flat/vtxgfx.css @@ -0,0 +1 @@ +../stone/vtxgfx.css
\ No newline at end of file diff --git a/skins/snow_flat/vtxpage.tmpl b/skins/snow_flat/vtxpage.tmpl new file mode 120000 index 0000000..34c6245 --- /dev/null +++ b/skins/snow_flat/vtxpage.tmpl @@ -0,0 +1 @@ +../stone/vtxpage.tmpl
\ No newline at end of file diff --git a/skins/stone/header.inc b/skins/stone/header.inc index 65dbbd5..984dce4 100644 --- a/skins/stone/header.inc +++ b/skins/stone/header.inc @@ -17,7 +17,7 @@ <?% IF allow( 'al' ) %?> <a accesskey="a" href="?cmd=al"><?% gettext("Autotimer") %?></a> · <?% END %?> <?% IF allow( 'tl' ) %?> <a accesskey="t" href="?cmd=tl"><?% gettext("Timers") %?></a> · <?% END %?> <?% IF allow( 'rl' ) %?> <a accesskey="r" href="?cmd=rl"><?% gettext("Recordings") %?></a> · <?% END %?> - <?% IF allow( 'vc' ) %?> <a accesskey="v" href="?cmd=vc"><?% gettext("Teletext") %?></a> · <?% END %?> + <?% IF allow( 'vt' ) %?> <a accesskey="v" href="?cmd=vt"><?% gettext("Teletext") %?></a> · <?% END %?> <?% IF allow( 'ml' ) %?> <a accesskey="m" href="?cmd=ml"><?% gettext("Music") %?></a> · <?% END %?> <?% IF allow( 'mll' ) %?> <a accesskey="l" href="?cmd=mll"><?% gettext("Media list") %?></a> · <?% END %?> <?% IF allow( 'r' ) %?> <a accesskey="f" href="javascript:popupcmd('r',640,450,0)"><?% gettext("Remote") %?></a> · <?% END %?> diff --git a/skins/stone/images/vtxgfx.gif b/skins/stone/images/vtxgfx.gif Binary files differnew file mode 100644 index 0000000..d9ed146 --- /dev/null +++ b/skins/stone/images/vtxgfx.gif diff --git a/skins/stone/style.css b/skins/stone/style.css index c05e72e..742242b 100644 --- a/skins/stone/style.css +++ b/skins/stone/style.css @@ -219,31 +219,6 @@ margin:0; padding:0; } -p.vtx { -font-size:12px; -font-family:monospace; -white-space:nowrap; -} - -img.vtx { -position:absolute; -z-index:1; -width:7px; -height:15px; -} - -a.vtx:link,a.vtx:visited,a.vtx:hover,a.vtx:active { -text-decoration:none; -} - -a.vtx:link,a.vtx:visited { -color:#0F0; -} - -a.vtx:hover,a.vtx:active { -color:#FF0; -} - img.progressleft { background:#d2d2d2; border-color:#000; diff --git a/skins/stone/vtxgfx.css b/skins/stone/vtxgfx.css new file mode 100644 index 0000000..4c1e661 --- /dev/null +++ b/skins/stone/vtxgfx.css @@ -0,0 +1,549 @@ +#vt p.vtx { +font-size:15px; +line-height:16px; +font-family:monospace; +white-space:nowrap; +} + +#vt a.vtx:link,a.vtx:visited,a.vtx:hover,a.vtx:active { +text-decoration:none; +} + +#vt a.vtx:link,a.vtx:visited { +color:#0F0; +} + +#vt a.vtx:hover,a.vtx:active { +color:#FF0; +} + +.vtgfx { +width:11px; +height:16px; +background-image:url(images/vtxgfx.gif); +background-repeat:no-repeat; +} + +.white20 { background-position: 0px 0px ;} +.white21 { background-position: 0px -16px ;} +.white22 { background-position: 0px -32px ;} +.white23 { background-position: 0px -48px ;} +.white24 { background-position: 0px -64px ;} +.white25 { background-position: 0px -80px ;} +.white26 { background-position: 0px -96px ;} +.white27 { background-position: 0px -112px ;} +.white28 { background-position: 0px -128px ;} +.white29 { background-position: 0px -144px ;} +.white2A { background-position: 0px -160px ;} +.white2B { background-position: 0px -176px ;} +.white2C { background-position: 0px -192px ;} +.white2D { background-position: 0px -208px ;} +.white2E { background-position: 0px -224px ;} +.white2F { background-position: 0px -240px ;} +.white30 { background-position: 0px -256px ;} +.white31 { background-position: 0px -272px ;} +.white32 { background-position: 0px -288px ;} +.white33 { background-position: 0px -304px ;} +.white34 { background-position: 0px -320px ;} +.white35 { background-position: 0px -336px ;} +.white36 { background-position: 0px -352px ;} +.white37 { background-position: 0px -368px ;} +.white38 { background-position: 0px -384px ;} +.white39 { background-position: 0px -400px ;} +.white3A { background-position: 0px -416px ;} +.white3B { background-position: 0px -432px ;} +.white3C { background-position: 0px -448px ;} +.white3D { background-position: 0px -464px ;} +.white3E { background-position: 0px -480px ;} +.white3F { background-position: 0px -496px ;} +.white60 { background-position: 0px -512px ;} +.white61 { background-position: 0px -528px ;} +.white62 { background-position: 0px -544px ;} +.white63 { background-position: 0px -560px ;} +.white64 { background-position: 0px -576px ;} +.white65 { background-position: 0px -592px ;} +.white66 { background-position: 0px -608px ;} +.white67 { background-position: 0px -624px ;} +.white68 { background-position: 0px -640px ;} +.white69 { background-position: 0px -656px ;} +.white6A { background-position: 0px -672px ;} +.white6B { background-position: 0px -688px ;} +.white6C { background-position: 0px -704px ;} +.white6D { background-position: 0px -720px ;} +.white6E { background-position: 0px -736px ;} +.white6F { background-position: 0px -752px ;} +.white70 { background-position: 0px -768px ;} +.white71 { background-position: 0px -784px ;} +.white72 { background-position: 0px -800px ;} +.white73 { background-position: 0px -816px ;} +.white74 { background-position: 0px -832px ;} +.white75 { background-position: 0px -848px ;} +.white76 { background-position: 0px -864px ;} +.white77 { background-position: 0px -880px ;} +.white78 { background-position: 0px -896px ;} +.white79 { background-position: 0px -912px ;} +.white7A { background-position: 0px -928px ;} +.white7B { background-position: 0px -944px ;} +.white7C { background-position: 0px -960px ;} +.white7D { background-position: 0px -976px ;} +.white7E { background-position: 0px -992px ;} +.white7F { background-position: 0px -1008px ;} + +.black20 { background-position: -11px 0px ;} +.black21 { background-position: -11px -16px ;} +.black22 { background-position: -11px -32px ;} +.black23 { background-position: -11px -48px ;} +.black24 { background-position: -11px -64px ;} +.black25 { background-position: -11px -80px ;} +.black26 { background-position: -11px -96px ;} +.black27 { background-position: -11px -112px ;} +.black28 { background-position: -11px -128px ;} +.black29 { background-position: -11px -144px ;} +.black2A { background-position: -11px -160px ;} +.black2B { background-position: -11px -176px ;} +.black2C { background-position: -11px -192px ;} +.black2D { background-position: -11px -208px ;} +.black2E { background-position: -11px -224px ;} +.black2F { background-position: -11px -240px ;} +.black30 { background-position: -11px -256px ;} +.black31 { background-position: -11px -272px ;} +.black32 { background-position: -11px -288px ;} +.black33 { background-position: -11px -304px ;} +.black34 { background-position: -11px -320px ;} +.black35 { background-position: -11px -336px ;} +.black36 { background-position: -11px -352px ;} +.black37 { background-position: -11px -368px ;} +.black38 { background-position: -11px -384px ;} +.black39 { background-position: -11px -400px ;} +.black3A { background-position: -11px -416px ;} +.black3B { background-position: -11px -432px ;} +.black3C { background-position: -11px -448px ;} +.black3D { background-position: -11px -464px ;} +.black3E { background-position: -11px -480px ;} +.black3F { background-position: -11px -496px ;} +.black60 { background-position: -11px -512px ;} +.black61 { background-position: -11px -528px ;} +.black62 { background-position: -11px -544px ;} +.black63 { background-position: -11px -560px ;} +.black64 { background-position: -11px -576px ;} +.black65 { background-position: -11px -592px ;} +.black66 { background-position: -11px -608px ;} +.black67 { background-position: -11px -624px ;} +.black68 { background-position: -11px -640px ;} +.black69 { background-position: -11px -656px ;} +.black6A { background-position: -11px -672px ;} +.black6B { background-position: -11px -688px ;} +.black6C { background-position: -11px -704px ;} +.black6D { background-position: -11px -720px ;} +.black6E { background-position: -11px -736px ;} +.black6F { background-position: -11px -752px ;} +.black70 { background-position: -11px -768px ;} +.black71 { background-position: -11px -784px ;} +.black72 { background-position: -11px -800px ;} +.black73 { background-position: -11px -816px ;} +.black74 { background-position: -11px -832px ;} +.black75 { background-position: -11px -848px ;} +.black76 { background-position: -11px -864px ;} +.black77 { background-position: -11px -880px ;} +.black78 { background-position: -11px -896px ;} +.black79 { background-position: -11px -912px ;} +.black7A { background-position: -11px -928px ;} +.black7B { background-position: -11px -944px ;} +.black7C { background-position: -11px -960px ;} +.black7D { background-position: -11px -976px ;} +.black7E { background-position: -11px -992px ;} +.black7F { background-position: -11px -1008px ;} + +.red20 { background-position: -22px 0px ;} +.red21 { background-position: -22px -16px ;} +.red22 { background-position: -22px -32px ;} +.red23 { background-position: -22px -48px ;} +.red24 { background-position: -22px -64px ;} +.red25 { background-position: -22px -80px ;} +.red26 { background-position: -22px -96px ;} +.red27 { background-position: -22px -112px ;} +.red28 { background-position: -22px -128px ;} +.red29 { background-position: -22px -144px ;} +.red2A { background-position: -22px -160px ;} +.red2B { background-position: -22px -176px ;} +.red2C { background-position: -22px -192px ;} +.red2D { background-position: -22px -208px ;} +.red2E { background-position: -22px -224px ;} +.red2F { background-position: -22px -240px ;} +.red30 { background-position: -22px -256px ;} +.red31 { background-position: -22px -272px ;} +.red32 { background-position: -22px -288px ;} +.red33 { background-position: -22px -304px ;} +.red34 { background-position: -22px -320px ;} +.red35 { background-position: -22px -336px ;} +.red36 { background-position: -22px -352px ;} +.red37 { background-position: -22px -368px ;} +.red38 { background-position: -22px -384px ;} +.red39 { background-position: -22px -400px ;} +.red3A { background-position: -22px -416px ;} +.red3B { background-position: -22px -432px ;} +.red3C { background-position: -22px -448px ;} +.red3D { background-position: -22px -464px ;} +.red3E { background-position: -22px -480px ;} +.red3F { background-position: -22px -496px ;} +.red60 { background-position: -22px -512px ;} +.red61 { background-position: -22px -528px ;} +.red62 { background-position: -22px -544px ;} +.red63 { background-position: -22px -560px ;} +.red64 { background-position: -22px -576px ;} +.red65 { background-position: -22px -592px ;} +.red66 { background-position: -22px -608px ;} +.red67 { background-position: -22px -624px ;} +.red68 { background-position: -22px -640px ;} +.red69 { background-position: -22px -656px ;} +.red6A { background-position: -22px -672px ;} +.red6B { background-position: -22px -688px ;} +.red6C { background-position: -22px -704px ;} +.red6D { background-position: -22px -720px ;} +.red6E { background-position: -22px -736px ;} +.red6F { background-position: -22px -752px ;} +.red70 { background-position: -22px -768px ;} +.red71 { background-position: -22px -784px ;} +.red72 { background-position: -22px -800px ;} +.red73 { background-position: -22px -816px ;} +.red74 { background-position: -22px -832px ;} +.red75 { background-position: -22px -848px ;} +.red76 { background-position: -22px -864px ;} +.red77 { background-position: -22px -880px ;} +.red78 { background-position: -22px -896px ;} +.red79 { background-position: -22px -912px ;} +.red7A { background-position: -22px -928px ;} +.red7B { background-position: -22px -944px ;} +.red7C { background-position: -22px -960px ;} +.red7D { background-position: -22px -976px ;} +.red7E { background-position: -22px -992px ;} +.red7F { background-position: -22px -1008px ;} + +.blue20 { background-position: -33px 0px ;} +.blue21 { background-position: -33px -16px ;} +.blue22 { background-position: -33px -32px ;} +.blue23 { background-position: -33px -48px ;} +.blue24 { background-position: -33px -64px ;} +.blue25 { background-position: -33px -80px ;} +.blue26 { background-position: -33px -96px ;} +.blue27 { background-position: -33px -112px ;} +.blue28 { background-position: -33px -128px ;} +.blue29 { background-position: -33px -144px ;} +.blue2A { background-position: -33px -160px ;} +.blue2B { background-position: -33px -176px ;} +.blue2C { background-position: -33px -192px ;} +.blue2D { background-position: -33px -208px ;} +.blue2E { background-position: -33px -224px ;} +.blue2F { background-position: -33px -240px ;} +.blue30 { background-position: -33px -256px ;} +.blue31 { background-position: -33px -272px ;} +.blue32 { background-position: -33px -288px ;} +.blue33 { background-position: -33px -304px ;} +.blue34 { background-position: -33px -320px ;} +.blue35 { background-position: -33px -336px ;} +.blue36 { background-position: -33px -352px ;} +.blue37 { background-position: -33px -368px ;} +.blue38 { background-position: -33px -384px ;} +.blue39 { background-position: -33px -400px ;} +.blue3A { background-position: -33px -416px ;} +.blue3B { background-position: -33px -432px ;} +.blue3C { background-position: -33px -448px ;} +.blue3D { background-position: -33px -464px ;} +.blue3E { background-position: -33px -480px ;} +.blue3F { background-position: -33px -496px ;} +.blue60 { background-position: -33px -512px ;} +.blue61 { background-position: -33px -528px ;} +.blue62 { background-position: -33px -544px ;} +.blue63 { background-position: -33px -560px ;} +.blue64 { background-position: -33px -576px ;} +.blue65 { background-position: -33px -592px ;} +.blue66 { background-position: -33px -608px ;} +.blue67 { background-position: -33px -624px ;} +.blue68 { background-position: -33px -640px ;} +.blue69 { background-position: -33px -656px ;} +.blue6A { background-position: -33px -672px ;} +.blue6B { background-position: -33px -688px ;} +.blue6C { background-position: -33px -704px ;} +.blue6D { background-position: -33px -720px ;} +.blue6E { background-position: -33px -736px ;} +.blue6F { background-position: -33px -752px ;} +.blue70 { background-position: -33px -768px ;} +.blue71 { background-position: -33px -784px ;} +.blue72 { background-position: -33px -800px ;} +.blue73 { background-position: -33px -816px ;} +.blue74 { background-position: -33px -832px ;} +.blue75 { background-position: -33px -848px ;} +.blue76 { background-position: -33px -864px ;} +.blue77 { background-position: -33px -880px ;} +.blue78 { background-position: -33px -896px ;} +.blue79 { background-position: -33px -912px ;} +.blue7A { background-position: -33px -928px ;} +.blue7B { background-position: -33px -944px ;} +.blue7C { background-position: -33px -960px ;} +.blue7D { background-position: -33px -976px ;} +.blue7E { background-position: -33px -992px ;} +.blue7F { background-position: -33px -1008px ;} + +.yellow20 { background-position: -44px 0px ;} +.yellow21 { background-position: -44px -16px ;} +.yellow22 { background-position: -44px -32px ;} +.yellow23 { background-position: -44px -48px ;} +.yellow24 { background-position: -44px -64px ;} +.yellow25 { background-position: -44px -80px ;} +.yellow26 { background-position: -44px -96px ;} +.yellow27 { background-position: -44px -112px ;} +.yellow28 { background-position: -44px -128px ;} +.yellow29 { background-position: -44px -144px ;} +.yellow2A { background-position: -44px -160px ;} +.yellow2B { background-position: -44px -176px ;} +.yellow2C { background-position: -44px -192px ;} +.yellow2D { background-position: -44px -208px ;} +.yellow2E { background-position: -44px -224px ;} +.yellow2F { background-position: -44px -240px ;} +.yellow30 { background-position: -44px -256px ;} +.yellow31 { background-position: -44px -272px ;} +.yellow32 { background-position: -44px -288px ;} +.yellow33 { background-position: -44px -304px ;} +.yellow34 { background-position: -44px -320px ;} +.yellow35 { background-position: -44px -336px ;} +.yellow36 { background-position: -44px -352px ;} +.yellow37 { background-position: -44px -368px ;} +.yellow38 { background-position: -44px -384px ;} +.yellow39 { background-position: -44px -400px ;} +.yellow3A { background-position: -44px -416px ;} +.yellow3B { background-position: -44px -432px ;} +.yellow3C { background-position: -44px -448px ;} +.yellow3D { background-position: -44px -464px ;} +.yellow3E { background-position: -44px -480px ;} +.yellow3F { background-position: -44px -496px ;} +.yellow60 { background-position: -44px -512px ;} +.yellow61 { background-position: -44px -528px ;} +.yellow62 { background-position: -44px -544px ;} +.yellow63 { background-position: -44px -560px ;} +.yellow64 { background-position: -44px -576px ;} +.yellow65 { background-position: -44px -592px ;} +.yellow66 { background-position: -44px -608px ;} +.yellow67 { background-position: -44px -624px ;} +.yellow68 { background-position: -44px -640px ;} +.yellow69 { background-position: -44px -656px ;} +.yellow6A { background-position: -44px -672px ;} +.yellow6B { background-position: -44px -688px ;} +.yellow6C { background-position: -44px -704px ;} +.yellow6D { background-position: -44px -720px ;} +.yellow6E { background-position: -44px -736px ;} +.yellow6F { background-position: -44px -752px ;} +.yellow70 { background-position: -44px -768px ;} +.yellow71 { background-position: -44px -784px ;} +.yellow72 { background-position: -44px -800px ;} +.yellow73 { background-position: -44px -816px ;} +.yellow74 { background-position: -44px -832px ;} +.yellow75 { background-position: -44px -848px ;} +.yellow76 { background-position: -44px -864px ;} +.yellow77 { background-position: -44px -880px ;} +.yellow78 { background-position: -44px -896px ;} +.yellow79 { background-position: -44px -912px ;} +.yellow7A { background-position: -44px -928px ;} +.yellow7B { background-position: -44px -944px ;} +.yellow7C { background-position: -44px -960px ;} +.yellow7D { background-position: -44px -976px ;} +.yellow7E { background-position: -44px -992px ;} +.yellow7F { background-position: -44px -1008px ;} + +.green20 { background-position: -55px 0px ;} +.green21 { background-position: -55px -16px ;} +.green22 { background-position: -55px -32px ;} +.green23 { background-position: -55px -48px ;} +.green24 { background-position: -55px -64px ;} +.green25 { background-position: -55px -80px ;} +.green26 { background-position: -55px -96px ;} +.green27 { background-position: -55px -112px ;} +.green28 { background-position: -55px -128px ;} +.green29 { background-position: -55px -144px ;} +.green2A { background-position: -55px -160px ;} +.green2B { background-position: -55px -176px ;} +.green2C { background-position: -55px -192px ;} +.green2D { background-position: -55px -208px ;} +.green2E { background-position: -55px -224px ;} +.green2F { background-position: -55px -240px ;} +.green30 { background-position: -55px -256px ;} +.green31 { background-position: -55px -272px ;} +.green32 { background-position: -55px -288px ;} +.green33 { background-position: -55px -304px ;} +.green34 { background-position: -55px -320px ;} +.green35 { background-position: -55px -336px ;} +.green36 { background-position: -55px -352px ;} +.green37 { background-position: -55px -368px ;} +.green38 { background-position: -55px -384px ;} +.green39 { background-position: -55px -400px ;} +.green3A { background-position: -55px -416px ;} +.green3B { background-position: -55px -432px ;} +.green3C { background-position: -55px -448px ;} +.green3D { background-position: -55px -464px ;} +.green3E { background-position: -55px -480px ;} +.green3F { background-position: -55px -496px ;} +.green60 { background-position: -55px -512px ;} +.green61 { background-position: -55px -528px ;} +.green62 { background-position: -55px -544px ;} +.green63 { background-position: -55px -560px ;} +.green64 { background-position: -55px -576px ;} +.green65 { background-position: -55px -592px ;} +.green66 { background-position: -55px -608px ;} +.green67 { background-position: -55px -624px ;} +.green68 { background-position: -55px -640px ;} +.green69 { background-position: -55px -656px ;} +.green6A { background-position: -55px -672px ;} +.green6B { background-position: -55px -688px ;} +.green6C { background-position: -55px -704px ;} +.green6D { background-position: -55px -720px ;} +.green6E { background-position: -55px -736px ;} +.green6F { background-position: -55px -752px ;} +.green70 { background-position: -55px -768px ;} +.green71 { background-position: -55px -784px ;} +.green72 { background-position: -55px -800px ;} +.green73 { background-position: -55px -816px ;} +.green74 { background-position: -55px -832px ;} +.green75 { background-position: -55px -848px ;} +.green76 { background-position: -55px -864px ;} +.green77 { background-position: -55px -880px ;} +.green78 { background-position: -55px -896px ;} +.green79 { background-position: -55px -912px ;} +.green7A { background-position: -55px -928px ;} +.green7B { background-position: -55px -944px ;} +.green7C { background-position: -55px -960px ;} +.green7D { background-position: -55px -976px ;} +.green7E { background-position: -55px -992px ;} +.green7F { background-position: -55px -1008px ;} + +.cyan20 { background-position: -66px 0px ;} +.cyan21 { background-position: -66px -16px ;} +.cyan22 { background-position: -66px -32px ;} +.cyan23 { background-position: -66px -48px ;} +.cyan24 { background-position: -66px -64px ;} +.cyan25 { background-position: -66px -80px ;} +.cyan26 { background-position: -66px -96px ;} +.cyan27 { background-position: -66px -112px ;} +.cyan28 { background-position: -66px -128px ;} +.cyan29 { background-position: -66px -144px ;} +.cyan2A { background-position: -66px -160px ;} +.cyan2B { background-position: -66px -176px ;} +.cyan2C { background-position: -66px -192px ;} +.cyan2D { background-position: -66px -208px ;} +.cyan2E { background-position: -66px -224px ;} +.cyan2F { background-position: -66px -240px ;} +.cyan30 { background-position: -66px -256px ;} +.cyan31 { background-position: -66px -272px ;} +.cyan32 { background-position: -66px -288px ;} +.cyan33 { background-position: -66px -304px ;} +.cyan34 { background-position: -66px -320px ;} +.cyan35 { background-position: -66px -336px ;} +.cyan36 { background-position: -66px -352px ;} +.cyan37 { background-position: -66px -368px ;} +.cyan38 { background-position: -66px -384px ;} +.cyan39 { background-position: -66px -400px ;} +.cyan3A { background-position: -66px -416px ;} +.cyan3B { background-position: -66px -432px ;} +.cyan3C { background-position: -66px -448px ;} +.cyan3D { background-position: -66px -464px ;} +.cyan3E { background-position: -66px -480px ;} +.cyan3F { background-position: -66px -496px ;} +.cyan60 { background-position: -66px -512px ;} +.cyan61 { background-position: -66px -528px ;} +.cyan62 { background-position: -66px -544px ;} +.cyan63 { background-position: -66px -560px ;} +.cyan64 { background-position: -66px -576px ;} +.cyan65 { background-position: -66px -592px ;} +.cyan66 { background-position: -66px -608px ;} +.cyan67 { background-position: -66px -624px ;} +.cyan68 { background-position: -66px -640px ;} +.cyan69 { background-position: -66px -656px ;} +.cyan6A { background-position: -66px -672px ;} +.cyan6B { background-position: -66px -688px ;} +.cyan6C { background-position: -66px -704px ;} +.cyan6D { background-position: -66px -720px ;} +.cyan6E { background-position: -66px -736px ;} +.cyan6F { background-position: -66px -752px ;} +.cyan70 { background-position: -66px -768px ;} +.cyan71 { background-position: -66px -784px ;} +.cyan72 { background-position: -66px -800px ;} +.cyan73 { background-position: -66px -816px ;} +.cyan74 { background-position: -66px -832px ;} +.cyan75 { background-position: -66px -848px ;} +.cyan76 { background-position: -66px -864px ;} +.cyan77 { background-position: -66px -880px ;} +.cyan78 { background-position: -66px -896px ;} +.cyan79 { background-position: -66px -912px ;} +.cyan7A { background-position: -66px -928px ;} +.cyan7B { background-position: -66px -944px ;} +.cyan7C { background-position: -66px -960px ;} +.cyan7D { background-position: -66px -976px ;} +.cyan7E { background-position: -66px -992px ;} +.cyan7F { background-position: -66px -1008px ;} + +.magenta20 { background-position: -77px 0px ;} +.magenta21 { background-position: -77px -16px ;} +.magenta22 { background-position: -77px -32px ;} +.magenta23 { background-position: -77px -48px ;} +.magenta24 { background-position: -77px -64px ;} +.magenta25 { background-position: -77px -80px ;} +.magenta26 { background-position: -77px -96px ;} +.magenta27 { background-position: -77px -112px ;} +.magenta28 { background-position: -77px -128px ;} +.magenta29 { background-position: -77px -144px ;} +.magenta2A { background-position: -77px -160px ;} +.magenta2B { background-position: -77px -176px ;} +.magenta2C { background-position: -77px -192px ;} +.magenta2D { background-position: -77px -208px ;} +.magenta2E { background-position: -77px -224px ;} +.magenta2F { background-position: -77px -240px ;} +.magenta30 { background-position: -77px -256px ;} +.magenta31 { background-position: -77px -272px ;} +.magenta32 { background-position: -77px -288px ;} +.magenta33 { background-position: -77px -304px ;} +.magenta34 { background-position: -77px -320px ;} +.magenta35 { background-position: -77px -336px ;} +.magenta36 { background-position: -77px -352px ;} +.magenta37 { background-position: -77px -368px ;} +.magenta38 { background-position: -77px -384px ;} +.magenta39 { background-position: -77px -400px ;} +.magenta3A { background-position: -77px -416px ;} +.magenta3B { background-position: -77px -432px ;} +.magenta3C { background-position: -77px -448px ;} +.magenta3D { background-position: -77px -464px ;} +.magenta3E { background-position: -77px -480px ;} +.magenta3F { background-position: -77px -496px ;} +.magenta60 { background-position: -77px -512px ;} +.magenta61 { background-position: -77px -528px ;} +.magenta62 { background-position: -77px -544px ;} +.magenta63 { background-position: -77px -560px ;} +.magenta64 { background-position: -77px -576px ;} +.magenta65 { background-position: -77px -592px ;} +.magenta66 { background-position: -77px -608px ;} +.magenta67 { background-position: -77px -624px ;} +.magenta68 { background-position: -77px -640px ;} +.magenta69 { background-position: -77px -656px ;} +.magenta6A { background-position: -77px -672px ;} +.magenta6B { background-position: -77px -688px ;} +.magenta6C { background-position: -77px -704px ;} +.magenta6D { background-position: -77px -720px ;} +.magenta6E { background-position: -77px -736px ;} +.magenta6F { background-position: -77px -752px ;} +.magenta70 { background-position: -77px -768px ;} +.magenta71 { background-position: -77px -784px ;} +.magenta72 { background-position: -77px -800px ;} +.magenta73 { background-position: -77px -816px ;} +.magenta74 { background-position: -77px -832px ;} +.magenta75 { background-position: -77px -848px ;} +.magenta76 { background-position: -77px -864px ;} +.magenta77 { background-position: -77px -880px ;} +.magenta78 { background-position: -77px -896px ;} +.magenta79 { background-position: -77px -912px ;} +.magenta7A { background-position: -77px -928px ;} +.magenta7B { background-position: -77px -944px ;} +.magenta7C { background-position: -77px -960px ;} +.magenta7D { background-position: -77px -976px ;} +.magenta7E { background-position: -77px -992px ;} +.magenta7F { background-position: -77px -1008px ;} + + + + diff --git a/skins/stone/vtxpage.tmpl b/skins/stone/vtxpage.tmpl new file mode 100644 index 0000000..0ca3d9f --- /dev/null +++ b/skins/stone/vtxpage.tmpl @@ -0,0 +1,106 @@ +<!-- VTXTemplate --> +<?% IF ! global.bodyinc.defined;global.bodyinc = 1 %?> +<body class="frame"> +<!-- ###### Seite ###### --> +<?% IF data.0 >= 1 %?> +<?% channel = data.0.3 %?> +<?% url = "?cmd=vt&channel=${channel}" %?> +<?% END %?> +<div id="sidebar"> + <table summary=""> + <tr><td class="sidehead"><?% gettext("Selection",20) %?></td></tr> + <tr> + <td class="sidetext"> + <form action=""> + <select size="5" name='chan' onchange="di('?cmd=vt&channel=',this.form.chan.options[this.form.chan.options.selectedIndex].value)"> + <?% FOREACH ch = param.channels %?> + <option value="<?% ch.1 %?>" <?% 'selected="selected"' IF channel == ch.1 %?>><?% ch.0 %?></option> + <?% END %?> + </select> + </form> + </td> + </tr> + <tr> + <td class="sidebottom"></td> + </tr> + </table> +<?% IF channel %?> + <table summary=""> + <tr><td class="sidehead"><?% gettext("Page",20) %?></td></tr> + <tr> + <td class="sidetext"> + <form method="post" action="<?% url %?>"> + <input type="text" name="page" size="18" value="<?% param.page %?>" /> + </form> + </td> + </tr> + <tr> + <td class="sidetext"> + <a href="<?% url %?>"> + <img src="images/home.<?% global.imagetyp %?>" alt="" title="<?% gettext('First page') %?>" /> + </a> <a href="<?% url %?>"> + <?% gettext('First page',20) %?> + </a> + <br /> +<?% BLOCK VTXItem %?> + <?% IF page %?><a href="<?% url %?>&page=<?% page %?>"><?% END %?> + <img src="images/<?% image %?>.<?% global.imagetyp %?>" alt="" title="<?% label %?>" /> + <?% "</a>" IF page %?> + + <?% IF page %?><a href="<?% url %?>&page=<?% page %?>"><?% END %?> + <?% IF !page %?><font class="deactive"><?% END %?> + <?% label %?> + <?% IF !page %?></font><?% END %?> + <?% "</a>" IF page %?> + <br /> +<?% END %?> + + <?% PROCESS VTXItem page=data.0.4 image='back' label=gettext('Previous page',20) %?> + <?% PROCESS VTXItem page=data.0.5 image='forward' label=gettext('Next page',20) %?> + </td> + </tr> + <tr> + <td class="sidebottom"></td> + </tr> + </table> + <table summary=""> + <tr><td class="sidehead"><?% gettext("Search",20) %?></td></tr> + <tr> + <td class="sidetext"> + <form method="post" action="?cmd=vs&channel=${channel}"> + <input type="text" name="data" size="18" value="" /> + </form> + </td> + </tr> + <tr> + <td class="sidebottom"></td> + </tr> + </table> +<?% END %?> + <p id="sidefooter"> </p> +</div> +<?% INCLUDE header.inc %?> +<div id="body"> +<h1><?% gettext("Teletext") %?></h1> +<?% END %?> + <?% FOREACH zeile = data %?> + <?% id=zeile.0;page=zeile.1;subpage=zeile.2;channels=zeile.3;prev=zeile.4;next=zeile.5;mtime=zeile.6 %?> +<div class="areabegin" id="<?% id %?>"> + <table class="areatable" summary=""> + <tr><td class="areahead"><?% gettext("Page") %?> <?% page; IF subpage > 0 %?>/<?% subpage; END %?></td></tr> + <tr> + <td class="areatext" align="center"> + <table summary="" align="center"> + <tr> + <td id="vt"> + <?% zeile.7 %?> + </td> + </tr> + </table> + </td> + </tr> + <tr><td class="areabottom"></td></tr> + </table> +</div> + <?% END %?> + diff --git a/skins/stone/widgets/start.tmpl b/skins/stone/widgets/start.tmpl index 9724ad8..718b7e8 100644 --- a/skins/stone/widgets/start.tmpl +++ b/skins/stone/widgets/start.tmpl @@ -7,6 +7,9 @@ <head> <link rel="stylesheet" type="text/css" href="style.css" media="all" /> <link rel="stylesheet" type="text/css" href="print.css" media="print" /> +<?% IF call == 'vtxpage' %?> + <link rel="stylesheet" type="text/css" href="vtxgfx.css" media="all" /> +<?% END %?> <link rel="shortcut icon" href="favicon.ico" /> <title><?% IF param.title.defined;param.title;ELSE %?>XXV<?% END %?></title> <meta name="generator" content="XXV System - Version: <?% version %?>" /> diff --git a/skins/stone/widgets/vtx.tmpl b/skins/stone/widgets/vtx.tmpl deleted file mode 100644 index 2aa3c48..0000000 --- a/skins/stone/widgets/vtx.tmpl +++ /dev/null @@ -1,95 +0,0 @@ -<!-- VTXTemplate --> -<?% IF ! global.bodyinc.defined;global.bodyinc = 1 %?> -<body class="frame"> -<!-- ###### Seite ###### --> -<?% url = "?cmd=vt&data=" %?> -<div id="sidebar"> - <table summary=""> - <tr><td class="sidehead"><?% gettext("Selection",20) %?></td></tr> - <tr> - <td class="sidetext"> - <form action=""> - <select size="5" name='chan' onchange="di('?cmd=vc&data=',this.form.chan.options[this.form.chan.options.selectedIndex].value)"> - <?% FOREACH ch = param.channels %?> - <option value="<?% ch.1 %?>" <?% 'selected="selected"' IF param.channel == ch.1 %?>><?% ch.0 %?></option> - <?% END %?> - </select> - </form> - </td> - </tr> - <tr> - <td class="sidebottom"></td> - </tr> - </table> - <table summary=""> - <tr><td class="sidehead"><?% gettext("Page",20) %?></td></tr> - <tr> - <td class="sidetext"> - <form method="post" action="?cmd=vt"> - <input type="text" name="data" size="18" value="<?% param.page %?>" /> - </form> - </td> - </tr> -<?% BLOCK VTXItem %?> - <?% IF page != 0 %?><a href="<?% url %?><?% page %?>"><?% END %?> - <img src="images/<?% image %?>.<?% global.imagetyp %?>" alt="" title="<?% label %?>" /> - <?% "</a>" IF page != 0 %?> - - <?% IF page != 0 %?><a href="<?% url %?><?% page %?>"><?% END %?> - <?% IF page == 0 %?><font class="deactive"><?% END %?> - <?% label %?> - <?% IF page == 0 %?></font><?% END %?> - <?% "</a>" IF page != 0 %?> - <br /> -<?% END %?> - <tr> - <td class="sidetext"> - <?% PROCESS VTXItem page=param.toppage image='home' label=gettext('First page',20) %?> - <?% PROCESS VTXItem page=param.page_prev image='back' label=gettext('Previous page',20) %?> - <?% PROCESS VTXItem page=param.page_next image='forward' label=gettext('Next page',20) %?> - <?% PROCESS VTXItem page=param.subpage_prev image='back' label=gettext('Prior sub page',20) %?> - <?% PROCESS VTXItem page=param.subpage_next image='forward' label=gettext('Next sub page',20) %?> - </td> - </tr> - <tr> - <td class="sidebottom"></td> - </tr> - </table> - <table summary=""> - <tr><td class="sidehead"><?% gettext("Search",20) %?></td></tr> - <tr> - <td class="sidetext"> - <form method="post" action="?cmd=vs"> - <input type="text" name="data" size="18" value="" /> - </form> - </td> - </tr> - <tr> - <td class="sidebottom"></td> - </tr> - </table> - <p id="sidefooter"> </p> -</div> -<?% INCLUDE header.inc %?> -<div id="body"> -<h1><?% gettext("Teletext") %?></h1> -<?% END %?> -<div class="areabegin"> - <table class="areatable" summary=""> - <tr><td class="areahead"><?% gettext("Page") %?> <?% param.page; pages = cgi.param('data').split('_'); IF pages.size > 1 && pages.last > 0 %?>/<?% pages.last; END %?></td></tr> - <tr> - <td class="areatext" align="center"> - <table summary="" align="center"> - <tr> - <td> - <?% FOREACH l = data %?> - <?% l %?>
- <?% END %?>
- </td> - </tr> - </table> - </td> - </tr> - <tr><td class="areabottom"></td></tr> -</table> -</div> diff --git a/skins/stone_flat/header.inc b/skins/stone_flat/header.inc index 65dbbd5..984dce4 100644 --- a/skins/stone_flat/header.inc +++ b/skins/stone_flat/header.inc @@ -17,7 +17,7 @@ <?% IF allow( 'al' ) %?> <a accesskey="a" href="?cmd=al"><?% gettext("Autotimer") %?></a> · <?% END %?> <?% IF allow( 'tl' ) %?> <a accesskey="t" href="?cmd=tl"><?% gettext("Timers") %?></a> · <?% END %?> <?% IF allow( 'rl' ) %?> <a accesskey="r" href="?cmd=rl"><?% gettext("Recordings") %?></a> · <?% END %?> - <?% IF allow( 'vc' ) %?> <a accesskey="v" href="?cmd=vc"><?% gettext("Teletext") %?></a> · <?% END %?> + <?% IF allow( 'vt' ) %?> <a accesskey="v" href="?cmd=vt"><?% gettext("Teletext") %?></a> · <?% END %?> <?% IF allow( 'ml' ) %?> <a accesskey="m" href="?cmd=ml"><?% gettext("Music") %?></a> · <?% END %?> <?% IF allow( 'mll' ) %?> <a accesskey="l" href="?cmd=mll"><?% gettext("Media list") %?></a> · <?% END %?> <?% IF allow( 'r' ) %?> <a accesskey="f" href="javascript:popupcmd('r',640,450,0)"><?% gettext("Remote") %?></a> · <?% END %?> diff --git a/skins/xstyle/images/vtxgfx.gif b/skins/xstyle/images/vtxgfx.gif Binary files differnew file mode 100644 index 0000000..d9ed146 --- /dev/null +++ b/skins/xstyle/images/vtxgfx.gif diff --git a/skins/xstyle/style/style.css b/skins/xstyle/style/style.css index f28f7bc..962e67a 100644 --- a/skins/xstyle/style/style.css +++ b/skins/xstyle/style/style.css @@ -88,27 +88,6 @@ input[type~=button],input[type~=submit], input[type~=reset], input[type~=radio], color:#ff0000; } - -/* VTX */ -p.vtx{ - font-size:16px; - font-family:monospace; - white-space:nowrap; -} - -img.vtx{ - position:absolute; - z-index: 1; - width: 10px; - height: 19px; -} - -/* VTX Hyperlinks */ -a.vtx:link, a.vtx:visited, a.vtx:hover, a.vtx:active{ - text-decoration:none; - color:#00FF00; -} - .footer { background: buttonface; padding: 0px; diff --git a/skins/xstyle/style/vtxgfx.css b/skins/xstyle/style/vtxgfx.css new file mode 100644 index 0000000..1521d1f --- /dev/null +++ b/skins/xstyle/style/vtxgfx.css @@ -0,0 +1,549 @@ +#vt p.vtx { +font-size:15px; +line-height:15px; +font-family:monospace; +white-space:nowrap; +} + +#vt a.vtx:link,a.vtx:visited,a.vtx:hover,a.vtx:active { +text-decoration:none; +} + +#vt a.vtx:link,a.vtx:visited { +color:#0F0; +} + +#vt a.vtx:hover,a.vtx:active { +color:#FF0; +} + +.vtgfx { +width:11px; +height:16px; +background-image:url(../images/vtxgfx.gif); +background-repeat:no-repeat; +} + +.white20 { background-position: 0px 0px ;} +.white21 { background-position: 0px -16px ;} +.white22 { background-position: 0px -32px ;} +.white23 { background-position: 0px -48px ;} +.white24 { background-position: 0px -64px ;} +.white25 { background-position: 0px -80px ;} +.white26 { background-position: 0px -96px ;} +.white27 { background-position: 0px -112px ;} +.white28 { background-position: 0px -128px ;} +.white29 { background-position: 0px -144px ;} +.white2A { background-position: 0px -160px ;} +.white2B { background-position: 0px -176px ;} +.white2C { background-position: 0px -192px ;} +.white2D { background-position: 0px -208px ;} +.white2E { background-position: 0px -224px ;} +.white2F { background-position: 0px -240px ;} +.white30 { background-position: 0px -256px ;} +.white31 { background-position: 0px -272px ;} +.white32 { background-position: 0px -288px ;} +.white33 { background-position: 0px -304px ;} +.white34 { background-position: 0px -320px ;} +.white35 { background-position: 0px -336px ;} +.white36 { background-position: 0px -352px ;} +.white37 { background-position: 0px -368px ;} +.white38 { background-position: 0px -384px ;} +.white39 { background-position: 0px -400px ;} +.white3A { background-position: 0px -416px ;} +.white3B { background-position: 0px -432px ;} +.white3C { background-position: 0px -448px ;} +.white3D { background-position: 0px -464px ;} +.white3E { background-position: 0px -480px ;} +.white3F { background-position: 0px -496px ;} +.white60 { background-position: 0px -512px ;} +.white61 { background-position: 0px -528px ;} +.white62 { background-position: 0px -544px ;} +.white63 { background-position: 0px -560px ;} +.white64 { background-position: 0px -576px ;} +.white65 { background-position: 0px -592px ;} +.white66 { background-position: 0px -608px ;} +.white67 { background-position: 0px -624px ;} +.white68 { background-position: 0px -640px ;} +.white69 { background-position: 0px -656px ;} +.white6A { background-position: 0px -672px ;} +.white6B { background-position: 0px -688px ;} +.white6C { background-position: 0px -704px ;} +.white6D { background-position: 0px -720px ;} +.white6E { background-position: 0px -736px ;} +.white6F { background-position: 0px -752px ;} +.white70 { background-position: 0px -768px ;} +.white71 { background-position: 0px -784px ;} +.white72 { background-position: 0px -800px ;} +.white73 { background-position: 0px -816px ;} +.white74 { background-position: 0px -832px ;} +.white75 { background-position: 0px -848px ;} +.white76 { background-position: 0px -864px ;} +.white77 { background-position: 0px -880px ;} +.white78 { background-position: 0px -896px ;} +.white79 { background-position: 0px -912px ;} +.white7A { background-position: 0px -928px ;} +.white7B { background-position: 0px -944px ;} +.white7C { background-position: 0px -960px ;} +.white7D { background-position: 0px -976px ;} +.white7E { background-position: 0px -992px ;} +.white7F { background-position: 0px -1008px ;} + +.black20 { background-position: -11px 0px ;} +.black21 { background-position: -11px -16px ;} +.black22 { background-position: -11px -32px ;} +.black23 { background-position: -11px -48px ;} +.black24 { background-position: -11px -64px ;} +.black25 { background-position: -11px -80px ;} +.black26 { background-position: -11px -96px ;} +.black27 { background-position: -11px -112px ;} +.black28 { background-position: -11px -128px ;} +.black29 { background-position: -11px -144px ;} +.black2A { background-position: -11px -160px ;} +.black2B { background-position: -11px -176px ;} +.black2C { background-position: -11px -192px ;} +.black2D { background-position: -11px -208px ;} +.black2E { background-position: -11px -224px ;} +.black2F { background-position: -11px -240px ;} +.black30 { background-position: -11px -256px ;} +.black31 { background-position: -11px -272px ;} +.black32 { background-position: -11px -288px ;} +.black33 { background-position: -11px -304px ;} +.black34 { background-position: -11px -320px ;} +.black35 { background-position: -11px -336px ;} +.black36 { background-position: -11px -352px ;} +.black37 { background-position: -11px -368px ;} +.black38 { background-position: -11px -384px ;} +.black39 { background-position: -11px -400px ;} +.black3A { background-position: -11px -416px ;} +.black3B { background-position: -11px -432px ;} +.black3C { background-position: -11px -448px ;} +.black3D { background-position: -11px -464px ;} +.black3E { background-position: -11px -480px ;} +.black3F { background-position: -11px -496px ;} +.black60 { background-position: -11px -512px ;} +.black61 { background-position: -11px -528px ;} +.black62 { background-position: -11px -544px ;} +.black63 { background-position: -11px -560px ;} +.black64 { background-position: -11px -576px ;} +.black65 { background-position: -11px -592px ;} +.black66 { background-position: -11px -608px ;} +.black67 { background-position: -11px -624px ;} +.black68 { background-position: -11px -640px ;} +.black69 { background-position: -11px -656px ;} +.black6A { background-position: -11px -672px ;} +.black6B { background-position: -11px -688px ;} +.black6C { background-position: -11px -704px ;} +.black6D { background-position: -11px -720px ;} +.black6E { background-position: -11px -736px ;} +.black6F { background-position: -11px -752px ;} +.black70 { background-position: -11px -768px ;} +.black71 { background-position: -11px -784px ;} +.black72 { background-position: -11px -800px ;} +.black73 { background-position: -11px -816px ;} +.black74 { background-position: -11px -832px ;} +.black75 { background-position: -11px -848px ;} +.black76 { background-position: -11px -864px ;} +.black77 { background-position: -11px -880px ;} +.black78 { background-position: -11px -896px ;} +.black79 { background-position: -11px -912px ;} +.black7A { background-position: -11px -928px ;} +.black7B { background-position: -11px -944px ;} +.black7C { background-position: -11px -960px ;} +.black7D { background-position: -11px -976px ;} +.black7E { background-position: -11px -992px ;} +.black7F { background-position: -11px -1008px ;} + +.red20 { background-position: -22px 0px ;} +.red21 { background-position: -22px -16px ;} +.red22 { background-position: -22px -32px ;} +.red23 { background-position: -22px -48px ;} +.red24 { background-position: -22px -64px ;} +.red25 { background-position: -22px -80px ;} +.red26 { background-position: -22px -96px ;} +.red27 { background-position: -22px -112px ;} +.red28 { background-position: -22px -128px ;} +.red29 { background-position: -22px -144px ;} +.red2A { background-position: -22px -160px ;} +.red2B { background-position: -22px -176px ;} +.red2C { background-position: -22px -192px ;} +.red2D { background-position: -22px -208px ;} +.red2E { background-position: -22px -224px ;} +.red2F { background-position: -22px -240px ;} +.red30 { background-position: -22px -256px ;} +.red31 { background-position: -22px -272px ;} +.red32 { background-position: -22px -288px ;} +.red33 { background-position: -22px -304px ;} +.red34 { background-position: -22px -320px ;} +.red35 { background-position: -22px -336px ;} +.red36 { background-position: -22px -352px ;} +.red37 { background-position: -22px -368px ;} +.red38 { background-position: -22px -384px ;} +.red39 { background-position: -22px -400px ;} +.red3A { background-position: -22px -416px ;} +.red3B { background-position: -22px -432px ;} +.red3C { background-position: -22px -448px ;} +.red3D { background-position: -22px -464px ;} +.red3E { background-position: -22px -480px ;} +.red3F { background-position: -22px -496px ;} +.red60 { background-position: -22px -512px ;} +.red61 { background-position: -22px -528px ;} +.red62 { background-position: -22px -544px ;} +.red63 { background-position: -22px -560px ;} +.red64 { background-position: -22px -576px ;} +.red65 { background-position: -22px -592px ;} +.red66 { background-position: -22px -608px ;} +.red67 { background-position: -22px -624px ;} +.red68 { background-position: -22px -640px ;} +.red69 { background-position: -22px -656px ;} +.red6A { background-position: -22px -672px ;} +.red6B { background-position: -22px -688px ;} +.red6C { background-position: -22px -704px ;} +.red6D { background-position: -22px -720px ;} +.red6E { background-position: -22px -736px ;} +.red6F { background-position: -22px -752px ;} +.red70 { background-position: -22px -768px ;} +.red71 { background-position: -22px -784px ;} +.red72 { background-position: -22px -800px ;} +.red73 { background-position: -22px -816px ;} +.red74 { background-position: -22px -832px ;} +.red75 { background-position: -22px -848px ;} +.red76 { background-position: -22px -864px ;} +.red77 { background-position: -22px -880px ;} +.red78 { background-position: -22px -896px ;} +.red79 { background-position: -22px -912px ;} +.red7A { background-position: -22px -928px ;} +.red7B { background-position: -22px -944px ;} +.red7C { background-position: -22px -960px ;} +.red7D { background-position: -22px -976px ;} +.red7E { background-position: -22px -992px ;} +.red7F { background-position: -22px -1008px ;} + +.blue20 { background-position: -33px 0px ;} +.blue21 { background-position: -33px -16px ;} +.blue22 { background-position: -33px -32px ;} +.blue23 { background-position: -33px -48px ;} +.blue24 { background-position: -33px -64px ;} +.blue25 { background-position: -33px -80px ;} +.blue26 { background-position: -33px -96px ;} +.blue27 { background-position: -33px -112px ;} +.blue28 { background-position: -33px -128px ;} +.blue29 { background-position: -33px -144px ;} +.blue2A { background-position: -33px -160px ;} +.blue2B { background-position: -33px -176px ;} +.blue2C { background-position: -33px -192px ;} +.blue2D { background-position: -33px -208px ;} +.blue2E { background-position: -33px -224px ;} +.blue2F { background-position: -33px -240px ;} +.blue30 { background-position: -33px -256px ;} +.blue31 { background-position: -33px -272px ;} +.blue32 { background-position: -33px -288px ;} +.blue33 { background-position: -33px -304px ;} +.blue34 { background-position: -33px -320px ;} +.blue35 { background-position: -33px -336px ;} +.blue36 { background-position: -33px -352px ;} +.blue37 { background-position: -33px -368px ;} +.blue38 { background-position: -33px -384px ;} +.blue39 { background-position: -33px -400px ;} +.blue3A { background-position: -33px -416px ;} +.blue3B { background-position: -33px -432px ;} +.blue3C { background-position: -33px -448px ;} +.blue3D { background-position: -33px -464px ;} +.blue3E { background-position: -33px -480px ;} +.blue3F { background-position: -33px -496px ;} +.blue60 { background-position: -33px -512px ;} +.blue61 { background-position: -33px -528px ;} +.blue62 { background-position: -33px -544px ;} +.blue63 { background-position: -33px -560px ;} +.blue64 { background-position: -33px -576px ;} +.blue65 { background-position: -33px -592px ;} +.blue66 { background-position: -33px -608px ;} +.blue67 { background-position: -33px -624px ;} +.blue68 { background-position: -33px -640px ;} +.blue69 { background-position: -33px -656px ;} +.blue6A { background-position: -33px -672px ;} +.blue6B { background-position: -33px -688px ;} +.blue6C { background-position: -33px -704px ;} +.blue6D { background-position: -33px -720px ;} +.blue6E { background-position: -33px -736px ;} +.blue6F { background-position: -33px -752px ;} +.blue70 { background-position: -33px -768px ;} +.blue71 { background-position: -33px -784px ;} +.blue72 { background-position: -33px -800px ;} +.blue73 { background-position: -33px -816px ;} +.blue74 { background-position: -33px -832px ;} +.blue75 { background-position: -33px -848px ;} +.blue76 { background-position: -33px -864px ;} +.blue77 { background-position: -33px -880px ;} +.blue78 { background-position: -33px -896px ;} +.blue79 { background-position: -33px -912px ;} +.blue7A { background-position: -33px -928px ;} +.blue7B { background-position: -33px -944px ;} +.blue7C { background-position: -33px -960px ;} +.blue7D { background-position: -33px -976px ;} +.blue7E { background-position: -33px -992px ;} +.blue7F { background-position: -33px -1008px ;} + +.yellow20 { background-position: -44px 0px ;} +.yellow21 { background-position: -44px -16px ;} +.yellow22 { background-position: -44px -32px ;} +.yellow23 { background-position: -44px -48px ;} +.yellow24 { background-position: -44px -64px ;} +.yellow25 { background-position: -44px -80px ;} +.yellow26 { background-position: -44px -96px ;} +.yellow27 { background-position: -44px -112px ;} +.yellow28 { background-position: -44px -128px ;} +.yellow29 { background-position: -44px -144px ;} +.yellow2A { background-position: -44px -160px ;} +.yellow2B { background-position: -44px -176px ;} +.yellow2C { background-position: -44px -192px ;} +.yellow2D { background-position: -44px -208px ;} +.yellow2E { background-position: -44px -224px ;} +.yellow2F { background-position: -44px -240px ;} +.yellow30 { background-position: -44px -256px ;} +.yellow31 { background-position: -44px -272px ;} +.yellow32 { background-position: -44px -288px ;} +.yellow33 { background-position: -44px -304px ;} +.yellow34 { background-position: -44px -320px ;} +.yellow35 { background-position: -44px -336px ;} +.yellow36 { background-position: -44px -352px ;} +.yellow37 { background-position: -44px -368px ;} +.yellow38 { background-position: -44px -384px ;} +.yellow39 { background-position: -44px -400px ;} +.yellow3A { background-position: -44px -416px ;} +.yellow3B { background-position: -44px -432px ;} +.yellow3C { background-position: -44px -448px ;} +.yellow3D { background-position: -44px -464px ;} +.yellow3E { background-position: -44px -480px ;} +.yellow3F { background-position: -44px -496px ;} +.yellow60 { background-position: -44px -512px ;} +.yellow61 { background-position: -44px -528px ;} +.yellow62 { background-position: -44px -544px ;} +.yellow63 { background-position: -44px -560px ;} +.yellow64 { background-position: -44px -576px ;} +.yellow65 { background-position: -44px -592px ;} +.yellow66 { background-position: -44px -608px ;} +.yellow67 { background-position: -44px -624px ;} +.yellow68 { background-position: -44px -640px ;} +.yellow69 { background-position: -44px -656px ;} +.yellow6A { background-position: -44px -672px ;} +.yellow6B { background-position: -44px -688px ;} +.yellow6C { background-position: -44px -704px ;} +.yellow6D { background-position: -44px -720px ;} +.yellow6E { background-position: -44px -736px ;} +.yellow6F { background-position: -44px -752px ;} +.yellow70 { background-position: -44px -768px ;} +.yellow71 { background-position: -44px -784px ;} +.yellow72 { background-position: -44px -800px ;} +.yellow73 { background-position: -44px -816px ;} +.yellow74 { background-position: -44px -832px ;} +.yellow75 { background-position: -44px -848px ;} +.yellow76 { background-position: -44px -864px ;} +.yellow77 { background-position: -44px -880px ;} +.yellow78 { background-position: -44px -896px ;} +.yellow79 { background-position: -44px -912px ;} +.yellow7A { background-position: -44px -928px ;} +.yellow7B { background-position: -44px -944px ;} +.yellow7C { background-position: -44px -960px ;} +.yellow7D { background-position: -44px -976px ;} +.yellow7E { background-position: -44px -992px ;} +.yellow7F { background-position: -44px -1008px ;} + +.green20 { background-position: -55px 0px ;} +.green21 { background-position: -55px -16px ;} +.green22 { background-position: -55px -32px ;} +.green23 { background-position: -55px -48px ;} +.green24 { background-position: -55px -64px ;} +.green25 { background-position: -55px -80px ;} +.green26 { background-position: -55px -96px ;} +.green27 { background-position: -55px -112px ;} +.green28 { background-position: -55px -128px ;} +.green29 { background-position: -55px -144px ;} +.green2A { background-position: -55px -160px ;} +.green2B { background-position: -55px -176px ;} +.green2C { background-position: -55px -192px ;} +.green2D { background-position: -55px -208px ;} +.green2E { background-position: -55px -224px ;} +.green2F { background-position: -55px -240px ;} +.green30 { background-position: -55px -256px ;} +.green31 { background-position: -55px -272px ;} +.green32 { background-position: -55px -288px ;} +.green33 { background-position: -55px -304px ;} +.green34 { background-position: -55px -320px ;} +.green35 { background-position: -55px -336px ;} +.green36 { background-position: -55px -352px ;} +.green37 { background-position: -55px -368px ;} +.green38 { background-position: -55px -384px ;} +.green39 { background-position: -55px -400px ;} +.green3A { background-position: -55px -416px ;} +.green3B { background-position: -55px -432px ;} +.green3C { background-position: -55px -448px ;} +.green3D { background-position: -55px -464px ;} +.green3E { background-position: -55px -480px ;} +.green3F { background-position: -55px -496px ;} +.green60 { background-position: -55px -512px ;} +.green61 { background-position: -55px -528px ;} +.green62 { background-position: -55px -544px ;} +.green63 { background-position: -55px -560px ;} +.green64 { background-position: -55px -576px ;} +.green65 { background-position: -55px -592px ;} +.green66 { background-position: -55px -608px ;} +.green67 { background-position: -55px -624px ;} +.green68 { background-position: -55px -640px ;} +.green69 { background-position: -55px -656px ;} +.green6A { background-position: -55px -672px ;} +.green6B { background-position: -55px -688px ;} +.green6C { background-position: -55px -704px ;} +.green6D { background-position: -55px -720px ;} +.green6E { background-position: -55px -736px ;} +.green6F { background-position: -55px -752px ;} +.green70 { background-position: -55px -768px ;} +.green71 { background-position: -55px -784px ;} +.green72 { background-position: -55px -800px ;} +.green73 { background-position: -55px -816px ;} +.green74 { background-position: -55px -832px ;} +.green75 { background-position: -55px -848px ;} +.green76 { background-position: -55px -864px ;} +.green77 { background-position: -55px -880px ;} +.green78 { background-position: -55px -896px ;} +.green79 { background-position: -55px -912px ;} +.green7A { background-position: -55px -928px ;} +.green7B { background-position: -55px -944px ;} +.green7C { background-position: -55px -960px ;} +.green7D { background-position: -55px -976px ;} +.green7E { background-position: -55px -992px ;} +.green7F { background-position: -55px -1008px ;} + +.cyan20 { background-position: -66px 0px ;} +.cyan21 { background-position: -66px -16px ;} +.cyan22 { background-position: -66px -32px ;} +.cyan23 { background-position: -66px -48px ;} +.cyan24 { background-position: -66px -64px ;} +.cyan25 { background-position: -66px -80px ;} +.cyan26 { background-position: -66px -96px ;} +.cyan27 { background-position: -66px -112px ;} +.cyan28 { background-position: -66px -128px ;} +.cyan29 { background-position: -66px -144px ;} +.cyan2A { background-position: -66px -160px ;} +.cyan2B { background-position: -66px -176px ;} +.cyan2C { background-position: -66px -192px ;} +.cyan2D { background-position: -66px -208px ;} +.cyan2E { background-position: -66px -224px ;} +.cyan2F { background-position: -66px -240px ;} +.cyan30 { background-position: -66px -256px ;} +.cyan31 { background-position: -66px -272px ;} +.cyan32 { background-position: -66px -288px ;} +.cyan33 { background-position: -66px -304px ;} +.cyan34 { background-position: -66px -320px ;} +.cyan35 { background-position: -66px -336px ;} +.cyan36 { background-position: -66px -352px ;} +.cyan37 { background-position: -66px -368px ;} +.cyan38 { background-position: -66px -384px ;} +.cyan39 { background-position: -66px -400px ;} +.cyan3A { background-position: -66px -416px ;} +.cyan3B { background-position: -66px -432px ;} +.cyan3C { background-position: -66px -448px ;} +.cyan3D { background-position: -66px -464px ;} +.cyan3E { background-position: -66px -480px ;} +.cyan3F { background-position: -66px -496px ;} +.cyan60 { background-position: -66px -512px ;} +.cyan61 { background-position: -66px -528px ;} +.cyan62 { background-position: -66px -544px ;} +.cyan63 { background-position: -66px -560px ;} +.cyan64 { background-position: -66px -576px ;} +.cyan65 { background-position: -66px -592px ;} +.cyan66 { background-position: -66px -608px ;} +.cyan67 { background-position: -66px -624px ;} +.cyan68 { background-position: -66px -640px ;} +.cyan69 { background-position: -66px -656px ;} +.cyan6A { background-position: -66px -672px ;} +.cyan6B { background-position: -66px -688px ;} +.cyan6C { background-position: -66px -704px ;} +.cyan6D { background-position: -66px -720px ;} +.cyan6E { background-position: -66px -736px ;} +.cyan6F { background-position: -66px -752px ;} +.cyan70 { background-position: -66px -768px ;} +.cyan71 { background-position: -66px -784px ;} +.cyan72 { background-position: -66px -800px ;} +.cyan73 { background-position: -66px -816px ;} +.cyan74 { background-position: -66px -832px ;} +.cyan75 { background-position: -66px -848px ;} +.cyan76 { background-position: -66px -864px ;} +.cyan77 { background-position: -66px -880px ;} +.cyan78 { background-position: -66px -896px ;} +.cyan79 { background-position: -66px -912px ;} +.cyan7A { background-position: -66px -928px ;} +.cyan7B { background-position: -66px -944px ;} +.cyan7C { background-position: -66px -960px ;} +.cyan7D { background-position: -66px -976px ;} +.cyan7E { background-position: -66px -992px ;} +.cyan7F { background-position: -66px -1008px ;} + +.magenta20 { background-position: -77px 0px ;} +.magenta21 { background-position: -77px -16px ;} +.magenta22 { background-position: -77px -32px ;} +.magenta23 { background-position: -77px -48px ;} +.magenta24 { background-position: -77px -64px ;} +.magenta25 { background-position: -77px -80px ;} +.magenta26 { background-position: -77px -96px ;} +.magenta27 { background-position: -77px -112px ;} +.magenta28 { background-position: -77px -128px ;} +.magenta29 { background-position: -77px -144px ;} +.magenta2A { background-position: -77px -160px ;} +.magenta2B { background-position: -77px -176px ;} +.magenta2C { background-position: -77px -192px ;} +.magenta2D { background-position: -77px -208px ;} +.magenta2E { background-position: -77px -224px ;} +.magenta2F { background-position: -77px -240px ;} +.magenta30 { background-position: -77px -256px ;} +.magenta31 { background-position: -77px -272px ;} +.magenta32 { background-position: -77px -288px ;} +.magenta33 { background-position: -77px -304px ;} +.magenta34 { background-position: -77px -320px ;} +.magenta35 { background-position: -77px -336px ;} +.magenta36 { background-position: -77px -352px ;} +.magenta37 { background-position: -77px -368px ;} +.magenta38 { background-position: -77px -384px ;} +.magenta39 { background-position: -77px -400px ;} +.magenta3A { background-position: -77px -416px ;} +.magenta3B { background-position: -77px -432px ;} +.magenta3C { background-position: -77px -448px ;} +.magenta3D { background-position: -77px -464px ;} +.magenta3E { background-position: -77px -480px ;} +.magenta3F { background-position: -77px -496px ;} +.magenta60 { background-position: -77px -512px ;} +.magenta61 { background-position: -77px -528px ;} +.magenta62 { background-position: -77px -544px ;} +.magenta63 { background-position: -77px -560px ;} +.magenta64 { background-position: -77px -576px ;} +.magenta65 { background-position: -77px -592px ;} +.magenta66 { background-position: -77px -608px ;} +.magenta67 { background-position: -77px -624px ;} +.magenta68 { background-position: -77px -640px ;} +.magenta69 { background-position: -77px -656px ;} +.magenta6A { background-position: -77px -672px ;} +.magenta6B { background-position: -77px -688px ;} +.magenta6C { background-position: -77px -704px ;} +.magenta6D { background-position: -77px -720px ;} +.magenta6E { background-position: -77px -736px ;} +.magenta6F { background-position: -77px -752px ;} +.magenta70 { background-position: -77px -768px ;} +.magenta71 { background-position: -77px -784px ;} +.magenta72 { background-position: -77px -800px ;} +.magenta73 { background-position: -77px -816px ;} +.magenta74 { background-position: -77px -832px ;} +.magenta75 { background-position: -77px -848px ;} +.magenta76 { background-position: -77px -864px ;} +.magenta77 { background-position: -77px -880px ;} +.magenta78 { background-position: -77px -896px ;} +.magenta79 { background-position: -77px -912px ;} +.magenta7A { background-position: -77px -928px ;} +.magenta7B { background-position: -77px -944px ;} +.magenta7C { background-position: -77px -960px ;} +.magenta7D { background-position: -77px -976px ;} +.magenta7E { background-position: -77px -992px ;} +.magenta7F { background-position: -77px -1008px ;} + + + + diff --git a/skins/xstyle/vtxpage.tmpl b/skins/xstyle/vtxpage.tmpl new file mode 100644 index 0000000..5223971 --- /dev/null +++ b/skins/xstyle/vtxpage.tmpl @@ -0,0 +1,43 @@ +<!-- vtx --> +<?% IF data.0 >= 1 %?> +<?% channel = data.0.3 %?> +<?% url = "?cmd=vt&channel=${channel}" %?> +<?% END %?> +<h1><?% gettext("Teletext") %?></h1> + +<table border="0"> +<tr><td><form> + <select name='chan' onChange="di(this.form.chan.options[this.form.chan.options.selectedIndex].value, '?cmd=vt&channel=')"> + <?% FOREACH ch = param.channels %?> + <option value="<?% ch.1 %?>" <?% "selected" IF channel == ch.1 %?>><?% ch.0 %?></option> + <?% END %?> + </select> + </form> +</td> + <?% IF channel %?> +<td> + <form method="post" action="<?% url %?>"> + <?% gettext("Page") %?>:<input style='width:50px' type="text" name="page" size="5" value="<?% data.0.1 %?>"> + </form> +</td> +<td> +<form method="post" action="?cmd=vs&channel=<?% channel %?>"> + <?% gettext("Search") %?>:<input style='width:250px' type="text" name="data" size="10" value=""> +</form> +</td> +<?% END %?> +</tr> +</table> +<?% IF channel %?> + <?% IF data.0.4 != 0 %?><a title="<?% gettext("First page") %?>" href="<?% url %?>"><img src='images/oben.png'></a><?% ELSE %?><span class="shadow"><img src='images/trans.gif'></span><?% END %?> + <?% IF data.0.4 != 0 %?><a title="<?% gettext("Previous page") %?>"href="<?% url %?>&page=<?% data.0.4 %?>"><img src='images/schnell_back.png'></a><?% ELSE %?><span class="shadow"><img src='images/trans.gif'></span><?% END %?> + <?% IF data.0.5 != 0 %?><a title="<?% gettext("Next page") %?>"href="<?% url %?>&page=<?% data.0.5 %?>"><img src='images/schnell_vor.png'></a><?% ELSE %?><span class="shadow"><img src='images/trans.gif'></span><?% END %?> +<?% END %?> + +<br /> +<?% FOREACH zeile = data %?> +<?% id=zeile.0;page=zeile.1;subpage=zeile.2;channels=zeile.3;prev=zeile.4;next=zeile.5;mtime=zeile.6 %?> +<div style="float:left; margin:5px;" id="<?% id %?>"> + <h2><?% gettext("Page") %?> <?% page; IF subpage > 0 %?>/<?% subpage; END %?></h2> + <div id="vt">
<?% zeile.7 %?> + </div>
</div>
<?% END %?> diff --git a/skins/xstyle/widgets/start.tmpl b/skins/xstyle/widgets/start.tmpl index a48e427..53a9a08 100644 --- a/skins/xstyle/widgets/start.tmpl +++ b/skins/xstyle/widgets/start.tmpl @@ -15,7 +15,9 @@ <link href="style/style.css" type="text/css" rel="stylesheet" /> <link href="style/xmenu.css" type="text/css" rel="stylesheet"> <link href="style/xmenu.windows.css" type="text/css" rel="stylesheet"> - +<?% IF call == 'vtxpage' %?> + <link href="style/vtxgfx.css" type="text/css" rel="stylesheet" /> +<?% END %?> <!-- Javascript --> <script type="text/javascript" src="javascript/global.js"></script> <script type="text/javascript" src="javascript/XHConn.js"></script> diff --git a/skins/xstyle/widgets/vtx.tmpl b/skins/xstyle/widgets/vtx.tmpl deleted file mode 100644 index 274d2fc..0000000 --- a/skins/xstyle/widgets/vtx.tmpl +++ /dev/null @@ -1,44 +0,0 @@ -<!-- vtx --> -<?% IF !global.include_vtx_wigdet.defined %?> -<h1><?% gettext("Teletext") %?> -<?% gettext("Page") %?> <?% param.page; pages = cgi.param('data').split('_'); IF pages.size > 1 && pages.last > 0 %?>/<?% pages.last; END %?> -</h1> -<?% ELSE %?> -<h2> -<?% gettext("Page") %?> <?% param.page; pages = cgi.param('data').split('_'); IF pages.size > 1 && pages.last > 0 %?>/<?% pages.last; END %?> -</h2> -<?% END %?> - -<?% IF !global.include_vtx_wigdet.defined %?> -<?% url = "?cmd=vt&data=" %?> -<table border="0"> -<tr><td><form> - <select name='chan' onChange="di(this.form.chan.options[this.form.chan.options.selectedIndex].value, '?cmd=vtxchannel&data=')"> - <?% FOREACH ch = param.channels %?> - <option value="<?% ch.1 %?>" <?% "selected" IF param.channel == ch.1 %?>><?% ch.0 %?></option> - <?% END %?> - </select> - <input style='width:50px' type="hidden" name="cmd" value="vt"> - <?% gettext("Page") %?>:<input style='width:50px' type="text" name="data" size="5" value="<?% param.page %?>"> - </form> -</td> -<td> -<form method="post" action="?cmd=vs"> - <?% gettext("Search") %?>:<input style='width:50px' type="text" name="data" size="10" value=""> -</form> -</td> -</tr> -</table> - <?% IF param.toppage != 0 %?><a title="<?% gettext("First page") %?>" href="<?% url %?><?% param.toppage %?>"><img src='images/oben.png'></a><?% ELSE %?><span class="shadow"><img src='images/trans.gif'></span><?% END %?> - <?% IF param.page_prev != 0 %?><a title="<?% gettext("Previous page") %?>"href="<?% url %?><?% param.page_prev %?>"><img src='images/schnell_back.png'></a><?% ELSE %?><span class="shadow"><img src='images/trans.gif'></span><?% END %?> - <?% IF param.subpage_prev != 0 %?><a title="<?% gettext("Prior sub page") %?>"href="<?% url %?><?% param.subpage_prev %?>"><img src='images/back.png'></a><?% ELSE %?><span class="shadow"><img src='images/trans.gif'></span><?% END %?> - <?% IF param.subpage_next != 0 %?><a title="<?% gettext("Next sub page") %?>"href="<?% url %?><?% param.subpage_next %?>"><img src='images/vor.png'></a><?% ELSE %?><span class="shadow"><img src='images/trans.gif'></span><?% END %?> - <?% IF param.page_next != 0 %?><a title="<?% gettext("Next page") %?>"href="<?% url %?><?% param.page_next %?>"><img src='images/schnell_vor.png'></a><?% ELSE %?><span class="shadow"><img src='images/trans.gif'></span><?% END %?> -<?% END %?> - -<br /> -<?% FOREACH l = data %?> - <?% l %?> -<?% END %?> - -<?% SET global.include_vtx_wigdet = 1 %?> |
