# -*- coding: euc-kr -*- import config, runtime, utils, os from roxiadebug import * class SlideShow(object): def __init__(self): self.index = 0 self.ScreenSaver = None self.ScreenSaverBg = None self.interval = 10000 self.list = '' self.list_n = 0 self.timer = None def Start(self, interval, slideshow_list): #print "[yylee debug] slide show start" ################################################# # 향후, Gallery에서 Select한 파일 리스트를 가져오는 함수로 변경해 주어야 함. #self.list = utils.get_file_lists(config.ScreenSaverDir) self.list = slideshow_list ################################################# self.list_n = len(self.list) if self.list_n == 0: return self.timer = None self.interval = interval runtime.evas.use_transparency(False) self.ShowPaper() return True def show(self): #print "[yylee debug] slide show show" pass def destroy(self): #print "[yylee debug] slide show destroy" pass def ShowPaper(self): import uiconfig if self.ScreenSaver != None: self.ScreenSaver.hide() self.ScreenSaver.free() self.ScreenSaver = None if self.ScreenSaverBg != None: self.ScreenSaverBg.hide() self.ScreenSaverBg.free() self.ScreenSaverBg = None if self.index > len(self.list)-1: self.index = 0 image_name = self.list[self.index] Paper_name = config.ScreenSaverDir + image_name if os.access(Paper_name, os.R_OK): self.ScreenSaver = utils.put_image(Paper_name, (0,0)) utils.image_sized(self.ScreenSaver, (0,0), (480,272)) runtime.evas.render_now() #self.ScreenSaver.show() else: self.ScreenSaverBg = utils.put_image_sized(uiconfig.depth_bg_image, (0,0), (480,272)) self.ScreenSaver = utils.put_image_centered(uiconfig.ico_image_error, (480/2,272/2)) runtime.evas.render_now() self.index += 1 if self.index >= self.list_n: self.index = 0 self.timer = utils.Timer(self.interval, self.ShowPaper) #self.timer = utils.Timer(config.SlideshowInterval[setting.slideshow_interval], self.ShowPaper) def Stop(self): #print "[yylee debug] slide show stop" self.timer = None if self.ScreenSaver != None: self.ScreenSaver.hide() self.ScreenSaver.free() self.ScreenSaver = None if self.ScreenSaverBg != None: self.ScreenSaverBg.hide() self.ScreenSaverBg.free() self.ScreenSaverBg = None slideshow = SlideShow()