forked from openlp/openlp
attempt to detect end of pptviewer pre-load if ppt is set to loop until ESC
This commit is contained in:
parent
bc4e4147a7
commit
363b49b490
@ -143,24 +143,23 @@ class MainDisplay(DisplayWidget):
|
||||
if not background_color.isValid():
|
||||
background_color = QtCore.Qt.white
|
||||
splash_image = QtGui.QImage(image_file)
|
||||
initialFrame = QtGui.QImage(
|
||||
self.initialFrame = QtGui.QImage(
|
||||
self.screens.current[u'size'].width(),
|
||||
self.screens.current[u'size'].height(),
|
||||
QtGui.QImage.Format_ARGB32_Premultiplied)
|
||||
QtGui.QImage.Format_ARGB32_Premultiplied)
|
||||
painter_image = QtGui.QPainter()
|
||||
painter_image.begin(initialFrame)
|
||||
painter_image.fillRect(initialFrame.rect(), background_color)
|
||||
painter_image.begin(self.initialFrame)
|
||||
painter_image.fillRect(self.initialFrame.rect(), background_color)
|
||||
painter_image.drawImage(
|
||||
(self.screens.current[u'size'].width() -
|
||||
splash_image.width()) / 2,
|
||||
(self.screens.current[u'size'].height()
|
||||
- splash_image.height()) / 2, splash_image)
|
||||
serviceItem = ServiceItem()
|
||||
serviceItem.bg_image_bytes = image_to_byte(initialFrame)
|
||||
serviceItem.bg_image_bytes = image_to_byte(self.initialFrame)
|
||||
self.webView.setHtml(build_html(serviceItem, self.screen,
|
||||
self.alertTab, self.isLive, None))
|
||||
self.initialFrame = True
|
||||
self.__hideMouse()
|
||||
self.__hideMouse()
|
||||
# To display or not to display?
|
||||
if not self.screen[u'primary']:
|
||||
self.show()
|
||||
@ -422,7 +421,7 @@ class MainDisplay(DisplayWidget):
|
||||
"""
|
||||
log.debug(u'buildHtml')
|
||||
self.webLoaded = False
|
||||
self.initialFrame = False
|
||||
self.initialFrame = None
|
||||
self.serviceItem = serviceItem
|
||||
background = None
|
||||
# We have an image override so keep the image till the theme changes
|
||||
|
@ -84,7 +84,7 @@ class PptviewController(PresentationController):
|
||||
dllpath = os.path.join(self.plugin.pluginManager.basepath,
|
||||
u'presentations', u'lib', u'pptviewlib', u'pptviewlib.dll')
|
||||
self.process = cdll.LoadLibrary(dllpath)
|
||||
#self.process.SetDebug(1)
|
||||
self.process.SetDebug(1)
|
||||
|
||||
def kill(self):
|
||||
"""
|
||||
|
@ -404,7 +404,7 @@ DllExport int GetCurrentSlide(int id)
|
||||
// Take a step forwards through the show
|
||||
DllExport void NextStep(int id)
|
||||
{
|
||||
DEBUG("NextStep:%d\n", id);
|
||||
DEBUG("NextStep:%d (%d)\n", id, pptviewobj[id].currentSlide);
|
||||
if(pptviewobj[id].currentSlide>pptviewobj[id].slideCount)
|
||||
return;
|
||||
PostMessage(pptviewobj[id].hWnd2, WM_MOUSEWHEEL, MAKEWPARAM(0, -WHEEL_DELTA), 0);
|
||||
@ -413,7 +413,7 @@ DllExport void NextStep(int id)
|
||||
// Take a step backwards through the show
|
||||
DllExport void PrevStep(int id)
|
||||
{
|
||||
DEBUG("PrevStep:%d\n", id);
|
||||
DEBUG("PrevStep:%d (%d)\n", id, pptviewobj[id].currentSlide);
|
||||
PostMessage(pptviewobj[id].hWnd2, WM_MOUSEWHEEL, MAKEWPARAM(0, WHEEL_DELTA), 0);
|
||||
}
|
||||
|
||||
@ -630,7 +630,7 @@ LRESULT CALLBACK CwpProc(int nCode, WPARAM wParam, LPARAM lParam){
|
||||
if((id>=0)&&(nCode==HC_ACTION))
|
||||
{
|
||||
if(cwp->message==WM_USER+22)
|
||||
{
|
||||
{
|
||||
if(pptviewobj[id].state != PPT_LOADED)
|
||||
{
|
||||
if((pptviewobj[id].currentSlide>0)
|
||||
@ -651,6 +651,13 @@ LRESULT CALLBACK CwpProc(int nCode, WPARAM wParam, LPARAM lParam){
|
||||
else
|
||||
{
|
||||
pptviewobj[id].currentSlide = cwp->wParam - 255;
|
||||
if(pptviewobj[id].state != PPT_LOADED)
|
||||
{
|
||||
if(pptviewobj[id].currentSlide<pptviewobj[id].slideCount)
|
||||
{
|
||||
pptviewobj[id].state = PPT_LOADED;
|
||||
}
|
||||
}
|
||||
if(pptviewobj[id].currentSlide>pptviewobj[id].slideCount)
|
||||
pptviewobj[id].slideCount = pptviewobj[id].currentSlide;
|
||||
}
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user