forked from openlp/openlp
Open PowerPoint hidden so the main application window isn't visible.
This commit is contained in:
parent
c555c927e5
commit
23ddd918d1
@ -83,9 +83,9 @@ class PowerpointController(PresentationController):
|
|||||||
log.debug('start_process')
|
log.debug('start_process')
|
||||||
if not self.process:
|
if not self.process:
|
||||||
self.process = Dispatch('PowerPoint.Application')
|
self.process = Dispatch('PowerPoint.Application')
|
||||||
self.process.Visible = True
|
#self.process.Visible = True
|
||||||
# ppWindowMinimized = 2
|
# ppWindowMinimized = 2
|
||||||
self.process.WindowState = 2
|
#self.process.WindowState = 2
|
||||||
|
|
||||||
def kill(self):
|
def kill(self):
|
||||||
"""
|
"""
|
||||||
@ -132,21 +132,12 @@ class PowerpointDocument(PresentationDocument):
|
|||||||
"""
|
"""
|
||||||
log.debug('load_presentation')
|
log.debug('load_presentation')
|
||||||
try:
|
try:
|
||||||
if not self.controller.process or not self.controller.process.Visible:
|
if not self.controller.process:
|
||||||
self.controller.start_process()
|
self.controller.start_process()
|
||||||
self.controller.process.Presentations.Open(self.file_path, False, False, True)
|
self.controller.process.Presentations.Open(os.path.normpath(self.file_path), False, False, False)
|
||||||
self.presentation = self.controller.process.Presentations(self.controller.process.Presentations.Count)
|
self.presentation = self.controller.process.Presentations(self.controller.process.Presentations.Count)
|
||||||
self.create_thumbnails()
|
self.create_thumbnails()
|
||||||
self.create_titles_and_notes()
|
self.create_titles_and_notes()
|
||||||
# Powerpoint 2010 and 2013 pops up when loading a file, so we minimize it again
|
|
||||||
if float(self.presentation.Application.Version) >= 14.0:
|
|
||||||
try:
|
|
||||||
# ppWindowMinimized = 2
|
|
||||||
self.presentation.Application.WindowState = 2
|
|
||||||
except (AttributeError, pywintypes.com_error) as e:
|
|
||||||
log.exception('Failed to minimize main powerpoint window')
|
|
||||||
log.exception(e)
|
|
||||||
trace_error_handler(log)
|
|
||||||
# Make sure powerpoint doesn't steal focus
|
# Make sure powerpoint doesn't steal focus
|
||||||
Registry().get('main_window').activateWindow()
|
Registry().get('main_window').activateWindow()
|
||||||
return True
|
return True
|
||||||
@ -203,10 +194,6 @@ class PowerpointDocument(PresentationDocument):
|
|||||||
"""
|
"""
|
||||||
log.debug('is_loaded')
|
log.debug('is_loaded')
|
||||||
try:
|
try:
|
||||||
if not self.controller.process.Visible:
|
|
||||||
return False
|
|
||||||
if self.controller.process.Windows.Count == 0:
|
|
||||||
return False
|
|
||||||
if self.controller.process.Presentations.Count == 0:
|
if self.controller.process.Presentations.Count == 0:
|
||||||
return False
|
return False
|
||||||
except (AttributeError, pywintypes.com_error) as e:
|
except (AttributeError, pywintypes.com_error) as e:
|
||||||
@ -321,7 +308,13 @@ class PowerpointDocument(PresentationDocument):
|
|||||||
except win32ui.error:
|
except win32ui.error:
|
||||||
dpi = 96
|
dpi = 96
|
||||||
size = ScreenList().current['size']
|
size = ScreenList().current['size']
|
||||||
|
try:
|
||||||
ppt_window = self.presentation.SlideShowSettings.Run()
|
ppt_window = self.presentation.SlideShowSettings.Run()
|
||||||
|
except (AttributeError, pywintypes.com_error) as e:
|
||||||
|
log.exception('Caught exception while in get_slide_number')
|
||||||
|
log.exception(e)
|
||||||
|
trace_error_handler(log)
|
||||||
|
self.show_error_msg()
|
||||||
if not ppt_window:
|
if not ppt_window:
|
||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
@ -332,15 +325,6 @@ class PowerpointDocument(PresentationDocument):
|
|||||||
except AttributeError as e:
|
except AttributeError as e:
|
||||||
log.exception('AttributeError while in start_presentation')
|
log.exception('AttributeError while in start_presentation')
|
||||||
log.exception(e)
|
log.exception(e)
|
||||||
# Powerpoint 2010 and 2013 pops up when starting a file, so we minimize it again
|
|
||||||
if float(self.presentation.Application.Version) >= 14.0:
|
|
||||||
try:
|
|
||||||
# ppWindowMinimized = 2
|
|
||||||
self.presentation.Application.WindowState = 2
|
|
||||||
except (AttributeError, pywintypes.com_error) as e:
|
|
||||||
log.exception('Failed to minimize main powerpoint window')
|
|
||||||
log.exception(e)
|
|
||||||
trace_error_handler(log)
|
|
||||||
# Make sure powerpoint doesn't steal focus
|
# Make sure powerpoint doesn't steal focus
|
||||||
Registry().get('main_window').activateWindow()
|
Registry().get('main_window').activateWindow()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user