Author: duncan
Date: Fri Jun  8 17:15:32 2007
New Revision: 9672

Modified:
   branches/rel-1/freevo/share/skins/main/basic.fxd
   branches/rel-1/freevo/share/skins/main/bluestar.fxd
   branches/rel-1/freevo/share/skins/main/blurr.fxd
   branches/rel-1/freevo/share/skins/main/crystal.fxd
   branches/rel-1/freevo/share/skins/main/dark.fxd
   branches/rel-1/freevo/share/skins/main/info.fxd
   branches/rel-1/freevo/share/skins/main/mediaportal.fxd
   branches/rel-1/freevo/share/skins/main/noia.fxd
   branches/rel-1/freevo/share/skins/main/rain.fxd
   branches/rel-1/freevo/src/gui/Window.py
   branches/rel-1/freevo/src/skin.py
   branches/rel-1/freevo/src/skins/main/area.py
   branches/rel-1/freevo/src/skins/main/listing_area.py
   branches/rel-1/freevo/src/skins/main/tvlisting_area.py
   branches/rel-1/freevo/src/skins/main/xml_skin.py

Log:
Reversed patch as it doesn't work without the buttonbar plugin


Modified: branches/rel-1/freevo/share/skins/main/basic.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/basic.fxd    (original)
+++ branches/rel-1/freevo/share/skins/main/basic.fxd    Fri Jun  8 17:15:32 2007
@@ -90,7 +90,7 @@
             <view layout="view" x="580" y="110" width="200" height="300"/>
 
             <!-- 4. listing area: the list of all items -->
-            <listing layout="listing" x="50" y="110" width="510" height="470 - 
(buttonbar * (buttonbar_height + 10))">
+            <listing layout="listing" x="50" y="110" width="510" height="470">
                 <image x="10" y="110" width="32" height="32" label="uparrow"
                     filename="up.png"/>
                 <image x="10" y="max-32" width="32" height="32" 
label="downarrow"
@@ -111,7 +111,7 @@
         <!-- default description: make listing area smaller, show info area -->
         <menuset label="default description" inherits="normal text style">
             <listing height="370"/>
-            <info visible="yes" layout="info" x="10" y="490 - (buttonbar * 
(buttonbar_height + 10))" height="100" width="780"/>
+            <info visible="yes" layout="info" x="10" y="490" height="100" 
width="780"/>
         </menuset>
 
         <!-- default description no image: mix between the two above -->
@@ -472,12 +472,12 @@
                 <image width="16" height="16" label="leftarrow" 
filename="left.png"/>
                 <image width="16" height="16" label="rightarrow" 
filename="right.png"/>
             </listing>
-            <info layout="tv info" x="10" y="400" width="780" height="190 - 
buttonbar_height"/>
+            <info layout="tv info" x="10" y="400" width="780" height="190"/>
         </menuset>
 
         <menuset label="tv submenu" inherits="default description no image">
             <screen layout="screen" visible="yes"/>
-            <listing x="10" y="390" height="200 - buttonbar_height">
+            <listing x="10" y="390" height="200">
                 <image x="750" y="390" label="uparrow"/>
                 <image x="750" label="downarrow"/>
             </listing>
@@ -816,20 +816,7 @@
                 width="780" height="80"/>
             <info layout="info" x="10" y="110" width="780" height="480"/>
         </headlines>
-       <!-- 
-       *******************************************************
-       ** Button Bar TVGuide Info
-       ******************************************************* -->
-
-       <tvguideinfo>
-           <screen layout="screen" x="0" y="0" width="800" height="600"/>
-           <title layout="tvguideinfo title" x="10" y="70" width="780" 
height="80"/>
-           <info layout="info" x="10" y="130" width="780" height="460"/>
-       </tvguideinfo>
-    
-    <layout label="tvguideinfo title">
-           <content x="0" y="0" type="menu" font="title area" align="left" 
valign="center"/>
-       </layout>
+
     </skin>
 </freevo>
 <!-- Keep this comment at the end of the file

Modified: branches/rel-1/freevo/share/skins/main/bluestar.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/bluestar.fxd (original)
+++ branches/rel-1/freevo/share/skins/main/bluestar.fxd Fri Jun  8 17:15:32 2007
@@ -140,13 +140,13 @@
     <!-- default description: make listing area smaller, show info area -->
     <menuset label="default description">
       <listing height="340"/>
-      <info x="40" y="460" width="750" height="120 - buttonbar_height" />
+      <info x="40" y="460" width="750" height="120" />
     </menuset>
 
     <!-- default description no image: mix between the two above -->
     <menuset label="default description no image">
       <listing height="340"/>
-      <info x="40" y="460" width="750" height="120 - buttonbar_height" />
+      <info x="40" y="460" width="750" height="120" />
     </menuset>
     
     <!-- special settings for audio. The default style is an image based style 
-->
@@ -184,13 +184,13 @@
     <menuset label="video details" inherits="normal text style">
       <subtitle layout="subtitle" x="10" y="100" width="780" height="60"/>
 
-      <listing layout="video list" x="500" y="450" width="290" height="140- 
buttonbar_height">
+      <listing layout="video list" x="500" y="450" width="290" height="140">
        <image label="uparrow" filename=""/>
        <image label="downarrow" filename=""/>
       </listing>
 
       <view x="545" y="150"/>
-      <info layout="video info" x="10" y="160" width="480" height="430- 
buttonbar_height"/>
+      <info layout="video info" x="10" y="160" width="480" height="430"/>
     </menuset>
 
 
@@ -265,7 +265,7 @@
       <listing y="140">
        <image y="140" label="uparrow"/>
       </listing>
-      <info layout="tv info" y="440" height="150 - buttonbar_height"/>
+      <info layout="tv info" y="440" height="150"/>
     </menuset>
 
     <layout label="tv screen">
@@ -281,7 +281,7 @@
       <listing y="140">
        <image y="140" label="uparrow"/>
       </listing>
-      <info layout="tv info" y="290" height="290 - buttonbar_height"/>
+      <info layout="tv info" y="290" height="290"/>
     </menuset>
 
     <!-- tv info area -->

Modified: branches/rel-1/freevo/share/skins/main/blurr.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/blurr.fxd    (original)
+++ branches/rel-1/freevo/share/skins/main/blurr.fxd    Fri Jun  8 17:15:32 2007
@@ -30,7 +30,7 @@
         <!-- default with description and image -->
         <menuset label="default description" inherits="normal text style">
             <listing height="350"/>
-            <info layout="description" visible="yes" x="20" y="460" 
width="760" height="130 - buttonbar_height"/>
+            <info layout="description" visible="yes" x="20" y="460" 
width="760" height="130"/>
         </menuset>
         
         <!-- default with description without an image -->
@@ -99,7 +99,7 @@
             <!-- 4. listing area: the list of all items -->
             <screen layout="video screen" visible="yes"/>
             <view layout="view" x="10" y="90" width="280" height="250" 
align="left"/>
-            <listing x="30" y="350" width="710" height="230 - 
buttonbar_height">
+            <listing x="30" y="350" width="710" height="230">
                 <image filename="up.png" label="uparrow" x="750" y="350"/>
                 <image filename="down.png" label="downarrow" x="750" 
y="max-32"/>
             </listing>
@@ -241,7 +241,7 @@
         <menuset label="audio" inherits="normal text style">
             <screen layout="audio screen"/>
             <view layout="view" x="15" y="90" width="280" height="270"/>
-            <info layout="audio info" x="28" y="370" width="273" height="190 - 
buttonbar_height"/>
+            <info layout="audio info" x="28" y="370" width="273" height="190"/>
         </menuset>
         
         <layout label="audio screen">
@@ -250,7 +250,7 @@
                 <image filename="gant/music.png" x="435" y="230" width="370"
                     height="380"/>
                 <rectangle size="0" bgcolor="0x80000000" radius="10" x="12" 
y="87"
-                    width="290" height="475 - (buttonbar_height/2)"/>
+                    width="290" height="475"/>
             </background>
         </layout>
         
@@ -357,8 +357,8 @@
         
         <menuset label="image" inherits="normal text style">
             <screen layout="image screen"/>
-            <listing y="80" x="60" 
height="430-(buttonbar*(buttonbar_height+10))" width="700" layout="image list"/>
-            <info layout="image info" x="10" 
y="510-(buttonbar*(buttonbar_height-10))" width="780" height="80"/>
+            <listing y="80" x="60" height="430" width="700" layout="image 
list"/>
+            <info layout="image info" x="10" y="510" width="780" height="80"/>
             <view visible="no"/>
         </menuset>
         
@@ -525,7 +525,7 @@
             <screen layout="screen" x="0" y="0" width="800" height="600"/>
             <title visible="no"/>
             <info layout="tv info" x="10" y="80" width="760" height="115"/>
-            <listing layout="tv listing" x="10" y="220" width="750" 
height="350-(buttonbar*(buttonbar_height-30))">
+            <listing layout="tv listing" x="10" y="220" width="750" 
height="350">
                 <image x="765" y="220" width="32" height="32" label="uparrow"
                     filename="up.png"/>
                 <image x="765" y="max-32" width="32" height="32" 
label="downarrow" 

Modified: branches/rel-1/freevo/share/skins/main/crystal.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/crystal.fxd  (original)
+++ branches/rel-1/freevo/share/skins/main/crystal.fxd  Fri Jun  8 17:15:32 2007
@@ -120,13 +120,13 @@
     <!-- default description: make listing area smaller, show info area -->
     <menuset label="default description">
       <listing height="340"/>
-      <info x="40" y="460" width="750" height="120-buttonbar_height" />
+      <info x="40" y="460" width="750" height="120" />
     </menuset>
 
     <!-- default description no image: mix between the two above -->
     <menuset label="default description no image">
       <listing height="340"/>
-      <info x="40" y="460" width="750" height="120-buttonbar_height" />
+      <info x="40" y="460" width="750" height="120" />
     </menuset>
     
     <!-- special settings for audio. The default style is an image based style 
-->
@@ -164,13 +164,13 @@
     <menuset label="video details" inherits="normal text style">
       <subtitle layout="subtitle" x="10" y="100" width="780" height="60"/>
 
-      <listing layout="video list" x="500" y="450" width="290" 
height="140-buttonbar_height">
+      <listing layout="video list" x="500" y="450" width="290" height="140">
        <image label="uparrow" filename=""/>
        <image label="downarrow" filename=""/>
       </listing>
 
       <view x="545" y="150"/>
-      <info layout="video info" x="10" y="160" width="480" 
height="430-buttonbar_height"/>
+      <info layout="video info" x="10" y="160" width="480" height="430"/>
     </menuset>
 
 
@@ -245,7 +245,7 @@
       <listing y="140">
        <image y="140" label="uparrow"/>
       </listing>
-      <info layout="tv info" y="440" height="150-buttonbar_height"/>
+      <info layout="tv info" y="440" height="150"/>
     </menuset>
 
     <layout label="tv screen">
@@ -261,7 +261,7 @@
       <listing y="140">
        <image y="140" label="uparrow"/>
       </listing>
-      <info layout="tv info" y="290" height="290-buttonbar_height"/>
+      <info layout="tv info" y="290" height="290"/>
     </menuset>
 
     <!-- tv info area -->

Modified: branches/rel-1/freevo/share/skins/main/dark.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/dark.fxd     (original)
+++ branches/rel-1/freevo/share/skins/main/dark.fxd     Fri Jun  8 17:15:32 2007
@@ -209,7 +209,7 @@
 
 <!-- video ************************** -->
 <menuset label="video default" inherits="default textual">
- <info visible="yes" layout="video info" x="30" y="470" width="780" 
height="150-"/>
+ <info visible="yes" layout="video info" x="30" y="470" width="780" 
height="150"/>
 </menuset>
 
 <!-- MODE 0 -->
@@ -230,7 +230,7 @@
 
 <!-- audio **************************** -->
 <menuset label="audio default" inherits="default textual">
- <info visible="yes" layout="audio info" x="30" y="470" width="780" 
height="130-buttonbar_height"/>
+ <info visible="yes" layout="audio info" x="30" y="470" width="780" 
height="150"/>
 </menuset>
 
 <!-- MODE 0 -->
@@ -251,7 +251,7 @@
 
 <!-- image **************************** -->
 <menuset label="image default" inherits="default textual">
- <info visible="yes" layout="image info" x="30" y="470" width="780" 
height="130-buttonbar_height"/>
+ <info visible="yes" layout="image info" x="30" y="470" width="780" 
height="150"/>
 </menuset>
 
 <!-- MODE 0 -->
@@ -272,7 +272,7 @@
 
 <!-- mail ***************************** -->
 <menuset label="mail default" inherits="default textual">
- <info visible="yes" layout="mail info" x="30" y="470" width="780" 
height="130-buttonbar_height"/>
+ <info visible="yes" layout="mail info" x="30" y="470" width="780" 
height="150"/>
 </menuset>
 
 <menuset label="mail textual" inherits="mail default">

Modified: branches/rel-1/freevo/share/skins/main/info.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/info.fxd     (original)
+++ branches/rel-1/freevo/share/skins/main/info.fxd     Fri Jun  8 17:15:32 2007
@@ -60,13 +60,13 @@
     <!-- default description: make listing area smaller, show info area -->
     <menuset label="default description">
       <listing height="340"/>
-      <info x="40" y="460" width="750" height="120-buttonbar_height" />
+      <info x="40" y="460" width="750" height="120" />
     </menuset>
 
     <!-- default description no image: mix between the two above -->
     <menuset label="default description no image">
       <listing height="340"/>
-      <info x="40" y="460" width="750" height="120-buttonbar_height" />
+      <info x="40" y="460" width="750" height="120" />
     </menuset>
     
     <!-- special settings for audio. The default style is an image based style 
-->
@@ -103,13 +103,13 @@
     <menuset label="video details" inherits="normal text style">
       <subtitle layout="subtitle" x="10" y="100" width="780" height="60"/>
 
-      <listing layout="video list" x="500" y="450" width="290" 
height="140-buttonbar_height">
+      <listing layout="video list" x="500" y="450" width="290" height="140">
        <image label="uparrow" filename=""/>
        <image label="downarrow" filename=""/>
       </listing>
 
       <view x="545" y="150"/>
-      <info layout="video info" x="10" y="160" width="480" 
height="430-buttonbar_height"/>
+      <info layout="video info" x="10" y="160" width="480" height="430"/>
     </menuset>
 
 

Modified: branches/rel-1/freevo/share/skins/main/mediaportal.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/mediaportal.fxd      (original)
+++ branches/rel-1/freevo/share/skins/main/mediaportal.fxd      Fri Jun  8 
17:15:32 2007
@@ -101,7 +101,7 @@
             <!-- 4. listing area: the list of all items -->
             <screen layout="video screen" visible="yes"/>
             <view layout="view" x="10" y="90" width="280" height="250" 
align="left"/>
-            <listing x="30" y="350" width="710" 
height="230-(buttonbar*(buttonbar_height-10))">
+            <listing x="30" y="350" width="710" height="230">
                 <image filename="up.png" label="uparrow" x="750" y="350"/>
                 <image filename="down.png" label="downarrow" x="750" 
y="max-32"/>
             </listing>
@@ -243,7 +243,7 @@
         <menuset label="audio" inherits="normal text style">
             <screen layout="audio screen"/>
             <view layout="view" x="15" y="90" width="280" height="300"/>
-            <info layout="audio info" x="28" y="370" width="273" 
height="190-(buttonbar*(buttonbar_height-30))"/>
+            <info layout="audio info" x="28" y="370" width="273" height="190"/>
         </menuset>
         
         <layout label="audio screen">
@@ -350,7 +350,7 @@
         <menuset label="image" inherits="normal text style">
             <screen layout="image screen"/>
             <listing y="80" x="60" height="430" width="700" layout="image 
list"/>
-            <info layout="image info" x="10" y="510" width="780" 
height="80-buttonbar_height"/>
+            <info layout="image info" x="10" y="510" width="780" height="80"/>
             <view visible="no"/>
         </menuset>
 
@@ -519,7 +519,7 @@
             <screen layout="screen" x="0" y="0" width="800" height="600"/>
             <title visible="no"/>
             <info layout="tv info" x="10" y="80" width="760" height="115"/>
-            <listing layout="tv listing" x="10" y="220" width="750" 
height="350-(buttonbar*(buttonbar_height-20))">
+            <listing layout="tv listing" x="10" y="220" width="750" 
height="350">
                 <image x="765" y="220" width="33" height="17" label="uparrow"
                    filename="tv_up.png"/>
                 <image x="765" y="max-32" width="33" height="17" 
label="downarrow" 

Modified: branches/rel-1/freevo/share/skins/main/noia.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/noia.fxd     (original)
+++ branches/rel-1/freevo/share/skins/main/noia.fxd     Fri Jun  8 17:15:32 2007
@@ -76,7 +76,7 @@
       <listing y="140">
        <image y="140" label="uparrow"/>
       </listing>
-      <info layout="tv info" y="440" height="150-buttonbar_height"/>
+      <info layout="tv info" y="440" height="150"/>
     </menuset>
 
     <menuset label="tv menu more info">
@@ -84,7 +84,7 @@
       <listing y="140">
        <image y="140" label="uparrow"/>
       </listing>
-      <info layout="tv info" y="290" 
height="290-(buttonbar*(buttonbar_height-10))"/>
+      <info layout="tv info" y="290" height="290"/>
     </menuset>
 
     <!-- tv info area -->

Modified: branches/rel-1/freevo/share/skins/main/rain.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/rain.fxd     (original)
+++ branches/rel-1/freevo/share/skins/main/rain.fxd     Fri Jun  8 17:15:32 2007
@@ -128,13 +128,13 @@
     <!-- default description: make listing area smaller, show info area -->
     <menuset label="default description">
       <listing height="340"/>
-      <info x="40" y="460" width="750" 
height="120-(buttonbar*(buttonbar_height-10))" />
+      <info x="40" y="460" width="750" height="120" />
     </menuset>
 
     <!-- default description no image: mix between the two above -->
     <menuset label="default description no image">
       <listing height="340"/>
-      <info x="40" y="460" width="750" 
height="120-(buttonbar*(buttonbar_height-10))" />
+      <info x="40" y="460" width="750" height="120" />
     </menuset>
     
     <!-- special settings for audio. The default style is an image based style 
-->
@@ -178,7 +178,7 @@
       </listing>
 
       <view x="545" y="150"/>
-      <info layout="video info" x="10" y="160" width="480" 
height="430-buttonbar_height"/>
+      <info layout="video info" x="10" y="160" width="480" height="430"/>
     </menuset>
 
 
@@ -266,7 +266,7 @@
       <listing y="140">
        <image y="140" label="uparrow"/>
       </listing>
-      <info layout="tv info" y="290" 
height="290-(buttonbar*(buttonbar_height-10))"/>
+      <info layout="tv info" y="290" height="290"/>
     </menuset>
 
     <!-- tv info area -->

Modified: branches/rel-1/freevo/src/gui/Window.py
==============================================================================
--- branches/rel-1/freevo/src/gui/Window.py     (original)
+++ branches/rel-1/freevo/src/gui/Window.py     Fri Jun  8 17:15:32 2007
@@ -34,7 +34,7 @@
 
 from GUIObject import GUIObject, Align
 from Container import Container
-from skin import eval_attr
+
 
 class Window(GUIObject):
     """
@@ -81,8 +81,8 @@
     def __init__content__(self):
         x, y, width, height = self.content_layout.x, self.content_layout.y, \
                               self.content_layout.width, 
self.content_layout.height
-        width  = eval_attr(str(width), self.width) or self.width
-        height = eval_attr(str(height), self.height) or self.height
+        width  = eval(str(width),  { 'MAX': self.width }) or self.width
+        height = eval(str(height), { 'MAX': self.height }) or self.height
 
         self.content = Container('frame', x, y, width, height, 
vertical_expansion=1)
         GUIObject.add_child(self, self.content)
@@ -102,8 +102,8 @@
         self.height += height
 
         width, height = self.content_layout.width, self.content_layout.height
-        self.content.width  = eval_attr(str(width),  self.width ) or self.width
-        self.content.height = eval_attr(str(height), self.height) or 
self.height
+        self.content.width  = eval(str(width),  { 'MAX': self.width }) or 
self.width
+        self.content.height = eval(str(height), { 'MAX': self.height }) or 
self.height
 
         self.left = self.osd.width/2 - self.width/2
         self.top  = self.osd.height/2 - self.height/2
@@ -136,8 +136,8 @@
         for o in self.background_layout:
             if o[0] == 'rectangle':
                 r = copy.deepcopy(o[1])
-                r.width  = eval_attr(str(r.width),  self.get_size()[0])
-                r.height = eval_attr(str(r.height), self.get_size()[1])
+                r.width  = eval(str(r.width),  { 'MAX' : self.get_size()[0] })
+                r.height = eval(str(r.height), { 'MAX' : self.get_size()[1] })
                 if not r.width:
                     r.width  = self.get_size()[0]
                 if not r.height:

Modified: branches/rel-1/freevo/src/skin.py
==============================================================================
--- branches/rel-1/freevo/src/skin.py   (original)
+++ branches/rel-1/freevo/src/skin.py   Fri Jun  8 17:15:32 2007
@@ -42,7 +42,6 @@
 # -----------------------------------------------------------------------
 
 
-import plugin
 import config
 import sys
 import os.path
@@ -85,43 +84,6 @@
     """
     return not _singleton.force_redraw
 
-def eval_attr(attr_value, max):
-    """
-    Returns attr_value if it is not a string or evaluates it substituting max 
-    for 'MAX' or 'max' in the attr_value string.
-    """
-    if isinstance(attr_value,str):
-        global attr_global_dict
-        if attr_global_dict is None:
-            attr_global_dict = {}
-            
-            # Setup idlebar related values
-            p = plugin.getbyname('idlebar')
-            if p:
-                attr_global_dict['idlebar'] = 1
-                attr_global_dict['idlebar_height'] = 60
-            else:
-                attr_global_dict['idlebar'] = 0
-                attr_global_dict['idlebar_height'] = 0
-            
-            # Setup buttonbar related values
-            p = plugin.getbyname('buttonbar')
-            if p:
-                attr_global_dict['buttonbar'] = 1
-                attr_global_dict['buttonbar_height'] = 60
-            else:
-                attr_global_dict['buttonbar'] = 0
-                attr_global_dict['buttonbar_height'] = 0
-        # Set max values
-        if max is not None:
-            attr_global_dict['MAX'] = max
-            attr_global_dict['max'] = max
-        
-        return eval(attr_value, attr_global_dict)
-    
-    return attr_value
-
-attr_global_dict = None
 
 if __freevo_app__ == 'main':
     # init the skin

Modified: branches/rel-1/freevo/src/skins/main/area.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/area.py        (original)
+++ branches/rel-1/freevo/src/skins/main/area.py        Fri Jun  8 17:15:32 2007
@@ -57,7 +57,6 @@
 import util
 
 from skin_utils import *
-from skin import eval_attr
 import xml_skin
 import screen
 
@@ -367,10 +366,10 @@
         font_h=0
 
         if isinstance(object.width, str):
-            object.width = int(eval_attr(object.width, self.area_val.width))
+            object.width = int(eval(object.width, {'MAX':self.area_val.width}))
 
         if isinstance(object.height, str):
-            object.height = int(eval_attr(object.height, self.area_val.height))
+            object.height = int(eval(object.height, 
{'MAX':self.area_val.height}))
 
         object.x += self.area_val.x
         object.y += self.area_val.y
@@ -399,9 +398,9 @@
 
         # get the x and y value, based on MAX
         if isinstance(r.x, str):
-            r.x = int(eval_attr(r.x, item_w))
+            r.x = int(eval(r.x, {'MAX':item_w}))
         if isinstance(r.y, str):
-            r.y = int(eval_attr(r.y, item_h))
+            r.y = int(eval(r.y, {'MAX':item_h}))
 
         # set rect width and height to something
         if not r.width:
@@ -412,10 +411,10 @@
 
         # calc width and height based on MAX settings
         if isinstance(r.width, str):
-            r.width = int(eval_attr(r.width, item_w))
+            r.width = int(eval(r.width, {'MAX':item_w}))
 
         if isinstance(r.height, str):
-            r.height = int(eval_attr(r.height, item_h))
+            r.height = int(eval(r.height, {'MAX':item_h}))
 
         # correct item_w and item_h to fit the rect
         item_w = max(item_w, r.width)

Modified: branches/rel-1/freevo/src/skins/main/listing_area.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/listing_area.py        (original)
+++ branches/rel-1/freevo/src/skins/main/listing_area.py        Fri Jun  8 
17:15:32 2007
@@ -33,7 +33,6 @@
 
 from area import Skin_Area
 from skin_utils import *
-from skin import eval_attr
 import config
 
 class Listing_Area(Skin_Area):
@@ -469,7 +468,7 @@
             if menuw.menu_items[-1] != menu.choices[-1] and 
area.images['downarrow']:
                 if isinstance(area.images['downarrow'].y, str):
                     v = copy.copy(area.images['downarrow'])
-                    v.y = eval_attr(v.y, (item_y0-vskip))
+                    v.y = eval(v.y, {'MAX':(item_y0-vskip)})
                 else:
                     v = area.images['downarrow']
                 self.drawimage(area.images['downarrow'].filename, v)

Modified: branches/rel-1/freevo/src/skins/main/tvlisting_area.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/tvlisting_area.py      (original)
+++ branches/rel-1/freevo/src/skins/main/tvlisting_area.py      Fri Jun  8 
17:15:32 2007
@@ -36,7 +36,7 @@
 import math
 from area import Skin_Area, Geometry
 from skin_utils import *
-from skin import eval_attr
+
 
 class TVListing_Area(Skin_Area):
     """
@@ -389,7 +389,7 @@
         if menuw.display_down_arrow and area.images['downarrow']:
             if isinstance(area.images['downarrow'].y, str):
                 v = copy.copy(area.images['downarrow'])
-                v.y = eval_attr(v.y, y0)
+                v.y = eval(v.y, {'MAX' : y0})
             else:
                 v = area.images['downarrow']
             self.drawimage(area.images['downarrow'].filename, v)

Modified: branches/rel-1/freevo/src/skins/main/xml_skin.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/xml_skin.py    (original)
+++ branches/rel-1/freevo/src/skins/main/xml_skin.py    Fri Jun  8 17:15:32 2007
@@ -53,36 +53,6 @@
 #
 # Help functions
 #
-attr_global_dict = None
-
-def eval_attr(attr_value):
-    """
-    Returns attr_value if it is not a string or evaluates it substituting max 
-    for 'MAX' or 'max' in the attr_value string.
-    """
-    global attr_global_dict
-    
-    if attr_global_dict is None:
-        attr_global_dict = {}
-            
-        # Setup idlebar related values
-        p = plugin.getbyname('idlebar')
-        if p:
-            attr_global_dict['idlebar'] = 1
-            attr_global_dict['idlebar_height'] = 60
-        else:
-            attr_global_dict['idlebar'] = 0
-            attr_global_dict['idlebar_height'] = 0
-        
-        # Setup buttonbar related values
-        p = plugin.getbyname('buttonbar')
-        if p:
-            attr_global_dict['buttonbar'] = 1
-            attr_global_dict['buttonbar_height'] = 60
-        else:
-            attr_global_dict['buttonbar'] = 0
-            attr_global_dict['buttonbar_height'] = 0
-    return eval(attr_value, attr_global_dict)
 
 
 def attr_int(node, attr, default, scale=0.0):
@@ -94,12 +64,37 @@
             val = node.attrs[('', attr)]
             if val == 'line_height':
                 return -1
- 
+            new_val = ''
+
+            while val:
+                ppos = val[1:].find('+') + 1
+                mpos = val[1:].find('-') + 1
+                if ppos and mpos:
+                    pos = min(ppos, mpos)
+                elif ppos or mpos:
+                    pos = max(ppos, mpos)
+                else:
+                    pos = len(val)
+
+                try:
+                    i = int(round(scale*int(val[:pos])))
+                    if i < 0:
+                        new_val += str(i)
+                    else:
+                        new_val += '+' + str(i)
+                except ValueError:
+                    if val[:pos].upper() in ( '+MAX', 'MAX', '-MAX' ):
+                        new_val += val[:pos].upper()
+                    elif val[:pos].lower() in ( '+font_h', 'font_h', '-font_h' 
):
+                        new_val += val[:pos].lower()
+                    else:
+                        print 'WARNING: unsupported value %s' % val[:pos]
+                val = val[pos:]
+
             try:
-                value = eval(val)
-                return int(round(scale * value))
-            except:
-                return 'int(round(((%s) * %f)))' % (str(val), scale)
+                return int(new_val)
+            except ValueError:
+                return str(new_val)
 
     except ValueError:
         pass
@@ -331,14 +326,6 @@
         basic prepare function
         """
         try:
-            for c in self.content:               
-                if XML_types[c][0] == 'int' and isinstance(getattr(self,c), 
str):
-                    try:
-                        result = eval_attr(getattr(self, c))
-                        setattr(self, c, result)
-                    except:
-                        pass
-                
             if self.visible not in ('', 'yes'):
                 if len(self.visible) > 4 and self.visible[:4] == 'not ':
                     p = plugin.getbyname(self.visible[4:])
@@ -951,8 +938,6 @@
 
 
     def prepare(self):
-        global attr_global_dict
-        attr_global_dict = None
         self.prepared = True
         self.sets     = copy.deepcopy(self._sets)
 

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to