From 3b10559af5652a767110787c05fbf7ee121b1fc3 Mon Sep 17 00:00:00 2001 From: Jonathan Corwin Date: Sat, 17 Oct 2009 19:56:31 +0100 Subject: [PATCH] Get slide previews in impress working --- openlp/plugins/presentations/lib/impresscontroller.py | 10 ++++++---- openlp/plugins/presentations/lib/messagelistener.py | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/openlp/plugins/presentations/lib/impresscontroller.py b/openlp/plugins/presentations/lib/impresscontroller.py index c0d02447e..219e8cec1 100644 --- a/openlp/plugins/presentations/lib/impresscontroller.py +++ b/openlp/plugins/presentations/lib/impresscontroller.py @@ -129,6 +129,7 @@ class ImpressController(PresentationController): 0, properties) self.presentation = self.document.getPresentation() self.presentation.Display = self.plugin.render_manager.current_display + 1 + self.controller = None except: log.exception(u'Failed to load presentation') return @@ -216,8 +217,7 @@ class ImpressController(PresentationController): self.document = None def is_loaded(self): - if self.presentation is None or self.document is None \ - or self.controller is None: + if self.presentation is None or self.document is None: return False try: if self.document.getPresentation() is None: @@ -229,6 +229,8 @@ class ImpressController(PresentationController): def is_active(self): if not self.is_loaded(): return False + if self.controller is None: + return False return self.controller.isRunning() and self.controller.isActive() def unblank_screen(self): @@ -241,7 +243,7 @@ class ImpressController(PresentationController): self.controller.deactivate() def start_presentation(self): - if not self.controller.isRunning(): + if self.controller is None or not self.controller.isRunning(): self.presentation.start() self.controller = self.desktop.getCurrentComponent().Presentation.getController() else: @@ -252,7 +254,7 @@ class ImpressController(PresentationController): return self.controller.getCurrentSlideIndex() def get_slide_count(self): - return self.controller.getSlideCount() + return self.document.getDrawPages().getCount() def goto_slide(self, slideno): self.controller.gotoSlideIndex(slideno-1) diff --git a/openlp/plugins/presentations/lib/messagelistener.py b/openlp/plugins/presentations/lib/messagelistener.py index d2a29f5e2..882ec2fd2 100644 --- a/openlp/plugins/presentations/lib/messagelistener.py +++ b/openlp/plugins/presentations/lib/messagelistener.py @@ -82,7 +82,7 @@ class MessageListener(object): def slide(self, message): self.activate() if message is not None: - self.controller.goto_slide(message[0]) + self.controller.goto_slide(message[0]+1) self.controller.slidenumber = self.controller.get_slide_number() def first(self, message):