This commit is contained in:
rimach 2011-09-28 22:54:43 +02:00
parent d88f437ffc
commit c299efab1a
4 changed files with 26 additions and 10 deletions

View File

@ -76,6 +76,11 @@ class MediaController(object):
QtCore.SIGNAL(u'media_unblank'), self.video_unblank)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'media_overrideApi'), self.override_api)
# Signals for background video
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'songs_hide'), self.video_hide)
QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL(u'songs_unblank'), self.video_unblank)
def register_controllers(self, controller):
"""
@ -275,11 +280,14 @@ class MediaController(object):
'Unsupported File')))
return False
# now start playing
if self.video_play([controller]):
if self.video_play([controller], False):
self.video_pause([controller])
self.video_seek([controller, [0]])
if controller.isLive and QtCore.QSettings().value(u'general/auto unblank',
QtCore.QVariant(False)).toBool():
if controller.isLive and \
(QtCore.QSettings().value(u'general/auto unblank',
QtCore.QVariant(False)).toBool() or \
controller.media_info.is_background == True) or \
controller.isLive == False:
self.video_play([controller])
self.set_controls_visible(controller, True)
log.debug(u'use %s controller' % self.curDisplayMediaAPI[display])
@ -332,7 +340,7 @@ class MediaController(object):
# no valid api found
return False
def video_play(self, msg):
def video_play(self, msg, status=True):
"""
Responds to the request to play a loaded video
"""
@ -345,7 +353,8 @@ class MediaController(object):
controller.hideMenu.defaultAction().trigger()
if not self.curDisplayMediaAPI[display].play(display):
return False
self.curDisplayMediaAPI[display].set_visible(display, True)
if status:
self.curDisplayMediaAPI[display].set_visible(display, True)
# Start Timer for ui updates
if not self.timer.isActive():
self.timer.start()
@ -452,6 +461,10 @@ class MediaController(object):
if self.curDisplayMediaAPI[display].play(display):
self.curDisplayMediaAPI[display] \
.set_visible(display, True)
# Start Timer for ui updates
if not self.timer.isActive():
self.timer.start()
def get_audio_extensions_list(self):
audio_list = []

View File

@ -39,7 +39,7 @@ log = logging.getLogger(__name__)
class PhononAPI(MediaAPI):
"""
A specialised version of the MediaAPI class,
A specialised version of the MediaAPI class,
which provides a Phonon display.
"""
@ -170,7 +170,6 @@ class PhononAPI(MediaAPI):
int(display.mediaObject.totalTime()/1000)
controller.seekSlider.setMaximum(controller.media_info.length*1000)
self.state = MediaState.Playing
#self.set_visible(display, True)
return True
else:
return False

View File

@ -115,8 +115,9 @@ video_js = u"""
current_video = '2';
else
current_video = '1';
show_video('play');
show_video('load');
show_video('play');
show_video('setVisible',null,null,null,'visible');
break;
case 'close':
show_video('stop');

View File

@ -539,12 +539,15 @@ class SlideController(Controller):
if item.is_capable(ItemCapabilities.CanEdit) and item.from_plugin:
self.toolbar.makeWidgetsVisible(self.songEditList)
elif item.is_media():
self.toolbar.setVisible(False)
#self.toolbar.setVisible(False)
self.mediabar.setVisible(True)
self.previousItem.setVisible(False)
self.nextItem.setVisible(False)
if not item.is_media():
# Work-around for OS X, hide and then show the toolbar
# See bug #791050
self.toolbar.show()
self.previousItem.setVisible(True)
self.nextItem.setVisible(True)
self.toolbar.show()
def refreshServiceItem(self):