Corrective work now that the mess of files in ui dir has been removed.

This commit is contained in:
noisymime 2008-01-21 11:09:17 +00:00
parent 536eeb2369
commit fab9f5c6ab
28 changed files with 110 additions and 46 deletions

View File

@ -22,14 +22,16 @@ class GlossMgr:
transition_path = "transitions/menus/" + self.transition transition_path = "transitions/menus/" + self.transition
self.transition = __import__(transition_path).Transition(self) self.transition = __import__(transition_path).Transition(self)
#The background is a bit messy due to the depth issues :(
background = self.themeMgr.get_texture("background", None, None) background = self.themeMgr.get_texture("background", None, None)
(width, height) = background.get_abs_size() (width, height) = background.get_abs_size()
print background.get_abs_size() print background.get_abs_size()
background.set_anchor_point(0, 0) #background.set_anchor_point_from_gravity(clutter.GRAVITY_NORTH_WEST)
background.set_anchor_point(int(background.get_width()/3), int(background.get_height()/3))
#background.set_anchor_point_from_gravity(clutter.GRAVITY_CENTER) #background.set_anchor_point_from_gravity(clutter.GRAVITY_CENTER)
background.set_depth(-self.stage.get_width()) background.set_depth(-self.stage.get_width())
print background.get_abs_size() print background.get_abs_size()
background.set_anchor_point_from_gravity(clutter.GRAVITY_NORTH_WEST) #
(width_new, height_new) = background.get_abs_size() (width_new, height_new) = background.get_abs_size()
#width = width * (width / width_new) + width_new #width = width * (width / width_new) + width_new
#height = height * (height / height_new) + height_new #height = height * (height / height_new) + height_new
@ -68,7 +70,7 @@ class GlossMgr:
tmpLabel.set_text("AAA") tmpLabel.set_text("AAA")
tmpLabel.set_font_name(self.currentMenu.font) tmpLabel.set_font_name(self.currentMenu.font)
#Selector bar height is 20% larger than the labels #Selector bar height is 20% larger than the labels
self.selector_bar.set_height( int(tmpLabel.get_height()*1.2) ) self.selector_bar.set_height( int(tmpLabel.get_height()*self.selector_bar.height_percent) )
self.selector_bar.set_menu(self.currentMenu) self.selector_bar.set_menu(self.currentMenu)
tmpLabel = None tmpLabel = None
@ -154,6 +156,7 @@ class GlossMgr:
class MenuSelector(clutter.Texture): class MenuSelector(clutter.Texture):
x_offset = -50 x_offset = -50
height_percent = 1
position_0 = None position_0 = None
def __init__ (self, glossMgr): def __init__ (self, glossMgr):
@ -162,6 +165,7 @@ class MenuSelector(clutter.Texture):
glossMgr.themeMgr.get_texture("selector_bar", glossMgr.stage, self) glossMgr.themeMgr.get_texture("selector_bar", glossMgr.stage, self)
self.set_position(0, self.get_y()) self.set_position(0, self.get_y())
self.x_offset = int(glossMgr.themeMgr.get_value("texture", "selector_bar", "position.x")) self.x_offset = int(glossMgr.themeMgr.get_value("texture", "selector_bar", "position.x"))
self.height_percent = float(glossMgr.themeMgr.get_value("texture", "selector_bar", "height_percent")) / float(100)
#This is a utility function that gets the coordinates of an that has been scaled #This is a utility function that gets the coordinates of an that has been scaled
def get_true_abs_position(self, selectee): def get_true_abs_position(self, selectee):

View File

@ -360,6 +360,10 @@ class ListItem (clutter.Label):
alpha = clutter.Alpha(timeline, clutter.ramp_inc_func) alpha = clutter.Alpha(timeline, clutter.ramp_inc_func)
self.behaviour1 = clutter.BehaviourScale(scale_start=self.currentZoom, scale_end=zoomTo, alpha=alpha) #scale_gravity=clutter.GRAVITY_WEST, self.behaviour1 = clutter.BehaviourScale(scale_start=self.currentZoom, scale_end=zoomTo, alpha=alpha) #scale_gravity=clutter.GRAVITY_WEST,
#self.behaviour1 = clutter.BehaviourScale(x_scale_start=self.currentZoom, y_scale_start=self.currentZoom, x_scale_end=zoomTo, y_scale_end=zoomTo, alpha=alpha) #scale_gravity=clutter.GRAVITY_WEST,
#self.behaviour1 = clutter.BehaviourScale(x_scale_start=1, y_scale_start=1, x_scale_end=1, y_scale_end=1, alpha=alpha) #scale_gravity=clutter.GRAVITY_WEST,
#self.set_scale(zoomTo, zoomTo)
self.set_anchor_point_from_gravity(clutter.GRAVITY_WEST)
self.behaviour1.set_property("scale-gravity", clutter.GRAVITY_WEST) #As at Clutter r1807 you cannot set the gravity on the line above. self.behaviour1.set_property("scale-gravity", clutter.GRAVITY_WEST) #As at Clutter r1807 you cannot set the gravity on the line above.
self.behaviour2 = clutter.BehaviourOpacity(opacity_start=self.currentOpacity, opacity_end=opacityTo, alpha=alpha) self.behaviour2 = clutter.BehaviourOpacity(opacity_start=self.currentOpacity, opacity_end=opacityTo, alpha=alpha)
self.behaviour1.apply(self) self.behaviour1.apply(self)

View File

@ -5,8 +5,8 @@ import os
class VideoController: class VideoController:
def __init__(self, stage): def __init__(self, glossMgr):
self.stage = stage self.stage = glossMgr.stage
self.overlay = None self.overlay = None
self.blackdrop = None self.blackdrop = None
@ -17,7 +17,7 @@ class VideoController:
self.video_texture.set_position(0,0) self.video_texture.set_position(0,0)
self.osd = osd(stage) self.osd = osd(glossMgr)
def on_key_press_event(self, event): def on_key_press_event(self, event):
@ -287,19 +287,25 @@ import time
class osd: class osd:
def __init__(self, stage): def __init__(self, glossMgr):
self.stage = stage self.glossMgr = glossMgr
self.stage = glossMgr.stage
self.timerRunning = False self.timerRunning = False
self.setup_ui()
self.bar_group = clutter.Group() self.bar_group = clutter.Group()
self.background = clutter.Texture()
self.background.set_pixbuf( gtk.gdk.pixbuf_new_from_file("ui/osd_bar3.png") ) #self.background = clutter.Texture()
self.background.set_opacity(255) #self.background.set_pixbuf( gtk.gdk.pixbuf_new_from_file("ui/default/osd_bar3.png") )
self.background.set_width(stage.get_width()) #self.background.set_opacity(255)
#self.background.set_width(stage.get_width())
self.bar_group.add(self.background) self.bar_group.add(self.background)
self.bar_group.show_all() self.bar_group.show_all()
def setup_ui(self):
self.background = self.glossMgr.themeMgr.get_texture("video_osd_bar", self.stage, None)
def enter(self): def enter(self):
self.stage.add(self.bar_group) self.stage.add(self.bar_group)
self.bar_group.show() self.bar_group.show()

View File

@ -38,7 +38,7 @@ class Module:
def begin(self, glossMgr): def begin(self, glossMgr):
uri = "dvd://1" uri = "dvd://1"
self.videoController = VideoController(self.stage) self.videoController = VideoController(glossMgr)
self.video = self.videoController.play_video(uri, self) self.video = self.videoController.play_video(uri, self)
self.isPlaying = True self.isPlaying = True

View File

@ -17,7 +17,7 @@ class Module:
self.glossMgr = glossMgr self.glossMgr = glossMgr
self.setup_ui() self.setup_ui()
self.videoController = VideoController(self.stage) self.videoController = VideoController(glossMgr)
self.dbMgr = dbMgr self.dbMgr = dbMgr
self.isRunning = False self.isRunning = False

View File

@ -10,14 +10,15 @@ class cover_item(clutter.Group):
main_font_size = 22 main_font_size = 22
plot_font_size = 18 plot_font_size = 18
def __init__(self, video, folder_name, cover_size): def __init__(self, glossMgr, video, folder_name, cover_size):
clutter.Group.__init__(self) clutter.Group.__init__(self)
self.width = cover_size self.width = cover_size
self.height = cover_size self.height = cover_size
#Set whether or not this is a folder or a video cover #Set whether or not this is a folder or a video cover
if not folder_name is None: if not folder_name is None:
imagePath = "ui/mv_gallery_folder_sel.png" element = glossMgr.themeMgr.search_docs("video_cover_viewer", "main").childNodes
imagePath = "ui/" + glossMgr.themeMgr.currentTheme + "/" + glossMgr.themeMgr.find_child_value(element, "folder_img_src")
pixbuf = gtk.gdk.pixbuf_new_from_file(imagePath) pixbuf = gtk.gdk.pixbuf_new_from_file(imagePath)
self.isFolder = True self.isFolder = True
else: else:
@ -25,7 +26,8 @@ class cover_item(clutter.Group):
#Check that coverfile exists #Check that coverfile exists
# In the future this will change so that the video is still included with a blank image # In the future this will change so that the video is still included with a blank image
if not os.path.exists(imagePath): if not os.path.exists(imagePath):
imagePath = "ui/mv_gallery_folder_sel.png" element = glossMgr.themeMgr.search_docs("video_cover_viewer", "main").childNodes
imagePath = "ui/" + glossMgr.themeMgr.currentTheme + "/" + glossMgr.themeMgr.find_child_value(element, "video_default_src")
pixbuf = gtk.gdk.pixbuf_new_from_file(imagePath) pixbuf = gtk.gdk.pixbuf_new_from_file(imagePath)
self.isFolder = False self.isFolder = False

View File

@ -17,9 +17,10 @@ class coverViewer(clutter.Group):
update_details = False update_details = False
def __init__(self, stage, width, height, rows, columns): def __init__(self, glossMgr, width, height, rows, columns):
clutter.Group.__init__(self) clutter.Group.__init__(self)
self.stage = stage self.glossMgr = glossMgr
self.stage = glossMgr.stage
self.videoLibrary = [] self.videoLibrary = []
self.textureLibrary = [] self.textureLibrary = []
self.folderLibrary = [] self.folderLibrary = []
@ -72,17 +73,13 @@ class coverViewer(clutter.Group):
self.covers_group.show() self.covers_group.show()
self.covers_group_clip.show() self.covers_group_clip.show()
#self.stage.add(self.current_video_description)
#self.current_video_details.show()
#self.current_video_details.show_all()
def add_video(self, video): def add_video(self, video):
self.videoLibrary.append(video) self.videoLibrary.append(video)
tempTexture = cover_item(video, None, self.cover_size) tempTexture = cover_item(self.glossMgr, video, None, self.cover_size)
self.add_texture_group(tempTexture) self.add_texture_group(tempTexture)
def add_folder(self, folder_name): def add_folder(self, folder_name):
tempTexture = cover_item(None, folder_name, self.cover_size) tempTexture = cover_item(self.glossMgr, None, folder_name, self.cover_size)
self.folderLibrary.append(folder_name) self.folderLibrary.append(folder_name)
self.add_texture_group(tempTexture) self.add_texture_group(tempTexture)
@ -188,6 +185,7 @@ class coverViewer(clutter.Group):
alpha = clutter.Alpha(self.timeline, clutter.ramp_inc_func) alpha = clutter.Alpha(self.timeline, clutter.ramp_inc_func)
self.behaviourNew_scale = clutter.BehaviourScale(scale_start=1, scale_end=self.scaleFactor, alpha=alpha) self.behaviourNew_scale = clutter.BehaviourScale(scale_start=1, scale_end=self.scaleFactor, alpha=alpha)
#self.behaviourNew_scale = clutter.BehaviourScale(x_scale_start=1, y_scale_start=1, x_scale_end=self.scaleFactor, y_scale_end=self.scaleFactor, alpha=alpha)
self.behaviourNew_z = clutter.BehaviourDepth(depth_start=1, depth_end=2, alpha=alpha) self.behaviourNew_z = clutter.BehaviourDepth(depth_start=1, depth_end=2, alpha=alpha)
self.behaviourNew_opacity = clutter.BehaviourOpacity(opacity_start=self.inactiveOpacity, opacity_end=255, alpha=alpha) self.behaviourNew_opacity = clutter.BehaviourOpacity(opacity_start=self.inactiveOpacity, opacity_end=255, alpha=alpha)
@ -286,7 +284,10 @@ class coverViewer(clutter.Group):
return self.textureLibrary[self.currentSelection] return self.textureLibrary[self.currentSelection]
def get_current_video(self): def get_current_video(self):
return self.videoLibrary[self.currentSelection] if self.textureLibrary[self.currentSelection].isFolder:
return None #self.folderLibrary[(self.currentSelection-len(self.folderLibrary))]
else:
return self.videoLibrary[(self.currentSelection-len(self.folderLibrary))]
def get_item_x(self, itemNo): def get_item_x(self, itemNo):
return self.textureLibrary[itemNo] return self.textureLibrary[itemNo]
@ -333,7 +334,12 @@ class coverViewer(clutter.Group):
if not newItem == None: if not newItem == None:
self.select_item(newItem, self.currentSelection) self.select_item(newItem, self.currentSelection)
if self.update_details: if self.update_details:
if not self.textureLibrary[self.currentSelection].isFolder:
self.details_group.set_video_bare(self.videoLibrary[self.currentSelection]) self.details_group.set_video_bare(self.videoLibrary[self.currentSelection])
self.update_details = False self.update_details = False
else:
self.details_group.set_folder(self.folderLibrary[(self.currentSelection-len(self.folderLibrary))])
#self.details_group.clear()

View File

@ -14,30 +14,33 @@ class folderMenu(clutter.Group):
inactiveOpacity = 150 inactiveOpacity = 150
selection_box_src = "ui/vid_folders_select_box.png" selection_box_src = "ui/vid_folders_select_box.png"
def __init__(self, stage, rows, item_size): def __init__(self, glossMgr, rows, item_size):
clutter.Group.__init__(self) clutter.Group.__init__(self)
self.stage = stage self.glossMgr = glossMgr
self.stage = glossMgr.stage
self.max_rows = rows self.max_rows = rows
self.item_size = item_size self.item_size = item_size
self.currentItemNo = None self.currentItemNo = None
"""
self.selector_box = clutter.Texture() self.selector_box = clutter.Texture()
pixbuf = gtk.gdk.pixbuf_new_from_file(self.selection_box_src) pixbuf = gtk.gdk.pixbuf_new_from_file(self.selection_box_src)
self.selector_box.set_pixbuf(pixbuf) self.selector_box.set_pixbuf(pixbuf)
self.selector_box.set_size(item_size, item_size) self.selector_box.set_size(item_size, item_size)
#self.add(self.selector_box) #self.add(self.selector_box)
self.selector_box.show() self.selector_box.show()
"""
self.folderLibrary = [] self.folderLibrary = []
self.viewerLibrary = [] self.viewerLibrary = []
self.folder_group = coverViewer(self.stage, item_size, (item_size*rows), rows, 1) self.folder_group = coverViewer(glossMgr, item_size, (item_size*rows), rows, 1)
self.folder_group.scaleFactor = 1 self.folder_group.scaleFactor = 1
self.folder_group.show() self.folder_group.show()
self.add(self.folder_group) self.add(self.folder_group)
def add_base_dir(self, folderName, cover_viewer): def add_base_dir(self, folderName, cover_viewer):
tempItem = cover_item(None, folderName, self.item_size) tempItem = cover_item(self.glossMgr, None, folderName, self.item_size)
rows = len(self.folderLibrary) rows = len(self.folderLibrary)
x = 0 #Change this later to center it x = 0 #Change this later to center it
y = rows * self.item_size y = rows * self.item_size
@ -152,7 +155,7 @@ class folderMenu(clutter.Group):
) )
self.behaviour_selectorBox_path = clutter.BehaviourPath(alpha, knots) self.behaviour_selectorBox_path = clutter.BehaviourPath(alpha, knots)
self.behaviour_selectorBox_path.apply(self.selector_box) #self.behaviour_selectorBox_path.apply(self.selector_box)
def completeSwitch(self, data, old_viewer): def completeSwitch(self, data, old_viewer):
#self.viewerLibrary[self.currentItemNo].select_first() #self.viewerLibrary[self.currentItemNo].select_first()

View File

@ -82,3 +82,15 @@ class video_details(clutter.Group):
self.plot.set_text(video.plot) self.plot.set_text(video.plot)
self.plot.set_width(self.width) self.plot.set_width(self.width)
def set_folder(self, folder_name):
self.title.set_text("Folder: " + str(folder_name))
self.year.set_text("")
self.director.set_text("")
self.plot.set_text("")
def clear(self):
self.title.set_text("")
self.year.set_text("")
self.director.set_text("")
self.plot.set_text("")

View File

@ -43,7 +43,7 @@ class Module():
self.setup_ui() self.setup_ui()
self.viewerLibrary = [] self.viewerLibrary = []
self.folderLibrary = [] self.folderLibrary = []
self.videoController = VideoController(self.stage) self.videoController = VideoController(glossMgr)
#Setup initial vars #Setup initial vars
self.is_playing = False self.is_playing = False
@ -55,7 +55,7 @@ class Module():
self.baseDir = dbMgr.get_setting("VideoStartupDir") self.baseDir = dbMgr.get_setting("VideoStartupDir")
self.cwd = self.baseDir self.cwd = self.baseDir
self.folder_level = 0 self.folder_level = 0
base_folder_menu = folderMenu(self.stage, self.coverViewerRows, self.folders_cover_size) base_folder_menu = folderMenu(glossMgr, self.coverViewerRows, self.folders_cover_size)
base_folder_menu.set_position(self.foldersPosX, self.foldersPosY) base_folder_menu.set_position(self.foldersPosX, self.foldersPosY)
self.folderLibrary.append(base_folder_menu) self.folderLibrary.append(base_folder_menu)
self.load_base_folders(self.baseDir, base_folder_menu) self.load_base_folders(self.baseDir, base_folder_menu)
@ -110,7 +110,7 @@ class Module():
for dir_entry in new_file_list: for dir_entry in new_file_list:
tempPath = dirPath + "/" + dir_entry tempPath = dirPath + "/" + dir_entry
if os.path.isdir(tempPath) and not ( dir_entry[0] == "."): if os.path.isdir(tempPath) and not ( dir_entry[0] == "."):
tempViewer = coverViewer(self.stage, self.coverViewerWidth, self.coverViewerHeight, self.coverViewerRows, self.coverViewerColumns) tempViewer = coverViewer(self.glossMgr, self.coverViewerWidth, self.coverViewerHeight, self.coverViewerRows, self.coverViewerColumns)
self.loadDir(tempPath, tempViewer) self.loadDir(tempPath, tempViewer)
folder_menu.add_base_dir(dir_entry, tempViewer) folder_menu.add_base_dir(dir_entry, tempViewer)
@ -209,8 +209,12 @@ class Module():
#Do a check to see if the input queue is currently processing #Do a check to see if the input queue is currently processing
# #
if not self.currentViewer.input_queue.is_in_queue(): if not self.currentViewer.input_queue.is_in_queue():
if not video is None:
self.video_details.set_video_bare(video) self.video_details.set_video_bare(video)
self.currentViewer.set_details_update(False, None) self.currentViewer.set_details_update(False, None)
else:
self.video_details.set_folder(self.currentViewer.folderLibrary[(self.currentViewer.currentSelection-len(self.currentViewer.folderLibrary))])
#self.video_details.clear()
else: else:
self.currentViewer.set_details_update(True, self.video_details) self.currentViewer.set_details_update(True, self.video_details)

View File

@ -7,7 +7,7 @@ from xml.dom import minidom
class ThemeMgr: class ThemeMgr:
defaultTheme = "default" defaultTheme = "default"
currentTheme = "default" currentTheme = "default"
currentTheme = "Pear" #currentTheme = "Pear"
def __init__(self, glossMgr): def __init__(self, glossMgr):
self.stage = glossMgr.stage self.stage = glossMgr.stage
@ -30,6 +30,7 @@ class ThemeMgr:
for file in file_list: for file in file_list:
conf_file = dir + "/" + file conf_file = dir + "/" + file
print conf_file
docs.append(minidom.parse(conf_file)) docs.append(minidom.parse(conf_file))
#Filter function for fiding XML files #Filter function for fiding XML files

View File

@ -61,6 +61,8 @@
<texture id="selector_bar"> <texture id="selector_bar">
<image>active_bar.png</image> <image>active_bar.png</image>
<!-- This is a special property of selector bar the sets the height of the bar relative to the menu items its selecting -->
<height_percent>120</height_percent>
<dimensions type="relativeToStage"> <dimensions type="relativeToStage">
<width>40%</width> <width>40%</width>
<height>default</height> <height>default</height>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 517 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

View File

@ -64,6 +64,8 @@
<texture id="selector_bar"> <texture id="selector_bar">
<image>active_bar.png</image> <image>active_bar.png</image>
<!-- This is a special property of selector bar the sets the height of the bar relative to the menu items its selecting -->
<height_percent>100</height_percent>
<dimensions type="relativeToStage"> <dimensions type="relativeToStage">
<width>40%</width> <width>40%</width>
<height>default</height> <height>default</height>

View File

@ -1,13 +1,13 @@
<gloss-theme> <gloss-theme>
<texture id="video_covers_background"> <texture id="video_covers_background">
<image>video_player/cover_bg_long.png</image> <image>video_player/cover_bg_new.png</image>
<dimensions type="relativeToStage"> <dimensions type="relativeToStage">
<width>80%</width> <width>70%</width>
<height>80%</height> <height>80%</height>
</dimensions> </dimensions>
<position type="relativeToStage"> <position type="relativeToStage">
<x>15%</x> <x>24%</x>
<y>15%</y> <y>4%</y>
</position> </position>
</texture> </texture>
@ -24,6 +24,8 @@
</texture> </texture>
<video_cover_viewer id="main"> <video_cover_viewer id="main">
<video_default_src>video_player/video_default.png</video_default_src>
<folder_img_src>video_player/mv_gallery_folder_sel.png</folder_img_src>
<dimensions type="relativeToStage"> <dimensions type="relativeToStage">
<width>60%</width> <width>60%</width>
<height>60%</height> <height>60%</height>
@ -56,4 +58,6 @@
</position> </position>
</video_folder_menu> </video_folder_menu>
</gloss-theme> </gloss-theme>

14
ui/default/video_osd.xml Normal file
View File

@ -0,0 +1,14 @@
<gloss-theme>
<texture id="video_osd_bar">
<image>video_osd/osd_bar3.png</image>
<dimensions type="relativeToStage">
<width>70%</width>
<height>5%</height>
</dimensions>
<position type="relativeToStage">
<x>95%</x>
<y>0</y>
</position>
</texture>
</gloss-theme>

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 732 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 875 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB