56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
#encoding = utf8
|
|
import logging
|
|
|
|
from action_handler.ppt import PPTController
|
|
from eventbus import EventBus
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class PPTAction:
|
|
def __init__(self):
|
|
self.ppt_controller = None
|
|
EventBus().register("ppt_open", self.open)
|
|
EventBus().register("ppt_goto", self.goto)
|
|
EventBus().register("ppt_next", self.goto)
|
|
EventBus().register("ppt_pre", self.goto)
|
|
|
|
def __del__(self):
|
|
EventBus().unregister("ppt_open", self.open)
|
|
EventBus().unregister("ppt_goto", self.goto)
|
|
EventBus().unregister("ppt_next", self.goto)
|
|
EventBus().unregister("ppt_pre", self.goto)
|
|
del self.ppt_controller
|
|
|
|
def open(self, *args, **kwargs):
|
|
path = args[0]
|
|
if path is None or len(path) == 0:
|
|
logger.warning('path is empty')
|
|
return
|
|
if self.ppt_controller is not None:
|
|
del self.ppt_controller
|
|
|
|
self.ppt_controller = PPTController()
|
|
self.ppt_controller.open(path)
|
|
self.ppt_controller.full_screen()
|
|
|
|
def goto(self, *args, **kwargs):
|
|
page = args[0]
|
|
if page is None or self.ppt_controller is None:
|
|
logger.warning('page is none or ppt controller is none')
|
|
return
|
|
|
|
self.ppt_controller.goto_slide(page)
|
|
|
|
def next(self, *args, **kwargs):
|
|
if self.ppt_controller is None:
|
|
logger.warning('page is none or ppt controller is none')
|
|
return
|
|
self.ppt_controller.next_page()
|
|
|
|
def pre(self, *args, **kwargs):
|
|
if self.ppt_controller is None:
|
|
logger.warning('page is none or ppt controller is none')
|
|
return
|
|
self.ppt_controller.pre_page()
|