forked from openlp/openlp
Fixes for PDF DPI Detection
This commit is contained in:
parent
5e9d9a3cd0
commit
a82a13d2ed
@ -495,14 +495,14 @@ class SlideController(DisplayController, RegistryProperties):
|
|||||||
self.on_theme_display(False)
|
self.on_theme_display(False)
|
||||||
self.on_hide_display(False)
|
self.on_hide_display(False)
|
||||||
|
|
||||||
def service_previous(self):
|
def service_previous(self, field=None):
|
||||||
"""
|
"""
|
||||||
Live event to select the previous service item from the service manager.
|
Live event to select the previous service item from the service manager.
|
||||||
"""
|
"""
|
||||||
self.keypress_queue.append(ServiceItemAction.Previous)
|
self.keypress_queue.append(ServiceItemAction.Previous)
|
||||||
self._process_queue()
|
self._process_queue()
|
||||||
|
|
||||||
def service_next(self):
|
def service_next(self, field=None):
|
||||||
"""
|
"""
|
||||||
Live event to select the next service item from the service manager.
|
Live event to select the next service item from the service manager.
|
||||||
"""
|
"""
|
||||||
|
@ -204,19 +204,19 @@ class PdfDocument(PresentationDocument):
|
|||||||
log.debug(' '.join(e.cmd))
|
log.debug(' '.join(e.cmd))
|
||||||
log.debug(e.output)
|
log.debug(e.output)
|
||||||
# Extract the pdf resolution from output, the format is " Size: x: <width>, y: <height>"
|
# Extract the pdf resolution from output, the format is " Size: x: <width>, y: <height>"
|
||||||
width = 0
|
width = 0.0
|
||||||
height = 0
|
height = 0.0
|
||||||
for line in runlog.splitlines():
|
for line in runlog.splitlines():
|
||||||
try:
|
try:
|
||||||
width = int(re.search('.*Size: x: (\d+\.?\d*), y: \d+.*', line.decode()).group(1))
|
width = float(re.search('.*Size: x: (\d+\.?\d*), y: \d+.*', line.decode()).group(1))
|
||||||
height = int(re.search('.*Size: x: \d+\.?\d*, y: (\d+\.?\d*).*', line.decode()).group(1))
|
height = float(re.search('.*Size: x: \d+\.?\d*, y: (\d+\.?\d*).*', line.decode()).group(1))
|
||||||
break
|
break
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
continue
|
||||||
# Calculate the ratio from pdf to screen
|
# Calculate the ratio from pdf to screen
|
||||||
if width > 0 and height > 0:
|
if width > 0 and height > 0:
|
||||||
width_ratio = size.right() / float(width)
|
width_ratio = size.right() / width
|
||||||
height_ratio = size.bottom() / float(height)
|
height_ratio = size.bottom() / height
|
||||||
# return the resolution that should be used. 72 is default.
|
# return the resolution that should be used. 72 is default.
|
||||||
if width_ratio > height_ratio:
|
if width_ratio > height_ratio:
|
||||||
return int(height_ratio * 72)
|
return int(height_ratio * 72)
|
||||||
|
@ -122,7 +122,9 @@ class PresentationDocument(object):
|
|||||||
a file, e.g. thumbnails
|
a file, e.g. thumbnails
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
|
if os.path.exists(self.get_thumbnail_folder()):
|
||||||
shutil.rmtree(self.get_thumbnail_folder())
|
shutil.rmtree(self.get_thumbnail_folder())
|
||||||
|
if os.path.exists(self.get_temp_folder()):
|
||||||
shutil.rmtree(self.get_temp_folder())
|
shutil.rmtree(self.get_temp_folder())
|
||||||
except OSError:
|
except OSError:
|
||||||
log.exception('Failed to delete presentation controller files')
|
log.exception('Failed to delete presentation controller files')
|
||||||
|
Loading…
Reference in New Issue
Block a user